From 70c52339dfb289358d9f29212ee18a54eb80978d Mon Sep 17 00:00:00 2001 From: stefanomanca Date: Sun, 3 May 2026 19:27:23 +0200 Subject: [PATCH] Initial commit --- .editorconfig | 5 + .gitignore | 8 + README.md | 88 ++ favicon.ico | Bin 0 -> 67646 bytes favicon_alt.ico | Bin 0 -> 67646 bytes index.html | 13 + package-lock.json | 1176 +++++++++++++++++ package.json | 17 + public/favicon.ico | Bin 0 -> 67646 bytes public/images/background/paper.png | Bin 0 -> 2874959 bytes public/images/icons/logo-bianco.svg | 11 + public/images/icons/logo-darktheme.svg | 11 + public/images/icons/logo-lighttheme.svg | 11 + public/images/icons/logo-nero.svg | 11 + src/App.svelte | 32 + src/components/Button/Button.css | 28 + src/components/Button/Button.svelte | 16 + src/components/Footer/Footer.css | 203 +++ src/components/Footer/Footer.svelte | 83 ++ src/components/Footer/assets/facebook.svg | 3 + src/components/Footer/assets/instagram.svg | 5 + src/components/Footer/assets/linkedin.svg | 3 + src/components/Footer/assets/tiktok.svg | 3 + src/components/Header/Header.css | 87 ++ src/components/Header/Header.svelte | 57 + src/components/Hero/Hero.css | 111 ++ src/components/Hero/Hero.svelte | 11 + src/components/Services/Services.css | 68 + src/components/Services/Services.svelte | 45 + src/components/ThemeToggle/ThemeToggle.css | 8 + src/components/ThemeToggle/ThemeToggle.svelte | 50 + src/main.js | 9 + src/pages/Contacts.svelte | 26 + src/pages/Error403.svelte | 28 + src/pages/Error404.svelte | 28 + src/pages/Error500.svelte | 28 + src/pages/ErrorGeneric.svelte | 28 + src/styles/App.css | 9 + src/styles/global.css | 88 ++ svelte.config.js | 5 + vite.config.js | 9 + 41 files changed, 2422 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitignore create mode 100644 README.md create mode 100644 favicon.ico create mode 100644 favicon_alt.ico create mode 100644 index.html create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/favicon.ico create mode 100644 public/images/background/paper.png create mode 100644 public/images/icons/logo-bianco.svg create mode 100644 public/images/icons/logo-darktheme.svg create mode 100644 public/images/icons/logo-lighttheme.svg create mode 100644 public/images/icons/logo-nero.svg create mode 100644 src/App.svelte create mode 100644 src/components/Button/Button.css create mode 100644 src/components/Button/Button.svelte create mode 100644 src/components/Footer/Footer.css create mode 100644 src/components/Footer/Footer.svelte create mode 100644 src/components/Footer/assets/facebook.svg create mode 100644 src/components/Footer/assets/instagram.svg create mode 100644 src/components/Footer/assets/linkedin.svg create mode 100644 src/components/Footer/assets/tiktok.svg create mode 100644 src/components/Header/Header.css create mode 100644 src/components/Header/Header.svelte create mode 100644 src/components/Hero/Hero.css create mode 100644 src/components/Hero/Hero.svelte create mode 100644 src/components/Services/Services.css create mode 100644 src/components/Services/Services.svelte create mode 100644 src/components/ThemeToggle/ThemeToggle.css create mode 100644 src/components/ThemeToggle/ThemeToggle.svelte create mode 100644 src/main.js create mode 100644 src/pages/Contacts.svelte create mode 100644 src/pages/Error403.svelte create mode 100644 src/pages/Error404.svelte create mode 100644 src/pages/Error500.svelte create mode 100644 src/pages/ErrorGeneric.svelte create mode 100644 src/styles/App.css create mode 100644 src/styles/global.css create mode 100644 svelte.config.js create mode 100644 vite.config.js diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..93e147a --- /dev/null +++ b/.editorconfig @@ -0,0 +1,5 @@ +root = true + +[*] +indent_style = space +indent_size = 4 \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..779b33b --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +node_modules/ +dist/ +.DS_Store +*.log +.env.local +.env +.vscode/ +.idea/ diff --git a/README.md b/README.md new file mode 100644 index 0000000..876f0f5 --- /dev/null +++ b/README.md @@ -0,0 +1,88 @@ +# cimaprogetti - Sito Aziendale + +Sito web professionale realizzato con **Svelte** e **Vite**. + +## Struttura del Progetto + +``` +src/ +├── components/ # Componenti Svelte riutilizzabili +│ ├── Header.svelte +│ ├── Hero.svelte +│ ├── Services.svelte +│ └── Footer.svelte +├── App.svelte # Componente principale +└── main.js # Entry point dell'applicazione +``` + +## Componenti Disponibili + +- **Header**: Barra di navigazione sticky con menu +- **Hero**: Sezione hero con call-to-action +- **Services**: Griglia con i servizi offerti +- **Footer**: Footer con informazioni aziendali e link + +## Setup Iniziale + +### Installazione + +```bash +npm install +``` + +### Avvio dello sviluppo + +```bash +npm run dev +``` + +Il progetto sarà disponibile su `http://localhost:5173` + +### Build per la produzione + +```bash +npm run build +``` + +### Preview della build + +```bash +npm run preview +``` + +## Customizzazione + +### Modificare i Servizi + +Modifica l'array `services` nel file [src/components/Services.svelte](src/components/Services.svelte) per aggiungere/rimuovere servizi. + +### Cambiare i Colori + +I colori principali sono definiti negli ` diff --git a/src/pages/Error403.svelte b/src/pages/Error403.svelte new file mode 100644 index 0000000..a44e915 --- /dev/null +++ b/src/pages/Error403.svelte @@ -0,0 +1,28 @@ + + +
+

