feat: date de derniere entree en stock par magasin dans le tooltip des badges

This commit is contained in:
Michael committed 2026-05-26 15:57:16 +02:00
1 parent 989307bf2f
commit cd7b87aef8
4 files changed
+49 -14

No files matched your search

+26 -13
View File
@@ -1,20 +1,33 @@
# Plan - Implémentation de l'overlay de chargement premium (Glassmorphism)
# Plan - Date de dernière entrée en stock par magasin
## Contexte
L'utilisateur souhaite ajouter un indicateur visuel de chargement lors du chargement de la grille. L'option retenue est un overlay de démarrage en verre dépoli (glassmorphism) semi-bloquant. Cet overlay affiche la progression du streaming en temps réel et propose un bouton pour ignorer l'overlay et explorer directement les premières données déjà chargées.
L'utilisateur souhaite ajouter la date de la dernière entrée en stock (dernière réception) pour chaque magasin dans la grille. Pour éviter d'alourdir la présentation visuelle, l'information sera intégrée de manière élégante et ergonomique directement sous forme d'infobulle premium (tooltip) au survol des badges de magasins ( Nancy "F" et Houdemont "H" ) sous la colonne Désignation.
## Focus Actuel
Validation finale et dépôt propre.
Spécification et implémentation du plan d'action structuré selon les piliers de l'architecture BMAD.
## Master Plan
- [x] Définir le concept de design avec l'utilisateur (Fait: Option A sélectionnée)
- [x] Modifier `src/features/grid/components/grid-client.tsx` (Fait)
- [x] Vérifier la compilation globale avec `rtk tsc` (Fait: aucune erreur)
- [x] Valider l'esthétique et le comportement en simulant le chargement (Fait)
- [x] Mettre à jour Git (commit et push) (Fait)
## Master Plan (BMAD)
### 1. [x] BUSINESS & UX CONCEPT
- [x] Valider la présentation ergonomique : l'information s'affichera dans l'infobulle (tooltip) au survol de chaque badge magasin (ex: "Frouard (Nancy)\nDernière entrée en stock : 12/05/2026").
- [x] Zéro surcharge visuelle sur la grille principale.
### 2. [x] MODEL
- [x] Modifier l'interface `ProductRow` dans `src/types/grid.ts` pour ajouter le champ facultatif `derniereLivraisonByStore?: Record<string, string>;` qui associera chaque magasin (`site`) à sa date de dernière réception.
### 3. [x] APPLICATION / API
- [x] Modifier `src/features/grid/api/get-product-rows.ts` (Phase 7) pour alimenter le dictionnaire `product.derniereLivraisonByStore` lors du parcours des lignes de `cube_stock`.
### 4. [x] DATA & PRESENTATION (UI)
- [x] Modifier `src/features/grid/components/heatmap-grid.tsx` pour récupérer et afficher cette date dans le `title` du badge magasin :
- Si une date existe : `"Magasin : [Nom du magasin]\nDernière entrée en stock : [Date formatée]"`
- Si aucune date : `"Magasin : [Nom du magasin]\nAucune entrée enregistrée"`
- [x] Vérifier la compilation globale avec `rtk tsc`.
## Progress Log
- **2026-05-26 13:58** : Choix du design validé par l'utilisateur (Option A : Overlay de démarrage en glassmorphism avec option d'exploration). Initialisation du plan dans `task.md`.
- **2026-05-26 14:00** : Intégration de l'overlay de chargement premium en verre dépoli (glassmorphism) semi-bloquant avec indicateur dynamique et bouton d'exploration.
- **2026-05-26 14:01** : Vérification de la compilation avec `rtk tsc` réussie.
- **2026-05-26 14:02** : Push réussi des optimisations et de l'overlay vers `origin/main`.
- **2026-05-26 14:52** : Initialisation du plan d'action BMAD dans `task.md`.
- **2026-05-26 15:47** : Implémentation du plan d'action complétée avec succès.
- Champ `derniereLivraisonByStore` ajouté à l'interface `ProductRow`.
- Mapping des dates de dernière réception par site alimenté lors du fetch du stock.
- Intégration du tooltip premium ergonomique sur les badges de magasins dans la colonne Désignation.
- Compilation vérifiée (aucune régression sur les fichiers modifiés).