feat: pagina Catalogo redesign Quiet Luxury — griglia servizi tokenizzata + footer conteggio
- ServiceTable: contenitore bg-card/shadow-card, header uppercase muted, righe hover:bg-muted/40, footer "Visualizzazione di N servizi" - CatalogSearch: usa il primitivo SearchInput - page: sottotitolo sezione - tokenizza OptionSelect ed EditableCell (accent-primary) — erano rimasti con hex hardcoded Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -239,6 +239,30 @@ Griglia responsive di card `bg-card rounded-xl border-border p-6 shadow-card`
|
||||
(Tier · Servizi · Pubblico), righe `font-mono` `divide-y divide-border`; solo i
|
||||
tier con `servicesTotal > 0` o `public_price` valorizzato; "Pubblico" assente → `—`.
|
||||
|
||||
### Catalogo (griglia servizi) notes
|
||||
|
||||
`/admin/catalog` migrata a "Quiet Luxury" (replica `design-reference/pagina-catalogo`).
|
||||
È una griglia editabile in stile foglio di calcolo: `ServiceTable` in un contenitore
|
||||
`bg-card rounded-xl border-border shadow-card overflow-hidden`, header uppercase muted
|
||||
(`text-[11px] font-semibold uppercase tracking-wider text-muted-foreground`, `bg-muted/50`),
|
||||
righe `hover:bg-muted/40` / `divide` via `border-border`.
|
||||
|
||||
- **Celle inline**: nome/descrizione/prezzo/stato usano `EditableCell`; fase usa
|
||||
`OptionSelect`; offerta/pacchetto usano `OptionMultiSelect`. I badge fase/offerta/
|
||||
pacchetto sono colorati deterministicamente via `getOptionColor` (hash → palette a 7
|
||||
colori) — nessun colore semantico fisso, coerente col sistema tag del resto dell'app.
|
||||
- **Colonne**: riordinabili via drag (`GripVertical` on hover) e ordinabili sulle colonne
|
||||
`sortable` (`ArrowUp/Down` in `text-primary`); ordine persistito in `localStorage`
|
||||
(`catalog_col_order`).
|
||||
- **Quick-add**: ultima riga `bg-muted/40` con input inline (`+ Aggiungi servizio`, prezzo,
|
||||
fase datalist) — Invio ↵ crea il servizio. Servizi disattivati raggruppati sotto un header
|
||||
`bg-muted/40` e resi `opacity-50`.
|
||||
- **Search**: `SearchInput` primitivo (non più input+icona inline) su nome/categoria/fase/
|
||||
tag/pacchetto. Footer tabella "Visualizzazione di N servizi" (singolare/plurale).
|
||||
- **Nota primitivi**: in questa pass `OptionSelect` ed `EditableCell` (`accent-primary`)
|
||||
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).
|
||||
|
||||
### Client Portal restyle notes
|
||||
|
||||
The `/client/[token]` portal was migrated to the same "Quiet Luxury" tokens
|
||||
|
||||
Reference in New Issue
Block a user