docs : update CLAUDE.md structure and fix spec formatting

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Matthieu
2026-03-13 12:06:35 +01:00
parent 7540c99501
commit e85ea42d7c
2 changed files with 13 additions and 6 deletions

View File

@@ -1,4 +1,4 @@
# Feature: Archivage de tickets et de groupes
o# Feature: Archivage de tickets et de groupes
## Résumé
@@ -35,6 +35,7 @@ Une migration Doctrine unique pour les 3 champs (`task_status.is_final`, `task.a
### Archivage de groupe (bulk)
L'archivage d'un groupe est une opération frontend multi-appels :
1. PATCH chaque ticket du groupe avec `{ archived: true }`
2. PATCH le groupe avec `{ archived: true }`
@@ -53,17 +54,20 @@ La règle "archiver seulement si statut final" est appliquée côté frontend (v
### TaskDrawer — archivage et modale suppression
**Bouton "Archiver"** :
- Visible uniquement quand le ticket a un statut avec `isFinal: true`
- PATCH `{ archived: true }` sur le ticket
- Si un timer est actif sur ce ticket, l'arrêter avant d'archiver
- Ferme le drawer et rafraîchit la liste des tickets
**Bouton "Désarchiver"** :
- Visible quand on consulte un ticket archivé (depuis la page archives)
- PATCH `{ archived: false }`
- Ferme le drawer et rafraîchit la page archives
**Modale de confirmation de suppression** :
- Déclenchée au clic sur "Supprimer" dans le TaskDrawer
- Message : "Êtes-vous sûr de vouloir supprimer ce ticket ? Cette action est irréversible."
- Deux boutons : "Annuler" / "Supprimer" (style destructif, rouge)
@@ -84,11 +88,13 @@ La règle "archiver seulement si statut final" est appliquée côté frontend (v
**Toggle "Voir les groupes archivés"** : bascule pour afficher les groupes archivés.
**Bouton "Archiver" sur un groupe** :
- Visible uniquement si le groupe a au moins un ticket ET que **tous** ses tickets ont un statut `isFinal: true` (un ticket sans statut bloque l'archivage)
- Archive tous les tickets du groupe puis le groupe lui-même (appels PATCH séquentiels)
- Rafraîchit la liste
**Bouton "Désarchiver" sur un groupe archivé** :
- Désarchive le groupe + tous ses tickets (écrase l'état individuel des tickets)
- Rafraîchit la liste
@@ -123,6 +129,7 @@ Ajout du champ `archived: boolean` dans les types `TaskGroup` et `TaskGroupWrite
## Traductions (i18n)
Clés à ajouter dans `fr.json` :
- `task.archive` / `task.unarchive`
- `task.delete_confirm_title` / `task.delete_confirm_message`
- `group.archive` / `group.unarchive`