63 lines
2.7 KiB
Markdown
63 lines
2.7 KiB
Markdown
|
|
## 1. Setup fichiers de thème
|
||
|
|
|
||
|
|
- [x] 1.1 Créer le fichier `scheduler-theme.scss` dans `src/frontend/apps/calendars/src/features/calendar/components/scheduler/`
|
||
|
|
- [x] 1.2 Ajouter l'import de `scheduler-theme.scss` dans `globals.scss`
|
||
|
|
|
||
|
|
## 2. Variables CSS et overrides de base
|
||
|
|
|
||
|
|
- [x] 2.1 Définir les variables CSS `--ec-*` mappées vers les tokens Cunningham
|
||
|
|
- [x] 2.2 Ajouter le style `.ec-toolbar { display: none }` pour masquer la toolbar native
|
||
|
|
|
||
|
|
## 3. Style du jour actuel
|
||
|
|
|
||
|
|
- [x] 3.1 Override `.ec-col-head.ec-today` pour fond transparent
|
||
|
|
- [x] 3.2 Ajouter le style encadré sur `.ec-col-head.ec-today time`
|
||
|
|
|
||
|
|
## 4. Style des événements
|
||
|
|
|
||
|
|
- [x] 4.1 Override `.ec-event` : border-radius 6px, box-shadow none, padding ajusté
|
||
|
|
- [x] 4.2 Override `.ec-event-title` : font-weight 600
|
||
|
|
- [x] 4.3 Override `.ec-event-time` : font-weight 400, opacity 0.95
|
||
|
|
|
||
|
|
## 5. Style du now indicator et sidebar
|
||
|
|
|
||
|
|
- [x] 5.1 Override couleur du now indicator vers brand-500
|
||
|
|
- [x] 5.2 Override `.ec-sidebar` : font-size 0.75rem, couleur gray-500
|
||
|
|
|
||
|
|
## 6. Composant SchedulerToolbar
|
||
|
|
|
||
|
|
- [x] 6.1 Créer le fichier `SchedulerToolbar.tsx`
|
||
|
|
- [x] 6.2 Créer le fichier `SchedulerToolbar.scss`
|
||
|
|
- [x] 6.3 Implémenter le bouton "Aujourd'hui" avec appel à `setOption('date', new Date())`
|
||
|
|
- [x] 6.4 Implémenter les boutons de navigation avec appels à `prev()` et `next()`
|
||
|
|
- [x] 6.5 Implémenter le titre dynamique de la période avec `getView()`
|
||
|
|
- [x] 6.6 Implémenter le dropdown des vues avec `setOption('view', ...)`
|
||
|
|
|
||
|
|
## 7. Intégration
|
||
|
|
|
||
|
|
- [x] 7.1 Modifier `useSchedulerInit.ts` : ajouter `headerToolbar: false`
|
||
|
|
- [x] 7.2 Modifier `Scheduler.tsx` : intégrer `<SchedulerToolbar />` au-dessus du container
|
||
|
|
- [x] 7.3 Passer la ref du calendrier à la toolbar pour accéder aux méthodes API
|
||
|
|
|
||
|
|
## 8. Synchronisation toolbar ↔ calendrier
|
||
|
|
|
||
|
|
- [x] 8.1 Utiliser le callback `datesSet` pour mettre à jour le titre de la toolbar
|
||
|
|
- [x] 8.2 Synchroniser le dropdown avec la vue courante
|
||
|
|
|
||
|
|
## 9. Améliorations post-implémentation
|
||
|
|
|
||
|
|
- [x] 9.1 Supprimer les lignes intermédiaires (30 min) de la grille
|
||
|
|
- [x] 9.2 Unifier le header (ec-col-head + ec-all-day) sans bordures internes
|
||
|
|
- [x] 9.3 Masquer le texte timezone dans ec-sidebar du header
|
||
|
|
- [x] 9.4 Ajouter bordure bottom/right à ec-grid
|
||
|
|
- [x] 9.5 Remplacer Select par DropdownMenu custom pour le sélecteur de vue
|
||
|
|
- [x] 9.6 Ajouter navigation clavier au dropdown (Escape, Arrow, Enter)
|
||
|
|
- [x] 9.7 Ajouter les traductions calendar.navigation.previous/next (EN, FR, NL)
|
||
|
|
- [x] 9.8 Corriger le type CalendarApi dans CalendarContext
|
||
|
|
- [x] 9.9 Mémoiser les handlers avec useCallback
|
||
|
|
|
||
|
|
## 10. Vérification
|
||
|
|
|
||
|
|
- [x] 10.1 Vérifier le rendu visuel sur les 4 vues (Jour, Semaine, Mois, Liste)
|
||
|
|
- [x] 10.2 Vérifier la navigation et le changement de vue
|