Checkpoint: Trois améliorations majeures pour la gestion des séquences :

 **1. Indicateur visuel de remplissage**
- Composant CapacityProgressBar avec barre de progression colorée
- Affichage "X / Y" avec pourcentage
- Couleurs automatiques : vert (<70%), orange (70-90%), rouge (>90%)
- Intégré dans la colonne capacité du tableau des séquences

 **2. Vue calendrier mensuel**
- Nouvelle page AdminCalendrier accessible depuis le menu
- Calendrier mensuel avec navigation (mois précédent/suivant, aujourd'hui)
- Affichage des séquences sur leurs dates respectives
- Dialog de détails au clic sur une séquence
- Vue complète avec toutes les informations (lieu, formateur, capacité, dates)

 **3. Système de rappels automatiques personnalisables**
- Tables rappels et rappelsEnvoyes créées
- Procédures tRPC complètes (list, create, update, delete)
- Page AdminRappels avec interface de gestion
- Configuration de rappels multiples (J-15, J-7, J-1, etc.)
- Templates d'emails personnalisables avec variables dynamiques
- Activation/désactivation des rappels
- Infrastructure prête pour l'envoi automatique (nécessite service de planification externe)

Ces améliorations facilitent grandement la planification et le suivi des formations.
This commit is contained in:
Manus Sandbox
2025-11-19 09:59:37 -05:00
parent 16351ea3d5
commit 4bf589dde3
15 changed files with 1778 additions and 4 deletions

View File

@@ -9,11 +9,13 @@ import AdminRapportPublicCible from "./pages/AdminRapportPublicCible";
import Admin from "./pages/Admin";
import AdminFormations from "./pages/AdminFormations";
import AdminSequences from "./pages/AdminSequences";
import AdminCalendrier from "./pages/AdminCalendrier";
import AdminApprenants from "./pages/AdminApprenants";
import AdminSequenceInscrits from "./pages/AdminSequenceInscrits";
import AdminUsers from "./pages/AdminUsers";
import AdminEmailTemplates from "./pages/AdminEmailTemplates";
import AdminEmailConfig from "./pages/AdminEmailConfig";
import AdminRappels from "./pages/AdminRappels";
import Inscription from "./pages/Inscription";
function Router() {
@@ -25,11 +27,13 @@ function Router() {
<Route path={"/admin"} component={Admin} />
<Route path={"/admin/formations"} component={AdminFormations} />
<Route path={"/admin/sequences"} component={AdminSequences} />
<Route path={"/admin/calendrier"} component={AdminCalendrier} />
<Route path={"/admin/apprenants"} component={AdminApprenants} />
<Route path={"/admin/sequences/:id/inscrits"} component={AdminSequenceInscrits} />
<Route path={"/admin/users"} component={AdminUsers} />
<Route path={"/admin/email-templates"} component={AdminEmailTemplates} />
<Route path={"/admin/email-config"} component={AdminEmailConfig} />
<Route path={"/admin/rappels"} component={AdminRappels} />
<Route path={"/404"} component={NotFound} />
{/* Final fallback route */}
<Route component={NotFound} />