From 50ce224d117dc5ac28b8c025f323ae5114c9d903 Mon Sep 17 00:00:00 2001 From: AdrianoDev Date: Thu, 2 Jul 2026 00:42:01 +0200 Subject: [PATCH] feat: dati statici contenuti da design Figma --- src/data/agenda.ts | 36 +++++++++++++++ src/data/method.ts | 9 ++++ src/data/partners.ts | 6 +++ src/data/pricing.ts | 17 +++++++ src/data/programs.ts | 104 ++++++++++++++++++++++++++++++++++++++++++ src/data/site.ts | 34 ++++++++++++++ src/data/team.ts | 24 ++++++++++ src/data/trainings.ts | 6 +++ 8 files changed, 236 insertions(+) create mode 100644 src/data/agenda.ts create mode 100644 src/data/method.ts create mode 100644 src/data/partners.ts create mode 100644 src/data/pricing.ts create mode 100644 src/data/programs.ts create mode 100644 src/data/site.ts create mode 100644 src/data/team.ts create mode 100644 src/data/trainings.ts diff --git a/src/data/agenda.ts b/src/data/agenda.ts new file mode 100644 index 0000000..3de555e --- /dev/null +++ b/src/data/agenda.ts @@ -0,0 +1,36 @@ +export const disciplines = ["Events", "Crossfit", "Cardio", "Box", "Meditation", "Yoga Classes", "Body Balance"] as const; +export const days = ["Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato", "Domenica"] as const; +export const slots = ["10.00", "12.00", "16.00", "18.00", "20.00"] as const; + +export interface AgendaEntry { day: number; slot: string; discipline: string; time: string; trainer: string } + +// Placeholder dal template Prowess (come nel Figma); il cliente fornirà l'orario reale. +export const agenda: AgendaEntry[] = [ + { day: 0, slot: "10.00", discipline: "Crossfit", time: "10.00 - 11.00", trainer: "Amanda Snow" }, + { day: 0, slot: "12.00", discipline: "Box", time: "12.00 - 13.00", trainer: "Matthew Dunn" }, + { day: 0, slot: "18.00", discipline: "Cardio", time: "18.00 - 19.00", trainer: "Randy Nelson" }, + { day: 0, slot: "20.00", discipline: "Crossfit", time: "20.00 - 21.00", trainer: "Amanda Snow" }, + { day: 1, slot: "10.00", discipline: "Cardio", time: "10.00 - 11.00", trainer: "Randy Nelson" }, + { day: 1, slot: "12.00", discipline: "Crossfit", time: "12.00 - 13.00", trainer: "Amanda Snow" }, + { day: 1, slot: "16.00", discipline: "Body Balance", time: "16.00 - 17.00", trainer: "Barbara Holland" }, + { day: 1, slot: "20.00", discipline: "Box", time: "20.00 - 21.00", trainer: "Matthew Dunn" }, + { day: 2, slot: "10.00", discipline: "Crossfit", time: "10.00 - 11.00", trainer: "Amanda Snow" }, + { day: 2, slot: "12.00", discipline: "Meditation", time: "12.00 - 13.00", trainer: "Nicole Fuller" }, + { day: 2, slot: "16.00", discipline: "Box", time: "16.00 - 17.00", trainer: "Matthew Dunn" }, + { day: 2, slot: "20.00", discipline: "Body Balance", time: "20.00 - 21.00", trainer: "Barbara Holland" }, + { day: 3, slot: "10.00", discipline: "Body Balance", time: "10.00 - 11.00", trainer: "Barbara Holland" }, + { day: 3, slot: "12.00", discipline: "Box", time: "12.00 - 13.00", trainer: "Matthew Dunn" }, + { day: 3, slot: "16.00", discipline: "Crossfit", time: "16.00 - 17.00", trainer: "Amanda Snow" }, + { day: 3, slot: "20.00", discipline: "Body Balance", time: "20.00 - 21.00", trainer: "Randy Nelson" }, + { day: 4, slot: "12.00", discipline: "Crossfit", time: "12.00 - 13.00", trainer: "Amanda Snow" }, + { day: 4, slot: "16.00", discipline: "Body Balance", time: "16.00 - 17.00", trainer: "Barbara Holland" }, + { day: 4, slot: "18.00", discipline: "Cardio", time: "18.00 - 19.00", trainer: "Randy Nelson" }, + { day: 4, slot: "20.00", discipline: "Yoga Classes", time: "20.00 - 21.00", trainer: "Amanda Snow" }, + { day: 5, slot: "10.00", discipline: "Cardio", time: "10.00 - 11.00", trainer: "Randy Nelson" }, + { day: 5, slot: "12.00", discipline: "Body Balance", time: "12.00 - 13.00", trainer: "Barbara Holland" }, + { day: 5, slot: "18.00", discipline: "Box", time: "18.00 - 19.00", trainer: "Matthew Dunn" }, + { day: 6, slot: "12.00", discipline: "Crossfit", time: "12.00 - 13.00", trainer: "Amanda Snow" }, + { day: 6, slot: "16.00", discipline: "Cardio", time: "16.00 - 17.00", trainer: "Randy Nelson" }, + { day: 6, slot: "18.00", discipline: "Box", time: "18.00 - 19.00", trainer: "Matthew Dunn" }, + { day: 6, slot: "20.00", discipline: "Body Balance", time: "20.00 - 21.00", trainer: "Barbara Holland" }, +]; diff --git a/src/data/method.ts b/src/data/method.ts new file mode 100644 index 0000000..08ad7eb --- /dev/null +++ b/src/data/method.ts @@ -0,0 +1,9 @@ +export const methodIntro = "Il Metodo Insanitylab si basa su un percorso strutturato in fasi, dove le prime due rappresentano il focus standard del lavoro: valutazione iniziale e avvio dell'allenamento personalizzato. A queste possono essere aggiunti servizi e approfondimenti extra, in base alle esigenze e agli obiettivi della persona."; +export const methodExtraNote = "Disponibili su richiesta, non incluse nel percorso standard."; + +export const methodSteps = [ + { n: 1, title: "Prima consulenza conoscitiva iniziale", text: "Dove raccogliamo un'anamnesi iniziale per comprendere il cliente, i suoi obiettivi e guidarlo verso il percorso più adatto.", extra: false, image: "method-step-1" }, + { n: 2, title: "Prima seduta operativa", text: "In cui si effettua la profilazione iniziale e la valutazione sul campo per definire il punto di partenza e impostare un percorso personalizzato.", extra: false, image: "method-step-2" }, + { n: 3, title: "Plicometria", text: "Test che misura il grasso sottocutaneo per stimare la massa grassa, disponibile su richiesta o come servizio aggiuntivo.", extra: true, image: "method-step-3" }, + { n: 4, title: "Analisi antropometriche", text: "Le analisi antropometriche sono misurazioni del corpo utili a valutare la composizione fisica e lo stato di forma.", extra: true, image: "method-step-4" }, +]; diff --git a/src/data/partners.ts b/src/data/partners.ts new file mode 100644 index 0000000..be9cba6 --- /dev/null +++ b/src/data/partners.ts @@ -0,0 +1,6 @@ +export const partners = [ + { name: "Ticket Welfare Edenred", image: "partner-edenred" }, + { name: "Welbee", image: "partner-welbee" }, + { name: "AON", image: "partner-aon" }, + { name: "Howden", image: "partner-howden" }, +]; diff --git a/src/data/pricing.ts b/src/data/pricing.ts new file mode 100644 index 0000000..7208c74 --- /dev/null +++ b/src/data/pricing.ts @@ -0,0 +1,17 @@ +export const performanceClassPricing = { + heading: "Acquista la tua performance class", + intro: "Questi sono i programmi delle classi di Insanity Lab selezionati per voi. Abbiamo scelto i migliori percorsi per offrirvi un'esperienza di allenamento completa e mirata.", + groups: [ + { + label: "Programmi performance class semestrale", + open: true, + plans: [ + { monthly: 130, entries: 1, note: "tot: 780€ · da 23€ lezione singola", installments: "2 rate da 390€ – inizio 60", best: "best price 720€" }, + { monthly: 234, entries: 2, note: "tot: 1.400€ · da 23€ lezione singola", installments: "2 rate da 700€ – inizio 60", best: "best price 1.250€" }, + { monthly: 300, entries: 3, note: "tot: 1.800€ · da 23€ lezione singola", installments: "2 rate da 900€ – inizio 60", best: "best price 1.650€" }, + ], + }, + { label: "Programmi performance class trimestrale", open: false, plans: [] }, + { label: "Programmi performance class mensile", open: false, plans: [] }, + ], +}; diff --git a/src/data/programs.ts b/src/data/programs.ts new file mode 100644 index 0000000..4b335c6 --- /dev/null +++ b/src/data/programs.ts @@ -0,0 +1,104 @@ +export interface Program { + slug: string; + title: string; + subtitle: string; + excerpt: string; + longDescription: string; + features: string[]; + faq: { q: string; a: string }[]; + hasPricing: boolean; +} + +export const programs: Program[] = [ + { + slug: "personal-training", + title: "Personal Training", + subtitle: "One to One / Small Group", + excerpt: "Il personal training InsanityLab è un percorso one-to-one su misura, seguito da un professionista dedicato, per raggiungere in modo sicuro ed efficace obiettivi di forma fisica, performance e benessere.", + longDescription: "Allenati con un trainer dedicato che costruisce un percorso su misura per i tuoi obiettivi. Ogni sessione one to one è pensata per migliorare performance, tecnica e risultati, con supporto costante, attenzione totale e allenamenti personalizzati. Disponibile anche in formula small group (massimo 3 persone) per unire attenzione personalizzata, motivazione e condivisione.", + features: ["Trainer dedicato", "Percorso su misura", "Valutazione iniziale e monitoraggio", "Formula one to one o small group (max 3)"], + faq: [ + { q: "Come si svolge la prima seduta?", a: "Con una consulenza conoscitiva iniziale: raccogliamo l'anamnesi, definiamo gli obiettivi e impostiamo il percorso più adatto." }, + { q: "Con quale frequenza ci si allena?", a: "La frequenza viene definita insieme al trainer in base a obiettivi, disponibilità e livello di partenza." }, + { q: "È adatto a chi parte da zero?", a: "Sì: il percorso è costruito sul tuo livello, con progressioni graduali e supervisione costante." }, + ], + hasPricing: false, + }, + { + slug: "performance-class", + title: "Performance Class", + subtitle: "Gruppo max 8 persone", + excerpt: "La Performance Class è un allenamento in piccoli gruppi, basato su una programmazione progressiva che combina forza e condizionamento per ottenere risultati concreti e costanti nel tempo.", + longDescription: "La Performance Class è un allenamento in piccoli gruppi con programmazione progressiva e scientifica, pensato per migliorare forza, composizione corporea e performance attraverso sessioni strutturate che combinano forza, ipertrofia e condizionamento metabolico. Non si improvvisa: ogni sessione ha un posto preciso all'interno di un piano più ampio.", + features: ["Allenamento ibrido", "Forza, ipertrofia, condizionamento metabolico e lavoro funzionale", "Sessioni da 50 minuti", "Fasi di bassa, media e alta intensità", "Programmazione mensile"], + faq: [ + { q: "Che cosa si intende per Performance Class?", a: "Un allenamento in piccoli gruppi (massimo 8 persone) guidato da trainer certificati, con programmazione progressiva mensile: ogni sessione ha un posto preciso all'interno di un piano più ampio." }, + { q: "Che tipo di allenamento viene svolto?", a: "Un allenamento ibrido che alterna forza, ipertrofia, condizionamento metabolico e lavoro funzionale. Le sessioni durano 50 minuti e prevedono fasi di bassa, media e alta intensità, calibrate sulla programmazione mensile." }, + { q: "A chi è consigliato questo servizio?", a: "A chi vuole allenarsi con qualità e continuità in un contesto di gruppo motivante, mantenendo una programmazione seria e misurabile." }, + { q: "Qual è la differenza rispetto a una class tradizionale?", a: "La programmazione: non è una lezione isolata ma parte di un piano mensile progressivo, con carichi e intensità calibrati." }, + { q: "Che tipo di risultati o miglioramenti si ottengono?", a: "Miglioramento di forza, composizione corporea e performance, con risultati concreti e costanti nel tempo." }, + { q: "Qual è l'intensità del lavoro?", a: "Alternata: fasi di bassa, media e alta intensità all'interno della stessa sessione, adattate al livello dei partecipanti." }, + ], + hasPricing: true, + }, + { + slug: "coaching", + title: "Coaching", + subtitle: "Programma di allenamento e monitoraggio", + excerpt: "Il coaching InsanityLab è un percorso personalizzato che, con programma su misura e supporto costante, guida la persona verso i propri obiettivi sviluppando autonomia e continuità nell'allenamento.", + longDescription: "Con il coaching hai un programma di allenamento su misura e un monitoraggio costante, ovunque ti alleni: in palestra, a casa o in viaggio. Il percorso sviluppa autonomia e continuità, adattandosi al tuo stile di vita (formula Fit Remote).", + features: ["Programma su misura", "Supporto e monitoraggio costanti", "Ovunque ti alleni (Fit Remote)", "Sviluppo di autonomia"], + faq: [ + { q: "Come funziona il monitoraggio?", a: "Il trainer segue i tuoi progressi con check periodici e adatta il programma in base ai risultati." }, + { q: "Serve attrezzatura?", a: "Il programma viene costruito sull'attrezzatura che hai a disposizione, in palestra o a casa." }, + { q: "È adatto se viaggio spesso?", a: "Sì: la formula Fit Remote è pensata per chi si allena in luoghi diversi." }, + ], + hasPricing: false, + }, + { + slug: "pilates-flow", + title: "Pilates Flow", + subtitle: "Movimento e controllo", + excerpt: "Il Pilates Flow migliora postura, core e consapevolezza corporea con un movimento fluido, mentre l'osteopatia supporta recupero, prevenzione e benessere globale integrandosi con l'allenamento.", + longDescription: "Il Pilates Flow unisce movimento fluido e controllo: migliora postura, core e consapevolezza corporea. Integrato con l'osteopatia, supporta recupero, prevenzione e benessere globale all'interno del percorso di allenamento.", + features: ["Postura e core", "Movimento fluido e controllo", "Integrazione con osteopatia", "Benessere globale"], + faq: [ + { q: "A chi è adatto il Pilates Flow?", a: "A chiunque voglia migliorare postura, mobilità e controllo del movimento, a ogni livello." }, + { q: "Serve esperienza precedente?", a: "No: le progressioni sono graduali e seguite da professionisti qualificati." }, + { q: "Come si integra con l'osteopatia?", a: "Il lavoro osteopatico supporta recupero e prevenzione, in sinergia con le sessioni di movimento." }, + ], + hasPricing: false, + }, + { + slug: "rehab", + title: "Rehab", + subtitle: "Recupero post-infortunio, patologie muscolo-scheletriche", + excerpt: "Il Rehab InsanityLab è un percorso supervisionato che accompagna dal recupero riabilitativo al ritorno all'attività fisica in modo sicuro, progressivo e personalizzato.", + longDescription: "Il Rehab accompagna dal recupero post-infortunio o da patologie muscolo-scheletriche fino al ritorno all'attività fisica. Percorso supervisionato da chinesiologi e osteopati, sicuro, progressivo e personalizzato.", + features: ["Recupero post-infortunio", "Patologie muscolo-scheletriche", "Supervisione di chinesiologi e osteopati", "Progressione sicura e personalizzata"], + faq: [ + { q: "Chi segue il percorso Rehab?", a: "Professionisti specializzati in rieducazione funzionale ed esercizio adattato, in sinergia con l'area osteopatica." }, + { q: "Serve una diagnosi medica?", a: "Se disponibile è utile portarla alla prima consulenza; il percorso si integra con le indicazioni dei sanitari." }, + { q: "Quanto dura il percorso?", a: "Dipende dalla condizione di partenza: la progressione viene definita e aggiornata durante il percorso." }, + ], + hasPricing: false, + }, + { + slug: "nutrition", + title: "Nutrizione", + subtitle: "Alimentazione e stile di vita", + excerpt: "La nutrizione in InsanityLab è un servizio personalizzato che integra alimentazione e allenamento per migliorare energia, performance e benessere con piani su misura e sostenibili.", + longDescription: "Il servizio di nutrizione integra alimentazione e allenamento: piani su misura e sostenibili per migliorare energia, performance e benessere, costruiti sul tuo stile di vita.", + features: ["Piani alimentari su misura", "Integrazione con l'allenamento", "Sostenibilità nel tempo", "Focus su energia e performance"], + faq: [ + { q: "Come inizia il percorso di nutrizione?", a: "Con una valutazione iniziale di abitudini, obiettivi e allenamento, da cui nasce il piano personalizzato." }, + { q: "È integrato con il training?", a: "Sì: alimentazione e allenamento vengono programmati in modo coerente." }, + { q: "Sono previsti controlli periodici?", a: "Sì, con aggiornamento del piano in base ai risultati." }, + ], + hasPricing: false, + }, +]; + +export function getProgram(slug: string): Program | undefined { + return programs.find((p) => p.slug === slug); +} diff --git a/src/data/site.ts b/src/data/site.ts new file mode 100644 index 0000000..5b1c6ee --- /dev/null +++ b/src/data/site.ts @@ -0,0 +1,34 @@ +export const site = { + name: "InsanityLab", + phone: "351 7535977", + email: "info@insanitylab.it", + address: "Via Leandro Alberti, 76", + cityLine: "40139 Bologna", + hours: ["Lun – Ven 6.00 – 21.00", "Sab 8.00 – 19.00 · Dom chiuso"], + socials: [ + { label: "Instagram", url: "https://www.instagram.com/insanitylab" }, + { label: "Facebook", url: "https://www.facebook.com/insanitylab" }, + { label: "LinkedIn", url: "https://www.linkedin.com/company/insanitylab" }, + ], + navigation: [ + { label: "Insanitylab", href: "/about" }, + { label: "Training", href: "/training" }, + { label: "Programmi", href: "/programs" }, + { label: "Blog & Edugo", href: "/blog" }, + { label: "Contatti", href: "/contact" }, + ], + footerTraining: [ + { label: "One to one", href: "/training#one-to-one" }, + { label: "Small groups", href: "/training#small-groups" }, + { label: "Performance class", href: "/training#performance-class" }, + { label: "Fit remote", href: "/training#fit-remote" }, + ], + footerPrograms: [ + { label: "Personal Training", href: "/programs/personal-training" }, + { label: "Performance Class", href: "/programs/performance-class" }, + { label: "Coaching", href: "/programs/coaching" }, + { label: "Rehab", href: "/programs/rehab" }, + { label: "Pilates Flow", href: "/programs/pilates-flow" }, + { label: "Nutrizione", href: "/programs/nutrition" }, + ], +}; diff --git a/src/data/team.ts b/src/data/team.ts new file mode 100644 index 0000000..36fd723 --- /dev/null +++ b/src/data/team.ts @@ -0,0 +1,24 @@ +export interface Member { name: string; shortName: string; role: string; bio: string; image?: string; founder: boolean } + +export const team: Member[] = [ + { name: "Donata Dal Pastro", shortName: "Donata", role: "Chinesiologa e Osteopata", founder: true, image: "team-donata", + bio: "Donata Dal Pastro è chinesiologa e osteopata specializzata in rieducazione funzionale, riatletizzazione sportiva ed esercizio adattato. Supervisiona l'area dedicata a prevenzione, recupero e benessere, con competenze specifiche anche in pediatria e gravidanza." }, + { name: "Nicola Antonelli", shortName: "Nicola", role: "Chinesiologo e Osteopata", founder: true, image: "team-nicola", + bio: "Nicola Antonelli è chinesiologo e osteopata specializzato in performance sportiva, functional training e bodybuilding. Coordina lo sviluppo tecnico dei percorsi dedicati alla performance e all'allenamento avanzato." }, + { name: "Eva Cassetta", shortName: "Eva", role: "Business Manager – Balance & Strategy", founder: true, + bio: "Eva Cassetta ricopre il ruolo di Business Manager – Balance & Strategy e si occupa della gestione amministrativa, economica e finanziaria del progetto, garantendone solidità, organizzazione e sostenibilità nel tempo." }, + { name: "Alessandro Lazzari", shortName: "Alessandro", role: "Trainer – Functional & Movement", founder: false, + bio: "Trainer – Functional & Movement. Laureando in Scienze Motorie, specializzato in running e atletica leggera." }, + { name: "Eleonora Cassani", shortName: "Eleonora", role: "Trainer – Planning Manager", founder: false, image: "team-eleonora", + bio: "Trainer – Planning Manager. Chinesiologa specializzata in attività preventiva e adattata, con focus su allenamento in gravidanza e post-gravidanza." }, + { name: "Antonello D'Alessandro", shortName: "Antonello", role: "Trainer – Exercise & Health", founder: false, image: "team-antonello", + bio: "Trainer – Exercise & Health. Chinesiologo specializzato in attività preventiva e adattata, Dottore in Osteopatia." }, + { name: "Alice Roda", shortName: "Alice", role: "Trainer – Functional & Movement", founder: false, + bio: "Trainer – Functional & Movement. Laureanda in Scienze Motorie e Preparatore Atletico. Scienza del movimento e massima cura della persona: un approccio al functional training empatico e accogliente, dove l'ascolto umano guida e supporta ogni tuo progresso." }, + { name: "Davide Bisagni", shortName: "Davide", role: "Trainer – Functional & Movement", founder: false, + bio: "Trainer – Functional & Movement. Chinesiologo e allenamento funzionale al servizio del corpo: massima cura del gesto atletico e attenzione mirata al recupero per prestazioni sostenibili e durature." }, + { name: "Giulia Barbàra", shortName: "Giulia", role: "Trainer – Pilates, Yoga & Mindfulness", founder: false, + bio: "Trainer – Pilates, Yoga & Mindfulness. Laureata in Psicologia Clinica e Riabilitazione, insegnante di Pilates, Yoga e Mindfulness, con approccio orientato al benessere e all'equilibrio mente-corpo." }, +]; + +export const homeTeam = ["Donata", "Nicola", "Eleonora", "Antonello"]; diff --git a/src/data/trainings.ts b/src/data/trainings.ts new file mode 100644 index 0000000..7940fee --- /dev/null +++ b/src/data/trainings.ts @@ -0,0 +1,6 @@ +export const trainings = [ + { id: "one-to-one", title: "One to One", caption: "Allenamento con un trainer dedicato", image: "training-one-to-one", description: "Allenati con un trainer dedicato che costruisce un percorso su misura per i tuoi obiettivi. Ogni sessione one to one è pensata per migliorare performance, tecnica e risultati. Supporto costante, attenzione totale e allenamenti personalizzati per dare il massimo.", cta: { label: "Contattaci", href: "/contact" } }, + { id: "small-groups", title: "Small Groups", caption: "Mini gruppi (max 3 persone) con trainer dedicato", image: "training-small-groups", description: "Allenati in mini gruppi da massimo 3 persone con un trainer dedicato. Un'esperienza small group che unisce attenzione personalizzata, motivazione e condivisione. Programmi mirati e supporto costante per raggiungere i tuoi obiettivi insieme.", cta: { label: "Contattaci", href: "/contact" } }, + { id: "performance-class", title: "Performance Class", caption: "Classi fino a 8 persone con trainer certificato", image: "training-performance-class", description: "Allenati in classi fino a 8 persone guidate da trainer certificati. Sessioni dinamiche ad alta intensità pensate per migliorare forza, resistenza e performance. Energia, motivazione e allenamenti strutturati per dare il massimo in ogni workout.", cta: { label: "Scopri", href: "/programs/performance-class" } }, + { id: "fit-remote", title: "Fit Remote", caption: "Piano di allenamento su misura, ovunque ti alleni.", image: "training-fit-remote", description: "Con Fit Remote hai un piano di allenamento su misura, ovunque ti alleni. Programmi personalizzati creati sui tuoi obiettivi, da seguire in palestra, a casa o in viaggio. Supporto costante e allenamenti pensati per adattarsi al tuo stile di vita.", cta: { label: "Contattaci", href: "/contact" } }, +] as const;