Frontend : nettoyage des reliquats du statut d'affectation

Le gros de la suppression a été fait dans 8d333de ; il restait des libellés :
- i18n : « CONFIRMÉS / IDÉAL » → « AFFECTÉS / IDÉAL », note de bas de grille
  sans « proposés », clé mobileVol.slotConfirmed → slotAssigned
- components/ui.tsx : tons de Badge « confirmed » / « proposed » (inutilisés)
- ConfigMail : texte d'email par défaut sans « confirmer chaque créneau »

typecheck + lint + build + smoke : OK

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017uUsRg7XzopkCPWimwg9ZM
This commit is contained in:
AdamThomas
2026-09-10 07:58:12 +02:00
co-authored by Claude Sonnet 5
parent 8d333deb23
commit 977bd4dc34
4 changed files with 6 additions and 8 deletions
+1 -3
View File
@@ -102,15 +102,13 @@ export function Chip({
);
}
type BadgeTone = 'confirmed' | 'proposed' | 'success' | 'info' | 'warn' | 'danger' | 'neutral';
type BadgeTone = 'success' | 'info' | 'warn' | 'danger' | 'neutral';
export function Badge({ tone, children }: { tone: BadgeTone; children: ReactNode }) {
return (
<span
className={cx(
'inline-flex items-center border-2 px-[6px] py-[3px] font-display text-[8.5px] font-extrabold uppercase tracking-wide',
tone === 'confirmed' && 'border-ink bg-green text-white',
tone === 'proposed' && 'border-ink border-dashed bg-paper text-ink',
tone === 'success' && 'border-ink bg-green text-white',
tone === 'info' && 'border-ink bg-blue text-ink',
tone === 'warn' && 'border-ink bg-yellow-soft text-ink',
+3 -3
View File
@@ -86,8 +86,8 @@
"grille.legend.incomplete": "INCOMPLET",
"grille.legend.complete": "COMPLET",
"grille.positionsCount": "{count} POSTES",
"grille.assignedRequired": "CONFIRMÉS / IDÉAL",
"grille.footnote": "Chaque cellule est un créneau. Nombre = confirmés, + = proposés, / = effectif idéal. Cliquer ouvre le panneau d'affectation à droite.",
"grille.assignedRequired": "AFFECTÉS / IDÉAL",
"grille.footnote": "Chaque cellule est un créneau. Nombre = bénévoles affectés, / = effectif idéal. Cliquer ouvre le panneau d'affectation à droite.",
"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",
@@ -127,7 +127,7 @@
"mobileVol.slots": "{count} CRÉNEAUX",
"mobileVol.hours": "{count} HEURES",
"mobileVol.location": "📍 {location}",
"mobileVol.slotConfirmed": "✓ TU ES ATTENDU SUR CE CRÉNEAU",
"mobileVol.slotAssigned": "✓ 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.",
+1 -1
View File
@@ -113,7 +113,7 @@ export function MobileVolunteerPage() {
</div>
) : null}
<div className="mt-[11px] flex min-h-[52px] items-center justify-center border-[3px] border-ink bg-green font-display text-[15px] font-black text-white">
{t('mobileVol.slotConfirmed')}
{t('mobileVol.slotAssigned')}
</div>
</div>
</div>
+1 -1
View File
@@ -12,7 +12,7 @@ export function ConfigMail() {
const [replyTo, setReplyTo] = useState('marie.bertin@lessonsdautomne.fr');
const [subject, setSubject] = useState('Ton planning bénévole a été mis à jour');
const [body, setBody] = useState(
"Salut {prenom},\n\nTon planning vient d'être mis à jour. Tu as {nb_creneaux} créneaux, soit {nb_heures} heures.\n\nMerci de confirmer chaque créneau depuis ton planning personnel.",
"Salut {prenom},\n\nTon planning vient d'être mis à jour. Tu as {nb_creneaux} créneaux, soit {nb_heures} heures.\n\nRetrouve le détail sur ton planning personnel.",
);
return (