longevity: 'Il mio referto' porta il trainer in una pagina senza uscita #10
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
src/layouts/Longevity.astro:61 — la barra del gestionale mostra sempre 'Il mio referto' → /longevity/io. Per un trainer/admin senza fascicolo io.astro mostra 'Nessun fascicolo collegato' nella variante 'referto', che non ha alcun link (né gestionale, né Piattaforme). Riprodotto da Adriano con trainer-prova, 2026-09-26. Anche il cliente, nella variante referto, non ha un link a /piattaforme.
ESITO: richiesta
RIF: gitea:Adriano/InsanityLab-web#10
COSA: nessuna pagina Longevity deve essere senza uscita; "Il mio referto" solo a chi ha un fascicolo.
FILE (tutti sotto apps/platforms/):
const user = Astro.locals.user;const staff = user?.role === 'admin' || user?.role === 'trainer';const haFascicolo = user ? codicePerUtenteLoggato(user.id) !== null : false;(import da '../lib/longevity/anagrafica').haFascicolo.lg-top, dopo le crumbs, un gruppo di link a destra:se
staff→<a href="/longevity/gestionale">← Gestionale</a>; sempre →<a href="/piattaforme">Piattaforme</a>.Classe nuova
lg-top__link(prefisso lg-, solo colori var(--c-...) già usati nel foglio, es. quelli di .lg-home).!codice: se l'utente è admin/trainer il testo diventa"Il tuo account è da staff: non ha un fascicolo personale." con link "Torna al gestionale" (/longevity/gestionale);
per gli altri resta il testo attuale più un link a /piattaforme.
TEST: tests/longevity/pagine.test.ts, test statici nuovi:
haFascicolo &&);Comandi: cd apps/platforms && npx vitest run && npx tsc --noEmit -p . && npm run build
NON TOCCARE: RULES in src/lib/auth.ts; lib/longevity/*.ts; nessun import di db identity nel layout oltre codicePerUtenteLoggato.
TRAPPOLE: tests/longevity/anagrafica.test.ts vieta che un file .ts/.astro contenga insieme le stringhe "Identity" e "Longevity" (il layout si chiama Longevity: non scrivere "Identity" né in codice né nei commenti). tests/longevity/referto.test.ts intercetta la parola "select" (anche in HTML/commenti): non usarla. Test sui colori ammessi in longevity.css: riusa solo var() già presenti.
🤖 goldrake — preso in carico 2026-09-26T13:44:55Z
ramo:
lavoro/goldrake· capacità: docker, pubblica, sempre-accesa, systemdSoluzione
Commit
22a400b, merge8f95a38in main, in produzione 2026-09-26 13:49 UTC. Longevity.astro: 'Il mio referto' nella barra del gestionale solo se codicePerUtenteLoggato(user.id) non è null; variante referto con link '← Gestionale' (admin/trainer) e 'Piattaforme' (tutti) nell'header. io.astro: senza fascicolo, lo staff vede 'account da staff' con link al gestionale, il cliente un link a /piattaforme. PROVA: vitest 261/261, tsc 0; da produzione con trainer-prova: nessun link 'Il mio referto' nel gestionale, /longevity/io mostra i link di ritorno.