403 - Accesso Negato

+

Non hai i permessi per accedere a questa risorsa.

+
+ + diff --git a/src/pages/Error404.svelte b/src/pages/Error404.svelte new file mode 100644 index 0000000..8dfd8d1 --- /dev/null +++ b/src/pages/Error404.svelte @@ -0,0 +1,28 @@ + + +
+

404 - Pagina Non Trovata

+

La pagina che stai cercando non esiste.

+
+ + diff --git a/src/pages/Error500.svelte b/src/pages/Error500.svelte new file mode 100644 index 0000000..dc960f9 --- /dev/null +++ b/src/pages/Error500.svelte @@ -0,0 +1,28 @@ + + +
+

500 - Errore del Server

+

Si è verificato un errore interno del server. Riprova più tardi.

+
+ + diff --git a/src/pages/ErrorGeneric.svelte b/src/pages/ErrorGeneric.svelte new file mode 100644 index 0000000..a471b49 --- /dev/null +++ b/src/pages/ErrorGeneric.svelte @@ -0,0 +1,28 @@ + + +
+

Errore

+

Si è verificato un errore. Per favore, riprova più tardi.

+
+ + diff --git a/src/styles/App.css b/src/styles/App.css new file mode 100644 index 0000000..3439039 --- /dev/null +++ b/src/styles/App.css @@ -0,0 +1,9 @@ +.app { + min-height: 100vh; + display: flex; + flex-direction: column; +} + +main { + flex: 1; +} diff --git a/src/styles/global.css b/src/styles/global.css new file mode 100644 index 0000000..c91ef57 --- /dev/null +++ b/src/styles/global.css @@ -0,0 +1,88 @@ +:root { + --primary-color: #0066cc; + --text-color: #111827; + --muted-color: #6b7280; + --surface: #ffffff; + --background: rgba(246, 249, 255, 0.5); +} + +/* Dark theme overrides (toggle by setting attribute on ) */ +:root[data-theme='dark'], html[data-theme='dark'] { + --primary-color: #4983F2; + --text-color: #e6eef8; + --muted-color: #9ca3af; + --surface: #000; + --background: rgba(0, 0, 0, 0.8); +} + +* { + box-sizing: border-box; +} + +body { + margin: 0; + padding: 0; + font-family: Helvetica, 'Segoe UI'; + color: var(--text-color); + background-color: var(--surface); + background-image: url('/images/background/paper.png'); + background-repeat: repeat; + position: relative; +} + +html, +body, +#app { + height: 100%; + position: relative; + z-index: 1; +} + +/* Background overlay layer that follows theme color */ +body::before { + content: ""; + position: fixed; + inset: 0; + background-color: var(--background); + pointer-events: none; + z-index: 0; +} + +/* Reusable theme asset helpers: + add theme-light-only / theme-dark-only to any paired element (images, icons, labels). */ +.theme-light-only { + display: inline-block; +} + +.theme-dark-only { + display: none; +} + +html[data-theme='dark'] .theme-light-only { + display: none; +} + +html[data-theme='dark'] .theme-dark-only { + display: inline-block; +} + +.theme-difference { + filter: invert(var(--icon-invert)); + transition: filter 0.3s ease; +} + +:root { + --icon-invert: 0; +} + +html[data-theme='dark'] { + --icon-invert: 1; +} + +h1 { + font-family: 'IBM Plex Mono', monospace; +} + +h2 { + font-family: 'IBM Plex Mono', monospace; +} \ No newline at end of file diff --git a/svelte.config.js b/svelte.config.js new file mode 100644 index 0000000..0131bfa --- /dev/null +++ b/svelte.config.js @@ -0,0 +1,5 @@ +import { vitePreprocess } from '@sveltejs/vite-plugin-svelte' + +export default { + preprocess: vitePreprocess() +} diff --git a/vite.config.js b/vite.config.js new file mode 100644 index 0000000..eb1df58 --- /dev/null +++ b/vite.config.js @@ -0,0 +1,9 @@ +import { defineConfig } from 'vite' +import { svelte } from '@sveltejs/vite-plugin-svelte' + +export default defineConfig({ + plugins: [svelte()], + server: { + port: 5173, + } +})