feat: pagina Impostazioni redesign Quiet Luxury — sezioni tokenizzate + PoolManager tassonomie dual-mode

- impostazioni/page.tsx: sezione Analytics con input tariffa bordato (€/h, font-mono) + header uppercase
- TaxonomyManager: card sezione tokenizzata, griglie Offerte (2col) / Catalogo (3col)
- PoolManager: box bg-muted, badge conteggio mono, chip valori, add su Enter, delete cascade confermata
- DESIGN-SYSTEM.md: note pagina Impostazioni

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-12 12:14:52 +02:00
parent d444bd6064
commit dd2d148457
5 changed files with 502 additions and 100 deletions
+25
View File
@@ -303,6 +303,31 @@ header `bg-muted/50` uppercase muted, righe `hover:bg-muted/40` + `divide-y divi
- **Redditività**: `null` (0h tracciate) → `` muted; `>0` → emerald bold con dot
`bg-emerald-500`; `=0` → mono muted. Footer "Mostrando N di N progetti attivi".
### Impostazioni notes
`/admin/impostazioni` migrata a "Quiet Luxury" (replica `design-reference/pagina-impostazioni`).
Pagina a sezioni impilate (`space-y-8`), ogni sezione è una card
`rounded-xl border-border-light bg-card shadow-card p-6`.
- **Header**: `PageHeader` "Impostazioni" + sottotitolo ("Configura le tariffe target e gestisci
le tassonomie globali del sistema").
- **Titoli sezione**: `text-xs font-bold uppercase tracking-wider text-foreground`, sottotitolo
`text-xs text-tertiary`. Le sezioni tassonomia hanno un'icona (`Tag`/`BookOpen`) in un box
`h-9 w-9 rounded-lg border-border-light bg-muted text-muted-foreground`.
- **Analytics Profittabilità**: form server-action con input `type=number` in un gruppo bordato
`focus-within:border-primary focus-within:ring-1 ring-primary`, prefisso ``/suffisso `/h`
muted assoluti, valore `font-mono`; bottone "Salva" `bg-primary text-primary-foreground`.
- **Griglie tassonomia** (`TaxonomyManager`): `border-t border-border-light pt-4` + grid
`gap-6` — Offerte `md:grid-cols-2`, Catalogo `md:grid-cols-2 lg:grid-cols-3`.
- **PoolManager** (box campo): `rounded-xl border-border-light bg-muted/40 p-5 flex flex-col
justify-between`. Testata = label uppercase muted + badge conteggio mono
(`bg-card border-border-light text-tertiary`, sempre visibile anche a 0). Valori = chip
`bg-card border-border/60 text-foreground shadow-sm` con `X` (hover destructive → cascade
delete confermata via `window.confirm`). Vuoto → "Nessun valore inserito" italic muted.
Aggiunta = input full-width `bg-card border-border` con Enter (no bottone `+`); duplicati
bloccati con errore inline `text-destructive`.
- **Footer**: nota `text-xs text-tertiary` sulla sincronizzazione bidirezionale dei valori.
### Client Portal restyle notes
The `/client/[token]` portal was migrated to the same "Quiet Luxury" tokens