diff --git a/todo.md b/todo.md index 0b44603..34ed320 100644 --- a/todo.md +++ b/todo.md @@ -445,29 +445,29 @@ Il sistema può inviare email ma l'utente non ha visibilità sullo stato. ### 📋 Piano di Implementazione -#### Fase 1: Forgot Password (Priorità Alta) +#### Fase 1: Forgot Password (Priorità Alta) ✅ COMPLETATO **Task Frontend:** -1. [ ] Creare `ForgotPassword.tsx` con: +1. [x] Creare `ForgotPassword.tsx` con: - Form email con validazione - Chiamata a `/reset-password-request` - Messaggio successo (non rivelare se email esiste) - Link "Torna al login" -2. [ ] Creare `ResetPassword.tsx` con: +2. [x] Creare `ResetPassword.tsx` con: - Lettura token da URL query param - Form nuova password + conferma - - Validazione password strength + - Validazione password strength (min 8 chars) - Chiamata a `/reset-password` - - Redirect a login dopo successo + - Redirect a login dopo successo (3 sec) -3. [ ] Aggiornare `App.tsx`: +3. [x] Aggiornare `App.tsx`: - Aggiungere route `/forgot-password` - Aggiungere route `/reset-password` -4. [ ] Aggiornare `Login.tsx`: +4. [x] Aggiornare `Login.tsx`: - Sostituire alert con Link a `/forgot-password` -5. [ ] Creare hook `useAuth.tsx`: +5. [x] Aggiornare `AuthContext.tsx`: - Aggiungere `requestPasswordReset(email)` - Aggiungere `resetPassword(token, newPassword)` @@ -475,6 +475,7 @@ Il sistema può inviare email ma l'utente non ha visibilità sullo stato. - Verificare che le API siano testate e funzionanti ✅ **Stima:** 1-2 giorni +**Effettivo:** 1 giorno (2026-04-08) --- @@ -527,12 +528,13 @@ Il sistema può inviare email ma l'utente non ha visibilità sullo stato. ### ✅ Checklist Implementazione -- [ ] **Fase 1: Forgot Password** - - [ ] ForgotPassword.tsx - - [ ] ResetPassword.tsx - - [ ] Route in App.tsx - - [ ] Hook useAuth aggiornato - - [ ] Test end-to-end +- [x] **Fase 1: Forgot Password** ✅ COMPLETATO (2026-04-08) + - [x] ForgotPassword.tsx + - [x] ResetPassword.tsx + - [x] Route in App.tsx + - [x] Hook useAuth aggiornato + - [x] Build verificato + - [ ] Test end-to-end (da fare) - [ ] **Fase 2: User Profile** - [ ] Profile.tsx