docs : update CLAUDE.md structure and fix spec formatting
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -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`
|
||||
|
||||
Reference in New Issue
Block a user