diff --git a/apps/platforms/src/layouts/Longevity.astro b/apps/platforms/src/layouts/Longevity.astro index 27b048b..b3a4444 100644 --- a/apps/platforms/src/layouts/Longevity.astro +++ b/apps/platforms/src/layouts/Longevity.astro @@ -14,6 +14,7 @@ import '@fontsource/open-sans/400.css'; import '@fontsource/open-sans/600.css'; import '../styles/global.css'; import '../styles/longevity.css'; +import { codicePerUtenteLoggato } from '../lib/longevity/anagrafica'; interface Props { title: string; @@ -25,6 +26,13 @@ interface Props { const { title, crumbs = [], variante = 'referto' } = Astro.props; const path = Astro.url.pathname; +// Nessuna pagina di Longevity deve lasciare l'utente senza un'uscita (#10): il gestionale +// mostra "Il mio referto" solo a chi ha davvero un fascicolo, e il referto porta sempre +// un link fuori dalla piattaforma (più uno al gestionale, per lo staff). +const user = Astro.locals.user; +const staff = user?.role === 'admin' || user?.role === 'trainer'; +const haFascicolo = user ? codicePerUtenteLoggato(user.id) !== null : false; + // Le voci della barra laterale del gestionale: nasce con due pagine, non le sette di // Stress Index — un elenco più lungo arriverà con gli sviluppi futuri (#3, #7, #8). const NAV_GESTIONALE = [ @@ -58,7 +66,9 @@ const NAV_GESTIONALE = [ {item.label} ))} - Il mio referto + {haFascicolo && ( + Il mio referto + )}
+ {staff && ← Gestionale} + Piattaforme +
Nessun fascicolo è ancora collegato al tuo account. Contatta lo staff InsanityLab.
+ {user.role === 'admin' || user.role === 'trainer' ? ( ++ Il tuo account è da staff: non ha un fascicolo personale. + Torna al gestionale. +
+ ) : ( ++ Nessun fascicolo è ancora collegato al tuo account. Contatta lo staff InsanityLab. + Torna alle piattaforme. +
+ )}