From 9375a0380da364a1a763c708bd427e58105a0917 Mon Sep 17 00:00:00 2001 From: "Adriano (goldrake)" Date: Sat, 26 Sep 2026 13:05:47 +0000 Subject: [PATCH] =?UTF-8?q?longevity:=20pagina=20del=20gestionale=20?= =?UTF-8?q?=E2=80=94=20modulo=20di=20check-up=20manuale?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit pages/longevity/gestionale/cliente/[code]/checkup.astro: campi da campiDelCheckup, raggruppati per asse, etichetta e unità, input inputmode="decimal" tutti facoltativi (la virgola decimale e i campi vuoti li gestisce l'endpoint). Invio verso /api/longevity/gestionale/checkup. Refs #2 --- .../gestionale/cliente/[code]/checkup.astro | 57 +++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 apps/platforms/src/pages/longevity/gestionale/cliente/[code]/checkup.astro diff --git a/apps/platforms/src/pages/longevity/gestionale/cliente/[code]/checkup.astro b/apps/platforms/src/pages/longevity/gestionale/cliente/[code]/checkup.astro new file mode 100644 index 0000000..35a41a4 --- /dev/null +++ b/apps/platforms/src/pages/longevity/gestionale/cliente/[code]/checkup.astro @@ -0,0 +1,57 @@ +--- +// Il modulo del check-up manuale: i campi letti dal registro (campiDelCheckup), +// raggruppati per asse come il modulo cartaceo. L'invio va all'API del gestionale, che fa +// la validazione vera (pages/api/longevity/gestionale/checkup.ts) — qui c'è solo il form. +import Longevity from '../../../../../layouts/Longevity.astro'; +import { getLongevityDb } from '../../../../../lib/longevity/db'; +import { clienteDaCodice } from '../../../../../lib/longevity/anagrafica'; +import { campiDelCheckup } from '../../../../../lib/longevity/gestionale'; + +export const prerender = false; + +const { code } = Astro.params; +const cliente = code ? clienteDaCodice(code) : null; +if (!cliente) return new Response('Cliente non trovato', { status: 404 }); + +const oggi = new Date().toISOString().slice(0, 10); +const gruppi = campiDelCheckup(getLongevityDb(), oggi); +const errore = Astro.url.searchParams.get('errore'); +--- + +
+

Nuovo check-up

+

{cliente.cognome} {cliente.nome} — {cliente.client_code}. Lascia vuoto ciò che non hai misurato oggi.

+
+ + {errore &&

{errore}

} + +
+ + + + + {gruppi.map((g) => ( +
+

{g.asse}

+ {g.campi.map((c) => ( + + ))} +
+ ))} + +
+ Annulla + +
+
+