# Cima Progetti - Sito Aziendale Sito web moderno e responsivo sviluppato con **Svelte + Vite** per presentare servizi, metodologia e contatti aziendali. ## ✨ FunzionalitΓ  principali - πŸŒ“ **Tema light/dark** con persistenza locale - πŸ“± **Design completamente responsivo** - ⬆️ **Navbar collapsibile** con hide/show al scroll - 🎨 **Sistema di componenti riusabili** - πŸš€ **Routing client-side** con pagine di errore dedicate - β™Ώ **AccessibilitΓ ** e buone pratiche web ## πŸ› οΈ Requisiti - `Node.js` 18+ (consigliato LTS) - `npm` 9+ ## πŸš€ Avvio rapido ```bash npm install npm run dev ``` Applicazione disponibile su `http://localhost:5173`. ## πŸ“ Script disponibili - `npm run dev` - avvia il server di sviluppo con hot reload - `npm run build` - genera la build di produzione - `npm run preview` - avvia un'anteprima della build ## πŸ“ Struttura del progetto ``` src/ β”œβ”€β”€ App.svelte # Componente root con routing β”œβ”€β”€ main.js # Punto di ingresso β”œβ”€β”€ styles/ β”‚ β”œβ”€β”€ global.css # Stili globali e variabili tema β”‚ β”œβ”€β”€ App.css # Layout principale app β”‚ └── error-pages.css # Stili pagine errore β”œβ”€β”€ components/ β”‚ β”œβ”€β”€ Header/ # Navbar con scroll hide/show β”‚ β”œβ”€β”€ Hero/ # Sezione hero principale β”‚ β”œβ”€β”€ Services/ # Griglia servizi β”‚ β”œβ”€β”€ Footer/ # Footer con info aziendali β”‚ β”œβ”€β”€ Button/ # Componente button riusabile β”‚ └── ThemeToggle/ # Toggle tema light/dark └── pages/ β”œβ”€β”€ Contacts.svelte # Pagina contatti β”œβ”€β”€ 403.svelte # Accesso negato β”œβ”€β”€ 404.svelte # Pagina non trovata β”œβ”€β”€ 500.svelte # Errore server └── ErrorGeneric.svelte # Errore generico ``` ## πŸ—ΊοΈ Routing Il routing Γ¨ gestito in `src/App.svelte` tramite `window.location.pathname`. | Route | Componente | Descrizione | |-------|-----------|-------------| | `/` | `Hero` + `Services` | Home page | | `/contatti`, `/contacts` | `Contacts` | Pagina contatti | | `/403` | `Forbidden` | Accesso negato | | `/500` | `ServerError` | Errore server | | `/errore` | `ErrorGeneric` | Errore generico | | `/*` | `NotFound` | Pagina non trovata (404) | ## 🎨 Tema e Stili ### Variabili CSS globali Tutte le variabili tema sono in `src/styles/global.css`: ```css :root { --primary-color: #1343F0; /* Colore primario */ --text-color: #111827; /* Testo light mode */ --surface: #ffffff; /* Sfondo light mode */ --background: rgba(246, 249, 255, 0.5); /* ... altre variabili */ } :root[data-theme='dark'] { --primary-color: #4983F2; --text-color: #e6eef8; --surface: #000; --background: rgba(0, 0, 0, 0.8); /* ... altre variabili */ } ``` ### Come usare i colori tema ```svelte
Contenuto che segue il tema
``` ## 🧩 Componenti principali ### Button Componente button/link riusabile con tema integrato. ```svelte