# Personalizzazione dell'e-commerce Tutte le personalizzazioni principali si gestiscono dal **pannello admin** senza toccare il codice, oppure modificando file specifici descritti qui sotto. --- ## 1. Tramite pannello admin (senza toccare il codice) Vai su `/admin/settings` per modificare: | Impostazione | Campo | Descrizione | |---|---|---| | Nome del sito | `site_name` | Appare nel titolo del browser e nel footer | | Descrizione | `site_description` | Meta description per SEO | | Copyright footer | `footer_copyright` | Testo in basso a sinistra nel footer | | Link nel footer | `footer_links` | Array JSON di link `[{"label":"Chi siamo","url":"/about"}]` | | Favicon (URL) | `favicon_url` | URL di un'immagine esterna da usare come favicon | Queste impostazioni sono salvate nel database e applicate in tempo reale. --- ## 2. Favicon (icona del browser) **Modo consigliato — file locale:** 1. Sostituisci il file [app/src/app/icon.png](../app/src/app/icon.png) con la tua icona 2. Formato: PNG con sfondo trasparente, dimensione minima 64×64px (ideale 512×512px) 3. Ricostruisci il container: `docker compose up --build app -d` > La favicon da pannello admin (`favicon_url`) ha la precedenza sul file locale. > Se vuoi usare solo il file locale, lascia `favicon_url` vuoto nel database. **Fallback applicato in** [app/src/app/layout.tsx](../app/src/app/layout.tsx): ```ts icons: { icon: (s.favicon_url as string) || '/icon.png' }, ``` --- ## 3. Titolo e descrizione del sito **Via pannello admin** (consigliato): imposta `site_name` e `site_description` in `/admin/settings`. **Valori di fallback nel codice** — [app/src/app/layout.tsx](../app/src/app/layout.tsx) righe 13-14: ```ts title: (s.site_name as string) || 'ShopX', // ← cambia 'ShopX' description: (s.site_description as string) || 'Your online store', ``` --- ## 4. Footer **Via pannello admin** (consigliato): imposta `footer_copyright` e `footer_links`. **Struttura del componente** — [app/src/components/storefront/Footer.tsx](../app/src/components/storefront/Footer.tsx): - Testo copyright: riga con `footer_copyright` o fallback automatico `© anno NomeSito` - Link di navigazione: array JSON salvato in `footer_links` Esempio `footer_links`: ```json [ { "label": "Chi siamo", "url": "/about" }, { "label": "Contatti", "url": "/contact" }, { "label": "Privacy", "url": "/privacy" } ] ``` --- ## 5. Riepilogo file da modificare (solo codice) | Cosa | File | |---|---| | Favicon locale | [app/src/app/icon.png](../app/src/app/icon.png) | | Fallback titolo/favicon | [app/src/app/layout.tsx](../app/src/app/layout.tsx) | | Struttura footer | [app/src/components/storefront/Footer.tsx](../app/src/components/storefront/Footer.tsx) | | Stili globali | [app/src/app/globals.css](../app/src/app/globals.css) | --- ## 6. Dopo modifiche al codice Se hai modificato file nel codice (non solo il pannello admin), ricostruisci il container: ```bash docker compose up --build app -d ```