diff --git a/.planning/REQUIREMENTS.md b/.planning/REQUIREMENTS.md index 06eb14d..6c169d1 100644 --- a/.planning/REQUIREMENTS.md +++ b/.planning/REQUIREMENTS.md @@ -31,11 +31,11 @@ v2.0 (Phases 7–10) ha consegnato catalogo unificato, offerte con fasi, prevent | ID | Requirement | Status | |----|-------------|--------| -| CRM-08 | La tabella lead (`/admin/leads`) supporta inline editing dei campi principali (status, next_action, ecc.) senza apertura modale | Pending | -| CRM-09 | L'utente assegna tag multi-select ai lead, creando nuovi tag al volo | Pending | -| CRM-10 | Il `FollowUpWidget` è in italiano, coerente col resto dell'app | Pending | -| CRM-11 | Il form lead (`LeadForm`) valida i campi senza workaround di type-relaxation su react-hook-form | Pending | -| CRM-12 | Il flusso `SendQuoteModal` (preventivo esistente vs nuovo) non contiene rami di codice irraggiungibili | Pending | +| CRM-08 | La tabella lead (`/admin/leads`) supporta inline editing dei campi principali (status, next_action, ecc.) senza apertura modale | Complete | +| CRM-09 | L'utente assegna tag multi-select ai lead, creando nuovi tag al volo | Complete | +| CRM-10 | Il `FollowUpWidget` è in italiano, coerente col resto dell'app | Complete | +| CRM-11 | Il form lead (`LeadForm`) valida i campi senza workaround di type-relaxation su react-hook-form | Complete | +| CRM-12 | Il flusso `SendQuoteModal` (preventivo esistente vs nuovo) non contiene rami di codice irraggiungibili | Complete | ## Dashboard — Revenue Stats (v1, bloccato su mockup utente) @@ -98,11 +98,11 @@ Popolata dal roadmapper durante la creazione della roadmap. | PROJ-08 | Phase 13 | Pending | | PROJ-09 | Phase 13 | Pending | | PROJ-10 | Phase 13 | Pending | -| CRM-08 | Phase 14 | Pending | -| CRM-09 | Phase 14 | Pending | -| CRM-10 | Phase 14 | Pending | -| CRM-11 | Phase 14 | Pending | -| CRM-12 | Phase 14 | Pending | +| CRM-08 | Phase 14 | Complete | +| CRM-09 | Phase 14 | Complete | +| CRM-10 | Phase 14 | Complete | +| CRM-11 | Phase 14 | Complete | +| CRM-12 | Phase 14 | Complete | | DASH-11 | Phase 15 | Blocked | | PROP-03 | Phase 16 | Pending | | PROP-04 | Phase 16 | Pending | diff --git a/.planning/ROADMAP.md b/.planning/ROADMAP.md index 173b364..1268785 100644 --- a/.planning/ROADMAP.md +++ b/.planning/ROADMAP.md @@ -11,7 +11,7 @@ - [x] **Phase 11: Catalog Database-View UX & Legacy Consolidation** - Catalogo `services` come tabella con inline edit, tag multi-select, quick-add, ricerca istantanea; consolidamento `service_catalog`/`offer_services` → `services` - [ ] **Phase 12: Offer Composition Drag&Drop & CSV Import** - Composizione offerte via drag&drop dal catalogo (`@dnd-kit`) con totale live; import CSV one-shot - [ ] **Phase 13: Workspace — Servizi Attivi** - Tab "Preventivo" rimossa (UI-only), "Offerte" → "Servizi attivi" (one-shot/ricorrenti + tracking incassi mensili), rimozione pagina Forecast -- [ ] **Phase 14: CRM Attio-style & Fix** - Redesign `/admin/leads` stile Attio/Pipedrive (inline edit + tag), fix FollowUpWidget IT / LeadForm types / SendQuoteModal rami irraggiungibili +- [x] **Phase 14: CRM Attio-style & Fix** - Redesign `/admin/leads` stile Attio/Pipedrive (inline edit + tag), fix FollowUpWidget IT / LeadForm types / SendQuoteModal rami irraggiungibili (completed 2026-06-14) - [ ] **Phase 15: Dashboard Revenue Stats** - Dashboard admin mostra statistiche revenue mensile (ex `/admin/forecast`) da `project_offers` — **BLOCCATA**, attesa mockup utente - [ ] **Phase 16: Proposal AI — Data Foundations & Auto-Provisioning** - Campo Stripe Payment Link su offerte/preventivi + auto-provisioning (client+progetto+fasi+pagamenti) all'accettazione - [ ] **Phase 17: Proposal AI — Builder, Pagina Pubblica & Email** - Builder AI proposta da cliente+offerta+note, redesign `/quote/[token]`, invio email Resend con link proposta @@ -77,16 +77,16 @@ 3. Il `FollowUpWidget` è interamente in italiano, coerente col resto dell'app 4. Il form lead (`LeadForm`) valida i campi senza workaround di type-relaxation su react-hook-form 5. Il flusso `SendQuoteModal` (preventivo esistente vs nuovo) non contiene rami di codice irraggiungibili -**Plans:** 3 plans +**Plans:** 3/3 plans complete Plans: **Wave 1** -- [ ] 14-01-PLAN.md — Data-layer foundation: getLeadsWithTags/getLeadFieldOptions query helpers + updateLeadField/addLeadTag/removeLeadTag/renameLeadTag server actions (requireAdmin-guarded) -- [ ] 14-03-PLAN.md — Bug fixes: FollowUpWidget Italian translation (CRM-10), LeadForm typed useForm (CRM-11), SendQuoteModal dead branch removal (CRM-12) +- [x] 14-01-PLAN.md — Data-layer foundation: getLeadsWithTags/getLeadFieldOptions query helpers + updateLeadField/addLeadTag/removeLeadTag/renameLeadTag server actions (requireAdmin-guarded) +- [x] 14-03-PLAN.md — Bug fixes: FollowUpWidget Italian translation (CRM-10), LeadForm typed useForm (CRM-11), SendQuoteModal dead branch removal (CRM-12) **Wave 2** *(blocked on Wave 1 completion)* -- [ ] 14-02-PLAN.md — LeadTable raw-table rewrite (inline edit + status dropdown + tag multi-select), LeadsSearch instant filter, page wiring, LeadDetail tags +- [x] 14-02-PLAN.md — LeadTable raw-table rewrite (inline edit + status dropdown + tag multi-select), LeadsSearch instant filter, page wiring, LeadDetail tags **UI hint**: yes — riferimento design Pipedrive/Attio (confermato dall'utente 2026-06-13) -**Status**: Planned +**Status**: ✅ Complete (2026-06-14) — 5/5 success criteria verified, code review 0 critical/6 warnings/3 info ### Phase 15: Dashboard Revenue Stats **Goal**: La Dashboard admin mostra le statistiche di revenue mensile (ex `/admin/forecast`), calcolate da `project_offers` @@ -131,7 +131,7 @@ Plans: | 11. Catalog Database-View UX & Legacy Consolidation | 4/4 | ✅ Done | 2026-06-13 | | 12. Offer Composition Drag&Drop & CSV Import | — | Pending planning | — | | 13. Workspace — Servizi Attivi | — | Pending planning | — | -| 14. CRM Attio-style & Fix | — | Pending planning (in progress) | — | +| 14. CRM Attio-style & Fix | 3/3 | Complete | 2026-06-14 | | 15. Dashboard Revenue Stats | — | Blocked (mockup utente) | — | | 16. Proposal AI — Data Foundations & Auto-Provisioning | — | Pending planning | — | | 17. Proposal AI — Builder, Pagina Pubblica & Email | — | Pending planning | — | diff --git a/.planning/STATE.md b/.planning/STATE.md index 93db529..b4e5530 100644 --- a/.planning/STATE.md +++ b/.planning/STATE.md @@ -3,15 +3,15 @@ gsd_state_version: 1.0 milestone: v2.1 milestone_name: milestone status: executing -stopped_at: Phase 14 UI-SPEC approved -last_updated: "2026-06-14T10:16:13.676Z" -last_activity: 2026-06-14 -- Phase 14 planning complete +stopped_at: Phase 14 complete (5/5 success criteria verified); Phase 15 blocked on user mockup +last_updated: "2026-06-14T13:20:53.997Z" +last_activity: 2026-06-14 -- Phase 14 (crm-attio-style-fix) execution complete progress: total_phases: 7 - completed_phases: 1 + completed_phases: 2 total_plans: 7 - completed_plans: 4 - percent: 57 + completed_plans: 7 + percent: 100 --- # Project State @@ -22,22 +22,22 @@ See: .planning/PROJECT.md (updated 2026-06-13) **Core value:** Il cliente apre il link e vede esattamente a che punto è il suo progetto, cosa deve ancora succedere e cosa ha già approvato — senza dover scrivere email per chiedere aggiornamenti. -**Current focus:** Phase 14 — crm-attio-style-fix +**Current focus:** Phase 15 — dashboard-revenue-stats (blocked on user mockup; Phase 14 complete) ## Current Position -Phase: 14 +Phase: 15 Plan: Not started -Status: Ready to execute -Last activity: 2026-06-14 -- Phase 14 planning complete +Status: Blocked — Phase 15 awaiting user mockup (Phase 14 complete, see ROADMAP) +Last activity: 2026-06-14 -- Phase 14 (crm-attio-style-fix) execution complete -Progress: [█████▒░░░░] 57% +Progress: [██████████] 100% ## Performance Metrics **Velocity:** -- Total plans completed: 4 (v2.1) +- Total plans completed: 7 (v2.1) - Average duration: — - Total execution time: — @@ -47,6 +47,7 @@ Progress: [█████▒░░░░] 57% |-------|-------|-------|----------| | Phase 11 P01 | 25min | 2 tasks | 6 files | | 11 | 4 | - | - | +| 14 | 3 | - | - | **Recent Trend:** @@ -99,6 +100,6 @@ Items acknowledged and carried forward from previous milestone close: ## Session Continuity -Last session: 2026-06-14T08:54:38.362Z -Stopped at: Phase 14 UI-SPEC approved -Resume file: .planning/phases/14-crm-attio-style-fix/14-UI-SPEC.md +Last session: 2026-06-14T13:20:53.997Z +Stopped at: Phase 14 complete (5/5 success criteria verified, code review 0 critical/6 warnings/3 info); Phase 15 blocked on user mockup +Resume file: .planning/phases/14-crm-attio-style-fix/14-VERIFICATION.md