From f7f6410559fa7d953485d6a1c5330d7d8166e922 Mon Sep 17 00:00:00 2001 From: luciano Date: Thu, 7 May 2026 15:08:30 +0200 Subject: [PATCH] =?UTF-8?q?feat(ui):=20hero=20card=20pi=C3=B9=20viva=20+?= =?UTF-8?q?=20nav=20gerarchia=20+=20contrast=20banner?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Tre rifiniture dopo la seconda iterazione visiva della dashboard: 1. **DashboardHero più presente**: gradient bicolore (oliva→oro) con opacità 0.32 invece di 0.18, bordo 2px invece di 1, mesh-blob più grande (h-72) e più denso (opacity-75). Aggiunta art `` SVG in basso-dx con piatto stilizzato + macchie ingredienti (oliva/pomodoro/oro). Titolo cresce a 6xl su desktop. Aggiunta riga di metadata in alto ("7 giorni · 21 pasti") + caption sotto. La card adesso ha peso visivo proporzionale al fatto che è la CTA principale del logged-in. 2. **NavItem gerarchia**: chapter (II/III/IV…) ora è un elemento prominente in italic 2xl a sx (era un piccolo number monospace inline). Eyebrow + label centrali. Freccia 2xl a dx con translate-x al hover. Hover non inverte più i colori (era bg-ink+text-carta) — più semplice: il chapter, eyebrow e freccia diventano pomodoro, il bordo si fa più scuro. Più "app" e meno aggressivo. 3. **Banner trial più leggibile**: subtitle da `text-carta/70` a `text-carta/85`, eyebrow da `text-carta-light/60` a `text-carta-light/75`. Contrasto AA su fondo nero. Co-Authored-By: Claude Opus 4.7 (1M context) --- apps/web/src/app/[locale]/page.tsx | 106 ++++++++++++++++++++--------- 1 file changed, 74 insertions(+), 32 deletions(-) diff --git a/apps/web/src/app/[locale]/page.tsx b/apps/web/src/app/[locale]/page.tsx index 6edce53..6a5cc97 100644 --- a/apps/web/src/app/[locale]/page.tsx +++ b/apps/web/src/app/[locale]/page.tsx @@ -739,7 +739,7 @@ function FinalCta() {
{/* Pull-quote in alto, indentata */} -

+

{t('ctaSectionBody')}

@@ -887,38 +887,75 @@ function DashboardHero({ accent === 'oliva' ? 'text-oliva' : accent === 'pomodoro' ? 'text-pomodoro' : 'text-oro'; const tintGrad = accent === 'oliva' - ? 'linear-gradient(135deg, hsl(var(--oliva) / 0.18) 0%, hsl(var(--carta-light)) 70%)' + ? 'linear-gradient(135deg, hsl(var(--oliva) / 0.32) 0%, hsl(var(--oro) / 0.18) 50%, hsl(var(--carta-light)) 90%)' : accent === 'pomodoro' - ? 'linear-gradient(135deg, hsl(var(--pomodoro) / 0.18) 0%, hsl(var(--carta-light)) 70%)' - : 'linear-gradient(135deg, hsl(var(--oro) / 0.18) 0%, hsl(var(--carta-light)) 70%)'; + ? 'linear-gradient(135deg, hsl(var(--pomodoro) / 0.32) 0%, hsl(var(--oro) / 0.18) 50%, hsl(var(--carta-light)) 90%)' + : 'linear-gradient(135deg, hsl(var(--oro) / 0.32) 0%, hsl(var(--pomodoro) / 0.15) 50%, hsl(var(--carta-light)) 90%)'; return (
-
-

{eyebrow}

-
-

- {title} -

-

- → + +

+
+

{eyebrow}

+

+ 7 giorni · 21 pasti

+
+

+ {title} + . +

+
+

+ Il menu adattato al tuo BMR, alle tue esclusioni e ai tempi che hai in cucina. +

+ + → + +
+
); } +/** Art decorativa "piatto stilizzato" per la card hero. Tre macchie di + * colore che richiamano gli ingredienti, ruotate in modo asimmetrico. */ +function PlateArt({ accent }: { accent: 'oliva' | 'pomodoro' | 'oro' }) { + return ( + + + + + + + + ); +} + function NavItem({ href, label, @@ -934,22 +971,27 @@ function NavItem({
  • - - {chapter ? ( - - {chapter} - - ) : null} - - {eyebrow} - {label} + {chapter ? ( + + {chapter} + + ) : null} + + + {eyebrow} + + + {label} → @@ -978,13 +1020,13 @@ function TrialBanner({ billing }: { billing: BillingStatus | null }) { />
    -

    {t('trialBannerTitle')}

    +

    {t('trialBannerTitle')}

    {derived.trialDaysRemaining}{' '} {derived.trialDaysRemaining === 1 ? 'giorno' : 'giorni'} .

    -

    +

    Tutto sbloccato fino al {endsAt}. Poi serve un abbonamento per generare nuovi piani.

    @@ -1011,12 +1053,12 @@ function TrialBanner({ billing }: { billing: BillingStatus | null }) { />
    -

    {t('trialEndedBannerTitle')}

    +

    {t('trialEndedBannerTitle')}

    {t('trialEndedBannerTitle')} .

    -

    +

    {t('trialEndedBannerBody')}