No description
Find a file
Hermann_Kitio 4005673ae8 feat(ui-polish): sidebar icons + topbar + dashboard redesign
- Sidebar: lucide-react icons, lock on gated items, upgrade badge on "Mon plan", user footer with avatar initials + plan label, "EX|PRIA" logo header
- Topbar: sticky with backdrop-blur, breadcrumb via centralized route-titles.ts, search placeholder, keyboard shortcuts + notifications icons
- Dashboard: split into Free/Standard/Premium views (ARCHITECTURE.md §3 aligned)
- NclcHero: NCLC display + gauge 5→10 + SVG score ring
- StatCards: simulations remaining + NCLC estimé + dernier score with delta
- RecentSimulations: 3 latest with NCLC badge + chevron nav
- NextStepCard: static recommendation per plan
- PaywallBanner: full-width redesign + fixed dead Boréal tokens
- Removed orphan MobileHeader.tsx (0 consumers)

Typecheck: OK · Tests: 122/122 

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-25 00:52:02 +03:00
.cursor/skills/frontend-design feat(auth): useAuth + ProtectedRoute + signUp dans auth-client (Sprint 1 étape 2) 2026-04-18 02:09:46 +03:00
.github ci: env vars factices pour tests CI 2026-04-23 03:23:23 +03:00
design-reference feat(auth): useAuth + ProtectedRoute + signUp dans auth-client (Sprint 1 étape 2) 2026-04-18 02:09:46 +03:00
docs feat(ui-polish): sidebar icons + topbar + dashboard redesign 2026-04-25 00:52:02 +03:00
public chore(cleanup): retirer assets orphelins du boilerplate Vite 2026-04-17 16:54:39 +03:00
src feat(ui-polish): sidebar icons + topbar + dashboard redesign 2026-04-25 00:52:02 +03:00
.env.example chore(scaffold): compléter .env.example (T2_LIVE, SENTRY) + ignorer .claude/ 2026-04-17 17:56:50 +03:00
.gitignore feat(auth): useAuth + ProtectedRoute + signUp dans auth-client (Sprint 1 étape 2) 2026-04-18 02:09:46 +03:00
.prettierrc chore(tooling): ajouter .prettierrc + intégrer eslint-config-prettier 2026-04-17 17:55:45 +03:00
components.json feat(design-system): Button + Badge shadcn remappés tokens Direction H (Sprint 0.5 étape 4) 2026-04-18 00:56:13 +03:00
eslint.config.js chore(tooling): ajouter .prettierrc + intégrer eslint-config-prettier 2026-04-17 17:55:45 +03:00
index.html feat(design-system): reskin Charcoal — tokens dark-default + sidebar navy permanent 2026-04-24 23:09:15 +03:00
package-lock.json feat(simulations): RapportPage avec floutage conditionnel — Sprint 3 étape 15 2026-04-20 03:46:18 +03:00
package.json feat(simulations): RapportPage avec floutage conditionnel — Sprint 3 étape 15 2026-04-20 03:46:18 +03:00
README.md ci(github): workflow typecheck/test/audit + README projet 2026-04-17 18:04:22 +03:00
tsconfig.app.json chore(scaffold): activer TypeScript strict, alias @ et script typecheck 2026-04-17 16:13:18 +03:00
tsconfig.json feat: initialisation projet React + Vite + TypeScript + Tailwind 2026-04-16 06:24:22 +03:00
tsconfig.node.json feat: initialisation projet React + Vite + TypeScript + Tailwind 2026-04-16 06:24:22 +03:00
vite.config.ts chore(scaffold): installer deps runtime/dev + configurer Vitest 2026-04-17 16:20:54 +03:00

Expria Frontend

Frontend SaaS pour la préparation au TCF Canada. SPA React + Vite, déploiement Cloudflare Pages.

Stack

React 19 · Vite 8 · TypeScript 6 · Tailwind 4 · React Router 7 · TanStack Query 5 · Supabase Auth · Vitest.

Détails et versions : docs/adr/006-stack-versions-2026.md.

Prérequis

  • Node.js 22 LTS
  • npm 10+

Installation

npm install
cp .env.example .env
# Remplir .env avec tes valeurs Supabase + URL backend

Commandes

Commande Rôle
npm run dev Lance le serveur de dev Vite (HMR)
npm run build Build de production
npm run typecheck tsc --noEmit
npm run lint ESLint
npm run test Vitest (run unique)
npm run test:watch Vitest (watch mode)
npm run format Formate tout via Prettier
npm run format:check Vérifie le formatage sans écrire

Variables d'environnement

Voir .env.example. Le démarrage échoue avec un message clair si une variable requise manque (validation Zod dans src/shared/config/env.ts).

Structure du code

Voir docs/ARCHITECTURE.md §3.

Architecture FSD : app/ (entry) · entities/ (métier) · features/ (UI) · shared/ (code réutilisable).

Documentation

Document Contenu
docs/ARCHITECTURE.md Architecture complète, flux, codes d'erreur
docs/DEVELOPMENT_PRINCIPLES.md Règles de dev, conventions, workflow
docs/ONBOARDING.md Guide dev (démarrage, outils)
docs/SECURITY.md Patterns sécurité + trous identifiés
docs/adr/ Architecture Decision Records

CI

GitHub Actions : lint, format:check, typecheck, test, npm audit --audit-level=high. Voir .github/workflows/ci.yml.

Licence

Propriétaire — Expria.