Commit Graph

42 Commits

Author SHA1 Message Date
Adriano 6f51aec4c6 feat: preset stili contenuto con whitelist 2026-07-05 15:40:09 +02:00
Adriano 5f1d9f3740 feat: middleware limita editor ai percorsi contenuti 2026-07-05 15:38:21 +02:00
Adriano 0f94b5017c docs: fix regex EDITOR_ALLOWED nel piano (bypass prefisso) 2026-07-05 15:37:24 +02:00
Adriano 274a6c7600 fix: regex percorsi editor senza bypass prefisso 2026-07-05 15:36:38 +02:00
Adriano 77041f9d5a feat: ruoli admin/editor in auth e create-user 2026-07-05 15:31:53 +02:00
Adriano c7d9d4ba5d feat: tabella content_blocks e colonna role utenti 2026-07-05 15:28:17 +02:00
Adriano 83237feb65 docs: piano implementazione contenuti taggati + inventario
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 15:26:26 +02:00
Adriano b83d62c10c docs: fix stile tabelle markdownlint in spec
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 15:14:32 +02:00
Adriano 875b369939 docs: spec sistema contenuti taggati e pannello editor
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 15:10:17 +02:00
Adriano 98c42aae54 Allinea PageHero, lista programmi e dettaglio programma al design Figma
- PageHero: banner scuro min-height 380px, titolo bianco uppercase ~44px,
  variante con foto di sfondo e overlay scuro
- /programs: card con foto (aspect 4/3, hover zoom), ombra, reveal stagger
- Dettaglio programma: hero con foto, immagine grande nel corpo, categorie
  corrette da Figma, sidebar con icone programmi, pricing con card colorate
  tan/taupe/dark e prezzo grande
- Nuove foto card program-*.jpg e modulo condiviso program-icons.ts

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 16:10:36 +02:00
Adriano 7d2f0b7048 fix: colonne info con aspect ratio figma 413/308 2026-07-02 15:52:10 +02:00
Adriano ecdf12ee0e fix: hero a piena altezza con testo sovrapposto come da figma 2026-07-02 14:40:15 +02:00
Adriano 2d5ff1816d feat: hero completo uomo+donna, donna estratta dal fig via mcp figma 2026-07-02 14:16:31 +02:00
Adriano 6cc1cf5f44 fix: rimappa tutte le foto sugli slot corretti del design figma
Le immagini erano asset reali del .fig ma piazzate in slot sbagliati.
Rimappate home/training/about dal confronto con i PDF Figma; aggiunti
i 9 ritratti team about (chiari in home, scuri in about via imageAbout),
immagini mancanti per metodo/vision/convenzioni/studios/trial e hero
contatti. Fix imgOf (match esatto) e getImage per i background dedupati.
2026-07-02 13:56:55 +02:00
Adriano 0d9b645636 feat: animazioni stile template prowess (reveal, parallax, marquee, hero, hover) 2026-07-02 13:08:09 +02:00
Adriano e54daa105f docs: spec animazioni stile template prowess 2026-07-02 12:58:34 +02:00
Adriano eccc7ee237 fix: trust x-forwarded dietro traefik via security.allowedDomains 2026-07-02 11:50:47 +02:00
Adriano 3c949da75a feat: dockerfile multi-stage, compose con traefik per deploy vps 2026-07-02 11:44:42 +02:00
Adriano 6d1963737e fix: sitemap senza admin, categorie sidebar reali, 404 blog, og:image e README
- IMP-1: sitemap filter esclude /admin
- IMP-2: [slug].astro programmi usa CATEGORIES da blog-const con link /blog?categoria=
- MIN-1: blog/[slug].astro ritorna 404 vera invece di redirect
- MIN-3: public/img/og.jpg + meta og:image in Base.astro
- README: porta 3000→4321, Astro 5→7

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 02:05:30 +02:00
Adriano 29d633c795 chore: robots, favicon e smoke test 2026-07-02 01:56:54 +02:00
Adriano f0ad162f74 feat: area admin con editor tiptap, api crud e upload immagini
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 01:49:12 +02:00
Adriano f3fb2fe005 feat: blog pubblico con filtri, paginazione e articolo 2026-07-02 01:31:59 +02:00
Adriano e9840105a3 feat: pagina contatti e api email con validazione testata
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 01:26:49 +02:00
Adriano be4d933ca3 feat: pagine programmi con dettaglio e pricing performance class 2026-07-02 01:22:43 +02:00
Adriano ed35491d4c feat: pagina training
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 01:18:33 +02:00
Adriano c4cb05e142 fix: immagine sezione about a risoluzione adeguata
about-team-group.jpg (270×480) vincolato a max-width 320px per evitare
stiramento a 50vw (~650px). widths ridotto a [270], sizes="270px".

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 01:16:32 +02:00
Adriano ba89568a38 feat: pagina about 2026-07-02 01:10:56 +02:00
Adriano 45e5214417 feat: homepage completa da design Figma
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 01:01:21 +02:00
Adriano 2fdd1b9a7f feat: layout base con header, footer e 404 2026-07-02 00:48:14 +02:00
Adriano ac75720bd9 fix: apostrofi tipografici nei dati statici 2026-07-02 00:46:14 +02:00
Adriano 50ce224d11 feat: dati statici contenuti da design Figma 2026-07-02 00:42:01 +02:00
Adriano 6caba6fee1 feat: autenticazione a sessioni, middleware admin e script create-user
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 00:36:07 +02:00
Adriano d3b5e67132 feat: layer sqlite e repository posts con test 2026-07-02 00:33:23 +02:00
Adriano 42d603b55b feat: slugify, rate limit ed env helper con test 2026-07-02 00:31:18 +02:00
Adriano c9a9ff91fd feat: design tokens e css globale 2026-07-02 00:28:50 +02:00
Adriano 4445c422f8 fix: loghi insanitylab estratti dal pdf figma al posto dei loghi template
- logo-dark.png (600×108) e logo-light.png (600×342) ora estratti da
  FigmaDoc/Homepage.pdf via pdftoppm 300dpi + ImageMagick, con alpha
