Frontend : suppression du statut d'affectation (suite Étape 9)
Le back-end (Étape 9) a retiré AssignmentStatus : une affectation est valide
dès sa création, la retirer = supprimer la ligne.
- schema.ts : AssignmentRead/Create/Update sans `status` ;
MatrixShift.{confirmed, proposed} → `assigned`.
- mock : générateur sans statut (plus de rollStatus / DECLINED) ; matrice
= compte unique ; create → validation toujours exécutée ; PATCH ne porte
plus que source/locked ; runValidation compte toutes les affectations.
- lib/planning : suppression de isActive() et statusLabel().
- Grille + panneau : cellule « affectés / idéal », plus de +proposés ni de
badge confirmé/proposé ni de bouton « confirmer ».
- Vue par bénévole : une seule trame d'affectation (bleu).
- Mobile bénévole : plus de bouton « JE CONFIRME » ni de bannière.
- Mobile référent : plus de libellé de statut par équipier.
- Onglet 03 « Confirmations » supprimé (route, page, nav, ROUTE_ROLES) —
il n'a plus d'objet. Coordination : onglets 01, 02, 06.
- i18n : clés de statut / de l'écran Confirmations retirées.
- Vérifs : build tsc + vite, eslint (0 problème), npm run smoke.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AwswqSChc3Rwtu61pRXiY2
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
6e16db4b7e
commit
8d333deb23
@@ -50,20 +50,13 @@
|
||||
"header.title": "GESTION DES BÉNÉVOLES",
|
||||
"header.meta": "BÉNÉVOLAT · {count} INSCRITS",
|
||||
"header.mockMode": "DONNÉES DE DÉMO",
|
||||
"header.proposed": "{count} PROPOSITION(S)",
|
||||
|
||||
"tab.grille": "Grille des besoins",
|
||||
"tab.volunteers": "Vue par bénévole",
|
||||
"tab.publication": "Confirmations",
|
||||
"tab.mobileVolunteer": "Bénévole · mobile",
|
||||
"tab.mobileLead": "Référent · mobile",
|
||||
"tab.config": "Configuration",
|
||||
|
||||
"assignment.status.proposed": "Proposée",
|
||||
"assignment.status.confirmed": "Confirmée",
|
||||
"assignment.status.declined": "Refusée",
|
||||
"assignment.status.cancelled": "Annulée",
|
||||
|
||||
"position.category.bar": "Bar",
|
||||
"position.category.ticketing": "Billetterie",
|
||||
"position.category.welcome": "Accueil",
|
||||
@@ -98,8 +91,7 @@
|
||||
"grille.panel.empty.title": "Cliquez une cellule de la grille pour affecter des bénévoles.",
|
||||
"grille.panel.empty.body": "Le panneau s'ouvre ici, sans quitter la grille : candidats triés par charge, alertes bloquantes et avertissements du moteur de validation.",
|
||||
"grille.panel.slotDuration": "CRÉNEAU DE {hours} H",
|
||||
"grille.panel.confirmed": "CONFIRMÉS",
|
||||
"grille.panel.proposedCount": "PROPOSÉS {count}",
|
||||
"grille.panel.assigned": "AFFECTÉS",
|
||||
"grille.panel.min": "MINIMUM {count}",
|
||||
"grille.panel.ideal": "IDÉAL {count}",
|
||||
"grille.panel.assignmentsTitle": "AFFECTATIONS ({count})",
|
||||
@@ -117,8 +109,7 @@
|
||||
"volunteers.filter.all": "TOUS",
|
||||
"volunteers.filter.overloaded": "SURCHARGÉS",
|
||||
"volunteers.filter.unassigned": "SANS AFFECTATION",
|
||||
"volunteers.legend.confirmed": "AFFECTATION CONFIRMÉE",
|
||||
"volunteers.legend.proposed": "AFFECTATION PROPOSÉE",
|
||||
"volunteers.legend.assigned": "AFFECTATION",
|
||||
"volunteers.count": "{count} BÉNÉVOLES",
|
||||
"volunteers.totalHours": "TOTAL H",
|
||||
"volunteers.name": "NOM",
|
||||
@@ -126,19 +117,7 @@
|
||||
"volunteers.badge.overloaded": "▲ SURCHARGE",
|
||||
"volunteers.badge.unassigned": "○ OUBLIÉ",
|
||||
"volunteers.empty": "Aucun bénévole ne correspond à ce filtre — bonne nouvelle. Repassez sur « TOUS » pour revoir l'ensemble de l'équipe.",
|
||||
"volunteers.footnote": "Surcharge = plus de 8 h sur une même journée ou moins de 8 h entre deux créneaux. Oublié = aucune affectation active.",
|
||||
|
||||
"publication.stat.proposed": "AFFECTATIONS PROPOSÉES",
|
||||
"publication.stat.concerned": "BÉNÉVOLES CONCERNÉS",
|
||||
"publication.stat.confirmed": "AFFECTATIONS CONFIRMÉES",
|
||||
"publication.toConfirmTitle": "EN ATTENTE DE CONFIRMATION",
|
||||
"publication.allConfirmed": "Aucune affectation en attente : tout est confirmé.",
|
||||
"publication.mailPreviewTitle": "APERÇU DU MESSAGE (MAQUETTE)",
|
||||
"publication.mailTo": "À : {count} bénévoles concernés",
|
||||
"publication.mailSubject": "Objet — Ton planning bénévole a été mis à jour",
|
||||
"publication.mailBody": "Ton planning pour le festival vient d'être mis à jour. Merci de confirmer chaque créneau depuis ton planning personnel.",
|
||||
"publication.mailCta": "VOIR MON PLANNING →",
|
||||
"publication.outOfScope": "La publication versionnée et l'envoi d'emails / SMS sont hors périmètre du premier incrément (CLAUDE.md §4). Cet écran liste les affectations « proposées » que les bénévoles n'ont pas encore confirmées.",
|
||||
"volunteers.footnote": "Surcharge = plus de 8 h sur une même journée ou moins de 8 h entre deux créneaux. Oublié = aucune affectation.",
|
||||
|
||||
"design.noteTitle": "CHOIX DE CONCEPTION",
|
||||
|
||||
@@ -147,10 +126,8 @@
|
||||
"mobileVol.greeting": "SALUT {name}",
|
||||
"mobileVol.slots": "{count} CRÉNEAUX",
|
||||
"mobileVol.hours": "{count} HEURES",
|
||||
"mobileVol.toConfirm": "⚠ {count} CRÉNEAU(X) À CONFIRMER",
|
||||
"mobileVol.location": "📍 {location}",
|
||||
"mobileVol.confirm": "JE CONFIRME",
|
||||
"mobileVol.confirmed": "✓ CRÉNEAU CONFIRMÉ",
|
||||
"mobileVol.slotConfirmed": "✓ TU ES ATTENDU SUR CE CRÉNEAU",
|
||||
"mobileVol.noSlots": "Aucun créneau pour l'instant. La coordination t'affectera bientôt.",
|
||||
"mobileVol.noAccount": "Ce compte n'est rattaché à aucun bénévole. Contactez la coordination.",
|
||||
"mobileVol.detailsUnavailable": "Le détail des créneaux (poste, horaires) n'est pas encore exposé aux bénévoles par l'API.",
|
||||
|
||||
Reference in New Issue
Block a user