Checkpoint: Vérification et finalisation des trois fonctionnalités principales
✅ **Fonctionnalités vérifiées et opérationnelles** 1. **Barre de progression colorée** : CapacityProgressBar intégré dans AdminSequences avec affichage "inscrits/capacité" et code couleur (vert <70%, orange 70-90%, rouge >90%) 2. **Vue calendrier mensuel** : Page AdminCalendrier accessible via le menu avec navigation mois précédent/suivant, affichage des séquences sur leurs dates, et dialog de détails au clic 3. **Système de rappels personnalisables** : Page AdminRappels accessible via le menu avec procédures tRPC complètes (list, create, update, delete, toggleActif), configuration des rappels (J-15, J-7, J-1), templates d'emails personnalisables avec variables dynamiques ✅ **Corrections apportées** - Procédures tRPC rappels ajoutées dans routers.ts - Routes et liens de navigation vérifiés et fonctionnels - Tous les composants créés et intégrés correctement
This commit is contained in:
@@ -667,6 +667,52 @@ export const appRouter = router({
|
||||
}),
|
||||
}),
|
||||
|
||||
// ===== GESTION DES RAPPELS =====
|
||||
rappels: router({
|
||||
list: adminProcedure.query(async () => {
|
||||
return db.getAllRappels();
|
||||
}),
|
||||
|
||||
create: adminProcedure
|
||||
.input(z.object({
|
||||
nom: z.string(),
|
||||
joursAvant: z.number(),
|
||||
sujet: z.string(),
|
||||
contenu: z.string(),
|
||||
actif: z.boolean(),
|
||||
}))
|
||||
.mutation(async ({ input }) => {
|
||||
return db.createRappel(input);
|
||||
}),
|
||||
|
||||
update: adminProcedure
|
||||
.input(z.object({
|
||||
id: z.number(),
|
||||
nom: z.string(),
|
||||
joursAvant: z.number(),
|
||||
sujet: z.string(),
|
||||
contenu: z.string(),
|
||||
actif: z.boolean(),
|
||||
}))
|
||||
.mutation(async ({ input }) => {
|
||||
return db.updateRappel(input);
|
||||
}),
|
||||
|
||||
delete: adminProcedure
|
||||
.input(z.object({ id: z.number() }))
|
||||
.mutation(async ({ input }) => {
|
||||
await db.deleteRappel(input.id);
|
||||
return { success: true };
|
||||
}),
|
||||
|
||||
toggleActif: adminProcedure
|
||||
.input(z.object({ id: z.number(), actif: z.boolean() }))
|
||||
.mutation(async ({ input }) => {
|
||||
await db.updateRappel({ id: input.id, actif: input.actif });
|
||||
return { success: true };
|
||||
}),
|
||||
}),
|
||||
|
||||
emailConfig: router({
|
||||
get: adminProcedure.query(async () => {
|
||||
return db.getActiveEmailConfig();
|
||||
|
||||
8
todo.md
8
todo.md
@@ -274,3 +274,11 @@
|
||||
- [x] Ajouter les imports CalendarDays et Bell
|
||||
- [x] Redémarrer le serveur
|
||||
- [x] Tester l'accès aux pages calendrier et rappels
|
||||
|
||||
## Vérification des trois fonctionnalités principales
|
||||
|
||||
- [x] Vérifier que CapacityProgressBar est bien utilisé dans AdminSequences
|
||||
- [x] Vérifier que la page AdminCalendrier existe et est accessible
|
||||
- [x] Vérifier que la page AdminRappels existe et est accessible
|
||||
- [x] Ajouter les procédures tRPC manquantes pour les rappels
|
||||
- [x] Créer un rapport de vérification complet
|
||||
|
||||
Reference in New Issue
Block a user