Commit graph

14 commits

Author SHA1 Message Date
4f786dd44b feat(simulations): composant clavier caractères spéciaux français 2026-04-20 23:37:58 +03:00
e449661ee0 feat(simulations): afficher la consigne du sujet au-dessus de la textarea 2026-04-20 23:15:13 +03:00
b356bc7109 feat(simulations): exposer sujet dans useSimulation + composant SujetDisplay 2026-04-20 23:09:35 +03:00
e130d3792e feat(production): exposer SujetData dans Production + FTD-21 persistance session 2026-04-20 23:05:01 +03:00
fb3de2865f fix(report): aligner types sur backend — note→score, exercices string[], supprimer Exercice 2026-04-20 06:01:29 +03:00
47d5ec9524 feat(simulations): RapportPage avec floutage conditionnel — Sprint 3 étape 15 2026-04-20 03:46:18 +03:00
1dbca24c35 fix(report): aligner payloads corrections/ee et eo sur contrat backend réel 2026-04-20 03:45:52 +03:00
8450265449 feat(sprint-0.5-bis): AppLayout + primitives UI + refonte pages
- AppLayout (sidebar fixe, drawer mobile, BottomNav)
- MobileHeader sticky + Sidebar avec verrouillage hasAccess()
- Primitives src/shared/ui/ : Button, Card, Badge
- SimulationPage + DashboardPage : suppression headers internes
- TaskSelector : Card interactive + Badge EE/EO + eyebrow
- router.tsx : layout routes + ComingSoon inline
2026-04-20 02:37:19 +03:00
997f39bd33 feat(simulations): useSimulation hook + TaskSelector + SimulationForm + SimulationPage + route (Sprint 3 étape 14)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-20 00:08:34 +03:00
bf778a5a4d feat(dashboard): PaywallBanner + DashboardPage conditionnel (Sprint 1 étape 5) 2026-04-18 02:50:34 +03:00
464eb27f1e feat(auth): LoginPage + RegisterPage (Sprint 1 étape 3) 2026-04-18 02:13:08 +03:00
38777796aa feat(auth): useAuth + ProtectedRoute + signUp dans auth-client (Sprint 1 étape 2) 2026-04-18 02:09:46 +03:00
107a37d197 feat(entities/user): PlanStatus + getPlanStatus + hook usePlan (Sprint 1 étape 1)
Fondations data plan utilisateur pour le dashboard conditionnel :
- entities/user/types.ts : interface PlanStatus (plan, permissions, simulations_used/remaining, plan_expires_at)
- entities/user/api.ts : getPlanStatus() via apiFetch<PlanStatus>('/plans/status')
- features/dashboard/hooks/usePlan.ts : useQuery + PLAN_QUERY_KEY + staleTime 5 min

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-18 02:00:12 +03:00
7dfd0df6b3 feat(design-system): page /design-system dev-only — palette live + composants (Sprint 0.5 étape 7) 2026-04-18 01:25:54 +03:00