- scripts/extract-logos.sh: pipeline riproducibile e idempotente (md5 stabile)
- asset-map.json: rimossa sezione fallbacks ../Dati (fonte errata PROWESS++)
- apply-asset-map.mjs: commento pipeline aggiornato a 4 step

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 00:25:18 +02:00
Adriano 810e5d8dcd fix: limite altezza in optimize-assets, pesi immagini e report dimensioni
- optimize-assets.sh: resize da 1400x> a 1400x1600> (vincola anche altezza);
  qualità JPG 85→83; tutti i JPG esistenti ri-codificati (non solo PNG→JPG)
- asset-map.json: aggiunta chiave _nota con avviso conversione PNG→JPG
- apply-asset-map.mjs: skip chiavi JSON con prefisso _ (chiavi meta)
- src/assets/img: 11 MB → 3.7 MB, nessun file >500 KB (max: quote-bg 460 KB)
- task-2-report.md: sezione "Dimensioni finali" corretta + "Fix round 2"

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 00:14:56 +02:00
Adriano 551957e2e1 fix: pipeline asset riproducibile con script di ottimizzazione
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 00:06:54 +02:00
Adriano d8ef59e370 feat: asset immagini estratti da Figma e mappati
Estrazione da Web Insanity.fig, identificazione visiva, mappatura
semantica e ottimizzazione peso. 31 immagini in src/assets/img/,
2 loghi InsanityLab (fallback da Dati/) in public/img/. Tutti i 4
partner logo trovati nel Figma. PNG foto convertite a JPG q85 per
ridurre da 99 MB a 3.4 MB totali.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-01 23:57:39 +02:00
Adriano 5f7ed1f97b chore: scaffold progetto Astro 5 con adapter node 2026-07-01 23:35:56 +02:00
Adriano 9780e51137 Aggiunge piano implementazione sito
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-01 23:31:58 +02:00
Adriano 063972dd7c Aggiunge design spec sito InsanityLab
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-01 23:11:45 +02:00