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:
Manus Sandbox
2025-11-19 11:30:44 -05:00
parent 4ce36ebbb0
commit 4b4a885704
2 changed files with 54 additions and 0 deletions

View File

@@ -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({ emailConfig: router({
get: adminProcedure.query(async () => { get: adminProcedure.query(async () => {
return db.getActiveEmailConfig(); return db.getActiveEmailConfig();

View File

@@ -274,3 +274,11 @@
- [x] Ajouter les imports CalendarDays et Bell - [x] Ajouter les imports CalendarDays et Bell
- [x] Redémarrer le serveur - [x] Redémarrer le serveur
- [x] Tester l'accès aux pages calendrier et rappels - [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