diff --git a/.planning/HANDOFF.md b/.planning/HANDOFF.md index 59a68e5..5a6cd1b 100644 --- a/.planning/HANDOFF.md +++ b/.planning/HANDOFF.md @@ -32,12 +32,30 @@ Il catalogo/offerte che abbiamo costruito è "lento e macchinoso" rispetto a Not 5. **Pipeline finale**: Catalogo servizi → Offer Builder → **Preventivo Builder AI** (pesca cliente + offerta + info extra fornite dall'utente, genera proposta) → pagina pubblica HTML/CSS (base già live su `/quote/[token]`) → **link pagamento in fondo** (Stripe Payment Link come campo dell'offerta). 6. **Ordine**: prima la UX veloce del dato ("Offer Studio", che assorbe anche i fix CRM/design segnalati ieri), poi l'AI ("Proposal AI"). L'AI è l'ultimo miglio. +### Feedback utente raccolto e triagiato (2026-06-12) + +**BUG (diagnosticato e FIXATO, commit `ea20685` — DA PUSHARE):** + +- `/admin/leads/[id]` non caricava → in Next.js 16 `params` è una Promise, la pagina lo usava sincrono → `id` undefined → 500. Fix: `await params`. Build verificata. **Controllare che non rientri lo stesso pattern in pagine future.** + +**Decisioni strutturali (vanno nella fase "Offer Studio", non fix isolati):** + +1. **Eliminare la tab "Preventivo" dal workspace progetto** (vecchio sistema quote_items per cliente, vedi screenshot sessione 2026-06-12) — è un doppione: il Preventivo Builder app è l'unico flusso, anche per nuovi preventivi a già clienti. ⚠️ ATTENZIONE: solo rimozione UI — la tabella `quote_items` NON si tocca (storico + LOCKED constraints); capire dove finisce l'editing di `clients.accepted_total` (oggi sta in quella tab) — probabilmente settato dal flusso di accettazione quote o dalla nuova tab. +2. **Nuova tab "Servizi attivi"** al suo posto: offerte attive del cliente — alcune one-shot, altre **ricorrenti mensili**. La tab "Offerte" esistente probabilmente si **ingloba** qui (l'utente è aperto: "la teniamo o la inglobiamo") — motivo: sui già clienti si attivano offerte senza passare dal preventivo. +3. **Eliminare la tab "Forecast"** dalla sidebar; le statistiche di revenue mensile vanno **nella Dashboard**. +4. **CRM: copiare Attio** come riferimento UX (tabelle veloci, inline editing, tag, viste). Tutto custom in casa, NESSUN tool esterno. (Confermato dopo discussione Pipedrive/GoHighLevel/Attio: Attio = benchmark, non acquisto.) + +**Backlog dichiarato:** + +- Tracking incassi per mese sulle offerte ricorrenti (in che mese è stata incassata ogni fattura) → statistiche fatturato mese per mese. Da progettare nello schema di "Servizi attivi" (campo/tabella incassi) anche se la UI arriva dopo. + +**Fix minori noti (da assorbire quando si tocca l'area):** FollowUpWidget in inglese (resto app in italiano), LeadForm 365 righe con type-relaxation su react-hook-form, SendQuoteModal logic flow sistemato in fretta. + ### Prossima sessione (l'utente passa a Sonnet per l'esecuzione) -1. **Ripianificare la roadmap GSD**: definire milestone/fasi "Offer Studio" e "Proposal AI" (sostituiscono/ridefiniscono le vecchie Phase 11 auto-provisioning e 12 Resend — da ridiscutere dove collocarle). Usare `/gsd-new-milestone` o ridefinire le fasi correnti — far decidere all'utente. -2. **Raccogliere dall'utente l'elenco puntuale dei problemi CRM** visti il 2026-06-11 (design + funzionali + strutturali) e incorporarli nel ridisegno, NON fixarli in isolamento. -3. L'utente vuole **fornire un suo design/mockup** per le dashboard ("belle e utili") — chiederglielo prima di disegnare la UI; usarlo come contratto UI della fase (`/gsd-ui-phase`). -4. Candidati fix già noti da ieri (se si toccano quelle aree): FollowUpWidget in inglese (resto app in italiano), LeadForm 365 righe con type-relaxation su react-hook-form, SendQuoteModal logic flow sistemato in fretta. +1. **Pushare il fix `ea20685`** se non già fatto (serve conferma utente per push su main). +2. **Ripianificare la roadmap GSD**: milestone/fasi "Offer Studio" (catalogo+offerte UX Attio-like, ristrutturazione tab progetti di cui sopra, CRM rifinito) e "Proposal AI" (builder AI → pagina pubblica → link pagamento). Le vecchie Phase 11 auto-provisioning e 12 Resend vanno ricollocate — far decidere all'utente. +3. L'utente vuole **fornire un suo design/mockup** per le dashboard — chiederglielo prima di disegnare la UI; usarlo come contratto UI (`/gsd-ui-phase`). ---