# Guida Sanity CMS — Radicalmente Umani

Questa versione del sito usa **Sanity** per aggiornare da pannello:

- blog;
- workshop;
- immagini copertina;
- date, luogo, prezzo e link di prenotazione;
- stato del workshop: aperto, sold out, concluso.

Il sito resta visibile anche se Sanity non è ancora configurato: in quel caso usa i contenuti fallback presenti in `js/data.js`.

---

## 1. Crea lo Studio Sanity

Apri il terminale dentro la cartella del sito:

```bash
cd radicalmente-umani/sanity-studio
npm install
npm run dev
```

La prima volta Sanity ti chiederà login e configurazione del progetto.

---

## 2. Crea o collega il progetto

Nel file:

```text
sanity-studio/sanity.config.ts
```

sostituisci:

```ts
projectId: 'INSERISCI_PROJECT_ID'
```

con il tuo Project ID Sanity.

Il dataset consigliato è:

```text
production
```

---

## 3. Pubblica lo Studio

Sempre dalla cartella `sanity-studio`:

```bash
npm run deploy
```

Avrai un pannello tipo:

```text
https://radicalmente-umani.sanity.studio
```

Da lì Francesca e Martina potranno aggiornare blog e workshop senza toccare codice.

---

## 4. Collega il sito statico a Sanity

Apri:

```text
js/sanity-config.js
```

Imposta:

```js
window.RU_SANITY_CONFIG = {
  enabled: true,
  projectId: 'IL_TUO_PROJECT_ID',
  dataset: 'production',
  apiVersion: '2025-08-01',
  useCdn: true
};
```

---

## 5. Aggiungi i CORS su Sanity

Nel progetto Sanity vai su:

```text
Manage project → API → CORS Origins
```

Aggiungi:

```text
http://localhost:3000
http://localhost:3333
https://tuo-sito.pages.dev
https://www.tuodominio.it
```

Per lettura pubblica dei contenuti non devi esporre token nel frontend.

---

## 6. Campi disponibili per i workshop

Nel CMS troverai questi campi:

| Campo | Uso |
|---|---|
| Titolo | Radicalmente Artisti / Radicalmente Naturali |
| Slug | URL interno, es. radicalmente-artisti |
| Tag | Workshop / Laboratorio |
| Sottotitolo | Es. Degustazione di vino e pittura |
| Descrizione breve | Testo sintetico della card |
| Testo completo | Testo esteso della scheda aperta |
| Frase in evidenza | Box poetico/intermedio |
| Dettagli | Lista di righe: cosa faremo, mood, per chi, cosa porti a casa |
| CTA label | Testo bottone |
| CTA link | Link Tally, WhatsApp o sezione contatti |
| Tema | `artisti` o `naturali` |
| Stato | `open`, `soldout`, `past` |
| Data, orario, luogo, prezzo | Dati pratici |
| Immagine copertina | Immagine usata nella scheda |

---

## 7. Campi disponibili per il blog

| Campo | Uso |
|---|---|
| Titolo | Titolo articolo |
| Slug | URL articolo |
| Estratto | Testo breve per anteprima |
| Immagine copertina | Immagine card/articolo |
| Data pubblicazione | Ordinamento blog |
| Autore | Francesca, mARTIna, ecc. |
| Categoria | Arte, Natura, Cerchi, Workshop, Corpo |
| Testo articolo | Contenuto editoriale |

---

## 8. Dove mettere i link Tally

Per prenotazioni workshop, crea un form su Tally e incolla il link nel campo:

```text
CTA link
```

Esempio:

```text
https://tally.so/r/xxxxxx
```

Il bottone del workshop porterà direttamente al form.

---

## Note aggiornamento v2
Nel pacchetto aggiornato il progetto Sanity è già configurato con:

```js
projectId: 's4hm9c8u'
enabled: true
```

Il form contatti è impostato con FormSubmit verso `radicalmenteumani@gmail.com`. Per verificare l'invio reale, fare un test dal sito pubblicato: al primo invio FormSubmit può mandare una mail di conferma all'indirizzo destinatario.


## Nota v3: Diario / Blog
La pagina pubblica resta `blog.html` per compatibilità tecnica, ma nel sito viene mostrata come **Diario**. I contenuti arrivano dal tipo Sanity `post` (“Diario / Blog”). Se Sanity è attivo e non ci sono post pubblicati, il sito non mostra più contenuti demo: comparirà un messaggio di stato vuoto.
