mirror of
https://github.com/R0m1k3/CollectFlow.git
synced 2026-10-11 17:26:32 +02:00
feat(ui): lot 2 — socle visuel, menu regroupé et composants communs
Thème - Clair par défaut ; les classes dark: suivent le bouton de thème (et non plus le réglage du système) ; animations tw-animate-css enfin importées. - Couleurs shadcn branchées sur les variables (survols des menus visibles), libellés gris au contraste AA dans les deux thèmes, fond plein pour le menu et l'en-tête. Composants partagés (src/components/ui) - PageHeader, Card/Field, StatCard, Badge/DeltaBadge/StoreBadge/GammeBadge, Tabs/Segmented/useUrlTab, Select/SearchInput, EmptyState/ErrorState/ Skeleton, Tooltip/Terme (glossaire), toast et confirmer, Pagination, DataTable (recherche, filtres, tri, pagination, export, totaux). - Sources uniques : magasins, gammes (avec leur sens), glossaire, seuils de marge, export Excel. Navigation - Menu groupé (Au quotidien / Analyses / Suivi / Administration), déplié par défaut, libellés en français. - En-tête : nom de la page, thème, menu du compte avec le vrai nom, la hauteur des lignes de la Grille et la déconnexion. La recherche globale, qui ne filtrait que la Grille, est retirée. - Page Historique (sessions + exports) ; /snapshots et /exports y redirigent. - Squelettes de chargement au lieu de la fenêtre plein écran, pages d'erreur et « introuvable » en français, arrivée sur l'Accueil après connexion. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01AcA129WzGTH6zxPHFBGWmn
This commit is contained in:
47 files changed
+2004
-272
No files matched your search
@@ -270,3 +270,37 @@ Règle commune à chaque page :
|
||||
- **Colonnes Qlik** : non modifié. `metricsByMonth` sert à la courbe « nombre de magasins vendeurs ».
|
||||
- **Carte KPI du tableau de bord** : non modifiée. La ligne « Hier / N-1 » est une comparaison voulue, pas un doublon.
|
||||
- **Préchauffage après la synchro** : reporté. L'invalidation suffit, la première visite recharge.
|
||||
|
||||
## Suivi — Lot 2 réalisé
|
||||
|
||||
- **Thème** :
|
||||
- clair par défaut ; les classes `dark:` suivent le bouton de thème ;
|
||||
- animations (`tw-animate-css`) réellement importées ;
|
||||
- couleurs shadcn branchées sur les variables ;
|
||||
- libellés gris au contraste AA dans les deux thèmes ;
|
||||
- fond plein pour le menu et l'en-tête (le flou ne servait à rien).
|
||||
- **Composants partagés**, dans `src/components/ui/` :
|
||||
- `PageHeader`, `Card`, `Field`, `StatCard` ;
|
||||
- `Badge`, `DeltaBadge`, `StoreBadge`, `GammeBadge` ;
|
||||
- `Tabs`, `Segmented`, `useUrlTab` ;
|
||||
- `Select`, `SearchInput`, `Input` ;
|
||||
- `EmptyState`, `ErrorState`, `Skeleton`, `PageSkeleton` ;
|
||||
- `Tooltip`, `Terme` (glossaire) ;
|
||||
- `toast` et `confirmer` (`feedback.tsx`) ;
|
||||
- `Pagination`, `DataTable`.
|
||||
- **Sources uniques** :
|
||||
- `lib/magasins.ts` (noms des magasins) ;
|
||||
- `lib/gammes.ts` (A à Z, avec leur sens et leurs couleurs) ;
|
||||
- `lib/glossaire.ts` ;
|
||||
- `lib/marge.ts` (seuils 40 / 25 %, ceux de la Grille) ;
|
||||
- `lib/export-excel.ts` (export unique, via exceljs).
|
||||
- **Navigation** :
|
||||
- menu groupé (Au quotidien / Analyses / Suivi / Administration), déplié par défaut, libellés en français ;
|
||||
- en-tête : nom de la page, thème, menu du compte (vrai nom, hauteur des lignes de la Grille pour tous, déconnexion) ;
|
||||
- la recherche globale, qui ne filtrait que la Grille, est retirée.
|
||||
- **Historique** : nouvelle page `/historique` (sessions et exports), et redirection des anciennes adresses `/snapshots` et `/exports`. Les deux onglets sont visibles par tous : chacun n'y voit que ses propres enregistrements.
|
||||
- **Chargements et erreurs** :
|
||||
- squelettes de page au lieu de la fenêtre plein écran ;
|
||||
- pages d'erreur (`error.tsx`) et « page introuvable » en français ;
|
||||
- après connexion, arrivée sur l'Accueil, comme pour `/`.
|
||||
- **Écart** : les en-têtes Excel de la page Stocks (CODEIN, GENCODE, QTE, CODMV, avec les codes 503 / 412) **ne seront pas renommés**. C'est vraisemblablement un format d'import de régularisation dans FF.
|
||||
Reference in new issue
Block a user