Front : programmation des artistes et vœux des bénévoles
Aligne le frontend sur le back-end (étape 13). - Types : retrait de `tshirt_size` / `diet` (Volunteer et mapping d'import) ; ajout de `ArtistRead/Create/Update` et des champs `artist_ids` / `wished_position_ids` sur la fiche bénévole. - Surface API `artists` (HTTP + mock) et hooks `useArtists` / `useCreateArtist` / `useUpdateArtist` / `useDeleteArtist`. - Nouvel onglet Configuration « Programmation » : liste d'artistes éditable, colonne par jour de l'édition (création, renommage, suppression ; 409 doublon, 422 nom vide). - Fiche bénévole & formulaire d'ajout manuel : champs t-shirt / régime retirés, sélecteurs « Artistes à voir » et « Postes souhaités » (puces retirables, 422 si id étranger). - Mock : jeu de démo enrichi (2 artistes par jour, vœux aléatoires), cascade sur suppression d'artiste / de poste, import CSV sans t-shirt / régime. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017uUsRg7XzopkCPWimwg9ZM
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
24caece7df
commit
81609eecc5
@@ -169,7 +169,6 @@
|
||||
"config.vol.lastName": "NOM",
|
||||
"config.vol.phone": "TÉLÉPHONE",
|
||||
"config.vol.email": "EMAIL (LIEN MAGIQUE)",
|
||||
"config.vol.tshirt": "TAILLE DE T-SHIRT",
|
||||
"config.vol.skills": "COMPÉTENCES",
|
||||
"config.vol.noSkills": "Aucune compétence déclarée",
|
||||
"config.vol.skillPlaceholder": "Code (ex. CAISSE)",
|
||||
@@ -231,8 +230,6 @@
|
||||
"config.vol.field.lastName": "Nom",
|
||||
"config.vol.field.email": "Email (lien magique)",
|
||||
"config.vol.field.phone": "Téléphone",
|
||||
"config.vol.field.tshirt": "Taille de t-shirt",
|
||||
"config.vol.field.diet": "Régime alimentaire",
|
||||
"config.vol.field.comment": "Commentaire",
|
||||
"config.vol.field.skills": "Compétences",
|
||||
"config.vol.addTitle": "NOUVEAU BÉNÉVOLE",
|
||||
@@ -290,7 +287,19 @@
|
||||
"import.row.duplicate_name_in_file": "Nom et prénom déjà présents à la ligne {first_line} du fichier.",
|
||||
"import.row.updated_existing": "Bénévole existant mis à jour.",
|
||||
"import.row.possible_duplicate_name": "Un bénévole portant le même nom existe déjà dans l’édition.",
|
||||
"import.row.invalid_tshirt_size": "Taille de t-shirt non reconnue : {value}.",
|
||||
"import.row.skill_created": "Nouvelle compétence créée : {label}.",
|
||||
"import.row.unknown_availability_value": "Valeur de disponibilité non comprise « {value} » (colonne « {column} »)."
|
||||
"import.row.unknown_availability_value": "Valeur de disponibilité non comprise « {value} » (colonne « {column} »).",
|
||||
"config.tab.artists": "PROGRAMMATION",
|
||||
"config.artists.title": "PROGRAMMATION",
|
||||
"config.artists.hint": "La liste des artistes de l'édition, jour par jour. Les bénévoles y choisissent ceux qu'ils veulent voir depuis leur fiche.",
|
||||
"config.artists.count": "ARTISTES",
|
||||
"config.artists.empty": "Aucun artiste ce jour.",
|
||||
"config.artists.outside": "hors dates",
|
||||
"config.artists.namePlaceholder": "Nom de l'artiste",
|
||||
"config.vol.field.artists": "Artistes à voir",
|
||||
"config.vol.field.positions": "Postes souhaités",
|
||||
"config.vol.noArtists": "Aucun artiste choisi",
|
||||
"config.vol.noPositions": "Aucun poste choisi",
|
||||
"config.vol.pickArtist": "Ajouter un artiste…",
|
||||
"config.vol.pickPosition": "Ajouter un poste…"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user