refacto: passing by server actions on taskCard

This commit is contained in:
Julien Froidefond
2025-09-18 09:37:46 +02:00
parent 228e1563c6
commit 4a4eb9c8ad
15 changed files with 286 additions and 330 deletions

26
TODO.md
View File

@@ -138,23 +138,27 @@
- [ ] Graphiques avec Chart.js ou Recharts
- [ ] Export des données en CSV/JSON
## Autre Todo
- [ ] Avoir un bouton pour réduire/agrandir la font des taches dans les kanban (swimlane et classique)
## 🔧 Phase 4: Server Actions - Migration API Routes (Nouveau)
### 4.1 Migration vers Server Actions - Actions rapides
**Objectif** : Remplacer les API routes par des server actions pour les actions simples et fréquentes
#### Actions TaskCard (Priorité 1)
- [ ] Créer `actions/tasks.ts` avec server actions de base
- [ ] `updateTaskStatus(taskId, status)` - Changement de statut
- [ ] `updateTaskTitle(taskId, title)` - Édition inline du titre
- [ ] `deleteTask(taskId)` - Suppression de tâche
- [ ] Modifier `TaskCard.tsx` pour utiliser server actions directement
- [ ] Remplacer les props callbacks par calls directs aux actions
- [ ] Intégrer `useTransition` pour les loading states natifs
- [ ] Tester la revalidation automatique du cache
- [ ] **Nettoyage** : Supprimer `PATCH /api/tasks` et `DELETE /api/tasks`
- [ ] **Nettoyage** : Simplifier `tasks-client.ts` (garder GET et POST uniquement)
- [ ] **Nettoyage** : Modifier `useTasks.ts` pour remplacer mutations par server actions
- [x] Créer `actions/tasks.ts` avec server actions de base
- [x] `updateTaskStatus(taskId, status)` - Changement de statut
- [x] `updateTaskTitle(taskId, title)` - Édition inline du titre
- [x] `deleteTask(taskId)` - Suppression de tâche
- [x] Modifier `TaskCard.tsx` pour utiliser server actions directement
- [x] Remplacer les props callbacks par calls directs aux actions
- [x] Intégrer `useTransition` pour les loading states natifs
- [x] Tester la revalidation automatique du cache
- [x] **Nettoyage** : Supprimer props obsolètes dans tous les composants Kanban
- [x] **Nettoyage** : Simplifier `tasks-client.ts` (garder GET et POST uniquement)
- [x] **Nettoyage** : Modifier `useTasks.ts` pour remplacer mutations par server actions
#### Actions Daily (Priorité 2)
- [ ] Créer `actions/daily.ts` pour les checkboxes