feat: pagina Preventivi redesign Quiet Luxury — tabella tokenizzata + badge stato dual-mode

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-12 11:53:41 +02:00
parent c29fab8975
commit dd4ae42542
2 changed files with 124 additions and 67 deletions
+19
View File
@@ -263,6 +263,25 @@ righe `hover:bg-muted/40` / `divide` via `border-border`.
sono stati tokenizzati — erano rimasti con hex hardcoded mentre `OptionMultiSelect` era
già token-based. Il fix vale per tutte le pagine che li usano (Offerte, Lead).
### Preventivi (lista) notes
`/admin/preventivi` migrata a "Quiet Luxury" (replica `design-reference/pagina-preventivi`).
Tabella in contenitore `bg-card rounded-xl border-border shadow-card overflow-hidden`, header
uppercase muted (`bg-muted/50`, `text-[11px] font-semibold uppercase tracking-wider`), righe
`hover:bg-muted/40` con `divide-y divide-border`.
- **Header**: `PageHeader` "Preventivi" + sottotitolo, azione `Button` "Genera preventivo"
(`+`, link a `/admin/preventivi/genera`).
- **Colonne**: Titolo (link → dettaglio, `font-semibold hover:text-primary`), Lead/Cliente,
Offerta (muted), Stato (badge centrato), Data (`font-mono text-xs`), Azione.
- **Badge stato**: pill rounded-full `text-[10px] uppercase border` con dual light/dark —
Bozza→amber, Pubblicato→sky, Accettato→emerald, Rifiutato→red (stesso linguaggio di
`StatusBadge`; label ITA mappate localmente perché gli stati proposal ≠ lead stages).
- **Azione**: solo per `published`/`accepted` link "Apri →" (`ArrowRight` con group-hover
translate) al preventivo pubblico `/preventivo/<slug>` in new tab; altrimenti `` muted.
- **Empty state**: `border-dashed border-border rounded-xl`, `FileText` muted + CTA
"Genera il primo preventivo →". Footer "Mostrando N di N preventivi generati".
### Client Portal restyle notes
The `/client/[token]` portal was migrated to the same "Quiet Luxury" tokens