diff --git a/README.md b/README.md index 3e20e68..5560219 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,15 @@ Modifica `.env` con le credenziali SMTP, percorsi database e upload directory se | `npm run preview` | Visualizza l'anteprima della build (locale) | | `npm run start` | Avvia il server production (richiede `npm run build` preliminare) | | `npm run test` | Esegui i test con Vitest | -| `npm run create-user` | Crea un nuovo utente (admin o redattore) | +| `npm run create-user` | Crea un nuovo utente: `-- [admin\|editor]` | + +## Gestione Contenuti + +I testi e le immagini del sito vetrina sono contenuti taggati, modificabili senza toccare il codice tramite il pannello `/admin/content`. Ogni blocco di contenuto è identificato da un tag (ad esempio `home.hero.title`) e può essere aggiornato nel valore, negli stili predefiniti (dimensione, peso, colore) e — per le immagini — sostituito con un upload o riportato all'originale. + +Il pannello raggruppa i tag per pagina, offre una ricerca per tag o contenuto e mostra per ogni blocco l'ultima modifica effettuata. Visitando il sito da utente autenticato con il parametro `?annotate=1` (link "Vedi sito con tag" nel pannello), ogni contenuto taggato viene evidenziato con un badge che rimanda direttamente al form di modifica corrispondente. + +Sono previsti due ruoli utente: `admin` ha accesso completo (articoli del blog, contenuti, upload), mentre `editor` può operare esclusivamente sul pannello contenuti. Gli utenti si creano con `npm run create-user -- editor`. ## Struttura Progetto diff --git a/src/components/home/ProgramsGrid.astro b/src/components/home/ProgramsGrid.astro index 058fd6a..5b11d01 100644 --- a/src/components/home/ProgramsGrid.astro +++ b/src/components/home/ProgramsGrid.astro @@ -13,8 +13,8 @@ import T from '../content/T.astro'; {programs.map((p, i) => ( -

{p.title}

-

{p.subtitle}

+ +
))} diff --git a/src/data/content-seed.ts b/src/data/content-seed.ts index 067bc65..a7786d0 100644 --- a/src/data/content-seed.ts +++ b/src/data/content-seed.ts @@ -300,7 +300,6 @@ export const contentSeed: SeedEntry[] = [ T('notfound.body', 'La pagina che cerchi non esiste o è stata spostata.'), T('notfound.cta', 'Torna alla home', []), - // I task di estrazione aggiungono qui le entry di header/footer/pagine/data file. ]; export const seedByTag = new Map(contentSeed.map((e) => [e.tag, e])); diff --git a/src/pages/about.astro b/src/pages/about.astro index 4c068a1..7a6af3b 100644 --- a/src/pages/about.astro +++ b/src/pages/about.astro @@ -1,4 +1,5 @@ --- +import type { ImageMetadata } from 'astro'; import Base from '../layouts/Base.astro'; import PageHero from '../components/PageHero.astro'; import Timeline from '../components/about/Timeline.astro';