(frontend) set up Vite-based frontend project

Chose Vite for static output efficiency, aligning with project needs.

All API interactions are currently unauthenticated. SSO support
planned soon, using ProConnect.

UX is minimalistic, and showcases the core idea.

Components introduced:
* AppProvider
* Select and TextArea Rhf inputs

API hooks introduced:
* useGeneratePDF, generates a PDF, and downloads it in the client.
* useTemplates, fetches available templates to populate Select options.
This commit is contained in:
Lebaud Antoine
2024-01-10 15:07:05 +01:00
parent 62df0524ac
commit 312a680b66
41 changed files with 6926 additions and 3 deletions

38
src/frontend/package.json Normal file
View File

@@ -0,0 +1,38 @@
{
"name": "frontend",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"preview": "vite preview",
"build-theme": "cunningham -g css -o src"
},
"dependencies": {
"@hookform/resolvers": "3.3.4",
"@openfun/cunningham-react": "2.4.0",
"@tanstack/react-query": "5.17.10",
"@tanstack/react-query-devtools": "5.17.10",
"axios": "1.6.5",
"downloadjs": "1.4.7",
"react": "18.2.0",
"react-dom": "18.2.0",
"react-hook-form": "7.49.3",
"yup": "1.3.3"
},
"devDependencies": {
"@types/react": "18.2.47",
"@types/react-dom": "18.2.18",
"@typescript-eslint/eslint-plugin": "6.18.1",
"@typescript-eslint/parser": "6.18.1",
"@vitejs/plugin-react": "4.2.1",
"eslint": "8.56.0",
"eslint-plugin-react-hooks": "4.6.0",
"eslint-plugin-react-refresh": "0.4.5",
"sass": "1.69.7",
"typescript": "5.3.3",
"vite": "5.0.11"
}
}