diff --git a/apps/platforms/src/pages/longevity/gestionale/cliente/[code].astro b/apps/platforms/src/pages/longevity/gestionale/cliente/[code].astro index ac71f9e..b5debe4 100644 --- a/apps/platforms/src/pages/longevity/gestionale/cliente/[code].astro +++ b/apps/platforms/src/pages/longevity/gestionale/cliente/[code].astro @@ -12,6 +12,7 @@ import { sessioniDi } from '../../../../lib/longevity/gestionale'; import { misureDaVerificare } from '../../../../lib/longevity/misure'; import { refertoDi, ultimaSessioneDi } from '../../../../lib/longevity/vista'; import { formattaNumero } from '../../../../lib/longevity/formato'; +import { vociDelGiornale } from '../../../../lib/longevity/giornale'; export const prerender = false; @@ -26,6 +27,7 @@ const sessioni = sessioniDi(db, cliente.client_code); const daVerificare = misureDaVerificare(db, cliente.client_code); const ultimaId = ultimaSessioneDi(db, cliente.client_code); const referto = ultimaId !== null ? refertoDi(db, ultimaId) : null; +const voci = vociDelGiornale(db, cliente.client_code); // #16: giornale di bordo, solo staff const ETICHETTA_TIPO: Record<'checkup' | 'questionario', string> = { checkup: 'Check-up', @@ -46,6 +48,13 @@ const MESSAGGIO_VERIFICA: Record<'confermata' | 'scartata', string> = { }; const messaggioVerifica = verificata === 'confermata' || verificata === 'scartata' ? MESSAGGIO_VERIFICA[verificata] : null; +const giornaleEsito = params.get('giornale'); // #16: 'aggiunta' | 'cancellata', dal redirect dell'API +const MESSAGGIO_GIORNALE: Record<'aggiunta' | 'cancellata', string> = { + aggiunta: 'Nota aggiunta al giornale di bordo.', + cancellata: 'Nota cancellata dal giornale di bordo.', +}; +const messaggioGiornale = + giornaleEsito === 'aggiunta' || giornaleEsito === 'cancellata' ? MESSAGGIO_GIORNALE[giornaleEsito] : null; --- Check-up salvato (sessione #{salvato}).

} {corretto &&

Check-up corretto (sessione #{corretto}): punteggi ricalcolati.

} {messaggioVerifica &&

{messaggioVerifica}

} + {messaggioGiornale &&

{messaggioGiornale}

} {fuoriCount && (

{fuoriCount} {Number(fuoriCount) === 1 ? 'misura è' : 'misure sono'} fuori dal range di @@ -86,6 +96,53 @@ const messaggioVerifica =

Data di nascita: {cliente.data_nascita ? formattaData(cliente.data_nascita) : '—'}

+
+

Giornale di bordo

+

Solo lo staff lo vede. Una nota sbagliata si cancella e si riscrive: non si modifica.

+ +
+ + + + +
+ +
+
+ + {voci.length === 0 ? ( +

Nessuna nota ancora.

+ ) : ( + + + + {voci.map((v) => ( + + + + + + + ))} + +
DataAutoreNota
{formattaData(v.data)}{v.autore}{v.testo} + {(v.autore === Astro.locals.user!.username || Astro.locals.user!.role === 'admin') && ( +
+ + + +
+ )} +
+ )} +
+ {!referto && (

Nessuna sessione ancora: apri un check-up per cominciare il fascicolo.