feat: tag contenuti pagina about e timeline
This commit is contained in:
+62
-55
@@ -2,28 +2,29 @@
|
||||
import Base from '../layouts/Base.astro';
|
||||
import PageHero from '../components/PageHero.astro';
|
||||
import Timeline from '../components/about/Timeline.astro';
|
||||
import { Image } from 'astro:assets';
|
||||
import { team } from '../data/team';
|
||||
import { site } from '../data/site';
|
||||
import T from '../components/content/T.astro';
|
||||
import TImg from '../components/content/TImg.astro';
|
||||
import { t } from '../lib/content';
|
||||
const images = import.meta.glob<{ default: ImageMetadata }>('../assets/img/*.{jpg,png}', { eager: true });
|
||||
const imgOf = (name: string) => Object.entries(images).find(([p]) => p.includes(name))?.[1]?.default;
|
||||
const founders = team.filter((m) => m.founder);
|
||||
const staff = team.filter((m) => !m.founder);
|
||||
export const prerender = true;
|
||||
---
|
||||
<Base title="Insanitylab" description="Mission, storia, team e metodo di InsanityLab: un laboratorio esclusivo dove movimento, prevenzione e performance convivono in un approccio personalizzato.">
|
||||
<PageHero title="Insanitylab" />
|
||||
<Base title={t('about.meta.title')} description={t('about.meta.description')}>
|
||||
<PageHero title={t('about.hero.title')} />
|
||||
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<div class="about-img-row">
|
||||
<div class="about-img-row__text section-heading">
|
||||
<h2>Mission</h2>
|
||||
<p>In InsanityLab crediamo che il movimento non debba essere vissuto come un obbligo o un sacrificio, ma come una forma autentica di cura di sé. La nostra missione è accompagnare ogni persona in un percorso di consapevolezza, aiutandola a riscoprire il benessere fisico e mentale attraverso un approccio sostenibile, concreto e duraturo.</p>
|
||||
<T tag="about.mission.title" as="h2" />
|
||||
<T tag="about.mission.body" as="p" />
|
||||
</div>
|
||||
{imgOf('about-training-group') && (
|
||||
<div class="about-img-row__img">
|
||||
<Image src={imgOf('about-training-group')!} alt="Training group InsanityLab" widths={[600, 900]} sizes="(max-width:767px) 100vw, 50vw" />
|
||||
<TImg tag="about.mission.image" src={imgOf('about-training-group')!} alt="Training group InsanityLab" widths={[600, 900]} sizes="(max-width:767px) 100vw, 50vw" />
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
@@ -33,14 +34,14 @@ export const prerender = true;
|
||||
<section class="section section--alt">
|
||||
<div class="container about-2col">
|
||||
<div>
|
||||
<h2>Direzione</h2>
|
||||
<p>Non ci limitiamo ad allenare il corpo: creiamo percorsi personalizzati che uniscono movimento, equilibrio e benessere, attraverso il supporto di professionisti qualificati, programmi su misura e un approccio centrato sulla persona e su risultati duraturi.</p>
|
||||
<a class="btn" href="/programs">Scopri</a>
|
||||
<T tag="about.direzione.title" as="h2" />
|
||||
<T tag="about.direzione.body" as="p" />
|
||||
<a class="btn" href="/programs">{t('about.direzione.cta')}</a>
|
||||
</div>
|
||||
<div>
|
||||
<h2>Approccio</h2>
|
||||
<p>InsanityLab si distingue per un approccio serio e personalizzato al benessere, basato su competenze specializzate, costanza e cura quotidiana, rivolto a chiunque voglia migliorare il proprio stile di vita in modo consapevole e duraturo.</p>
|
||||
<a class="btn btn--dark" href="/contact">Contattaci</a>
|
||||
<T tag="about.approccio.title" as="h2" />
|
||||
<T tag="about.approccio.body" as="p" />
|
||||
<a class="btn btn--dark" href="/contact">{t('about.approccio.cta')}</a>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -49,12 +50,12 @@ export const prerender = true;
|
||||
<div class="container">
|
||||
<div class="about-img-row about-img-row--reverse">
|
||||
<div class="about-img-row__text section-heading">
|
||||
<h2>About</h2>
|
||||
<p>InsanityLab nasce con l'obiettivo di unire fitness e salute in un unico percorso dedicato al benessere globale, superando il concetto tradizionale di palestra. Un laboratorio esclusivo, guidato da osteopati e chinesiologi e professionisti specializzati, dove movimento, prevenzione e performance convivono all'interno di un approccio personalizzato e consapevole.</p>
|
||||
<T tag="about.about.title" as="h2" />
|
||||
<T tag="about.about.body" as="p" />
|
||||
</div>
|
||||
{imgOf('about-pushup') && (
|
||||
<div class="about-img-row__img about-img-row__img--native">
|
||||
<Image src={imgOf('about-pushup')!} alt="Allenamento InsanityLab" widths={[320, 640]} sizes="320px" />
|
||||
<TImg tag="about.about.image" src={imgOf('about-pushup')!} alt="Allenamento InsanityLab" widths={[320, 640]} sizes="320px" />
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
@@ -66,18 +67,18 @@ export const prerender = true;
|
||||
<section class="section section--dark">
|
||||
<div class="container">
|
||||
<div class="section-heading">
|
||||
<h2>Convenzioni</h2>
|
||||
<p>InsanityLab collabora con aziende, enti e organizzazioni che desiderano investire concretamente nel benessere delle proprie persone, attraverso programmi dedicati alla salute, al movimento e alla qualità della vita. Le convenzioni nascono con l'obiettivo di portare il valore del benessere anche all'interno del contesto professionale, creando percorsi che favoriscano equilibrio fisico, prevenzione e performance quotidiana.</p>
|
||||
<T tag="about.convenzioni.title" as="h2" />
|
||||
<T tag="about.convenzioni.body" as="p" />
|
||||
</div>
|
||||
<ul class="conv">
|
||||
<li>Le realtà convenzionate possono accedere a programmi di welfare aziendale personalizzati, con percorsi individuali, small group training e classi di gruppo seguiti da professionisti qualificati.</li>
|
||||
<li>Ogni collaborazione parte da una consulenza gratuita preliminare per analizzare esigenze e obiettivi, così da sviluppare soluzioni efficaci e sostenibili.</li>
|
||||
<li>Le convenzioni vengono definite su misura insieme a InsanityLab, in base alle caratteristiche e alle necessità dell'azienda partner.</li>
|
||||
<T tag="about.convenzioni.item1" as="li" />
|
||||
<T tag="about.convenzioni.item2" as="li" />
|
||||
<T tag="about.convenzioni.item3" as="li" />
|
||||
</ul>
|
||||
<p class="conv__cta">Per ricevere maggiori informazioni o attivare una convenzione: {site.email} · {site.phone}</p>
|
||||
<p class="conv__cta">{t('about.convenzioni.cta-text')} {t('global.contact.email')} · {t('global.contact.phone')}</p>
|
||||
{imgOf('about-conventions') && (
|
||||
<div class="round-img">
|
||||
<Image src={imgOf('about-conventions')!} alt="Convenzioni aziendali" widths={[360, 720]} sizes="360px" />
|
||||
<TImg tag="about.convenzioni.image" src={imgOf('about-conventions')!} alt="Convenzioni aziendali" widths={[360, 720]} sizes="360px" />
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
@@ -86,29 +87,35 @@ export const prerender = true;
|
||||
<section class="section">
|
||||
<div class="container">
|
||||
<div class="section-heading">
|
||||
<h2>Team</h2>
|
||||
<p>Il team di InsanityLab riunisce professionisti specializzati in allenamento, salute e benessere, con un approccio multidisciplinare basato su competenza, personalizzazione e attenzione alla persona.</p>
|
||||
<T tag="about.team.title" as="h2" />
|
||||
<T tag="about.team.body" as="p" />
|
||||
</div>
|
||||
<div class="tgrid tgrid--founders">
|
||||
{founders.map((m) => (
|
||||
<article class="tcard">
|
||||
{m.imageAbout && imgOf(m.imageAbout) && <Image src={imgOf(m.imageAbout)!} alt={m.name} widths={[300, 500]} sizes="(max-width:767px) 100vw, 33vw" />}
|
||||
<h3>{m.shortName}</h3>
|
||||
<p class="tcard__role">{m.role}</p>
|
||||
<p>{m.bio}</p>
|
||||
</article>
|
||||
))}
|
||||
{founders.map((m) => {
|
||||
const slug = m.shortName.toLowerCase();
|
||||
return (
|
||||
<article class="tcard">
|
||||
{m.imageAbout && imgOf(m.imageAbout) && <TImg tag={`team.${slug}.image-about`} src={imgOf(m.imageAbout)!} alt={m.name} widths={[300, 500]} sizes="(max-width:767px) 100vw, 33vw" />}
|
||||
<h3>{m.shortName}</h3>
|
||||
<T tag={`team.${slug}.role`} as="p" class="tcard__role" />
|
||||
<T tag={`team.${slug}.bio`} as="p" />
|
||||
</article>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
<p class="section-heading" style="margin-top:60px">Accanto ai fondatori opera un team in continua crescita composto da trainer e professionisti con specializzazioni complementari:</p>
|
||||
<p class="section-heading" style="margin-top:60px">{t('about.team.staff-intro')}</p>
|
||||
<div class="tgrid">
|
||||
{staff.map((m) => (
|
||||
<article class="tcard">
|
||||
{m.imageAbout && imgOf(m.imageAbout) && <Image src={imgOf(m.imageAbout)!} alt={m.name} widths={[300, 500]} sizes="(max-width:767px) 100vw, 33vw" />}
|
||||
<h3>{m.shortName}</h3>
|
||||
<p class="tcard__role">{m.role}</p>
|
||||
<p>{m.bio}</p>
|
||||
</article>
|
||||
))}
|
||||
{staff.map((m) => {
|
||||
const slug = m.shortName.toLowerCase();
|
||||
return (
|
||||
<article class="tcard">
|
||||
{m.imageAbout && imgOf(m.imageAbout) && <TImg tag={`team.${slug}.image-about`} src={imgOf(m.imageAbout)!} alt={m.name} widths={[300, 500]} sizes="(max-width:767px) 100vw, 33vw" />}
|
||||
<h3>{m.shortName}</h3>
|
||||
<T tag={`team.${slug}.role`} as="p" class="tcard__role" />
|
||||
<T tag={`team.${slug}.bio`} as="p" />
|
||||
</article>
|
||||
);
|
||||
})}
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
@@ -116,16 +123,16 @@ export const prerender = true;
|
||||
<section class="section section--alt">
|
||||
<div class="container">
|
||||
<div class="section-heading">
|
||||
<h2>Metodo</h2>
|
||||
<p>Il team InsanityLab lavora con un approccio empatico e personalizzato, seguendo ogni persona in un percorso continuo e su misura. Unisce competenze multidisciplinari in allenamento, prevenzione, riabilitazione e performance, supportate da formazione costante. Il metodo si basa su sinergia, condivisione e qualità, per generare risultati concreti e duraturi.</p>
|
||||
<T tag="about.metodo.title" as="h2" />
|
||||
<T tag="about.metodo.body" as="p" />
|
||||
</div>
|
||||
<div class="about-img-row">
|
||||
<div class="about-img-row__text section-heading">
|
||||
<p>In poche parole, il team di InsanityLab è composto da professionisti che credono profondamente in ciò che fanno: un gruppo unito da valori condivisi, formato per eccellere e guidato dalla convinzione che il movimento sia uno strumento di benessere, equilibrio e qualità della vita.</p>
|
||||
<T tag="about.metodo.closing" as="p" />
|
||||
</div>
|
||||
{imgOf('about-team-group') && (
|
||||
<div class="round-img">
|
||||
<Image src={imgOf('about-team-group')!} alt="Il team InsanityLab" widths={[360, 720]} sizes="360px" />
|
||||
<TImg tag="about.metodo.image" src={imgOf('about-team-group')!} alt="Il team InsanityLab" widths={[360, 720]} sizes="360px" />
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
@@ -136,14 +143,14 @@ export const prerender = true;
|
||||
<div class="container">
|
||||
<div class="about-img-row">
|
||||
<div class="about-img-row__text section-heading">
|
||||
<h2>In-Sanity Studios</h2>
|
||||
<p>IN-SANITY STUDIOS è il nuovo spazio professionale nato dall'evoluzione di InsanityLab, dedicato ai professionisti della salute, del benessere e della performance. Più che un semplice insieme di studi professionali, rappresenta un ecosistema multidisciplinare pensato per favorire collaborazione, qualità del servizio e integrazione tra competenze diverse.</p>
|
||||
<p>Il progetto nasce con l'obiettivo di offrire a liberi professionisti uno spazio elegante, riservato e già attrezzato, in cui poter svolgere la propria attività all'interno di un contesto consolidato e altamente qualificato, senza dover affrontare i costi e le complessità di una struttura indipendente.</p>
|
||||
<p>IN-SANITY STUDIOS si rivolge a figure specializzate nel settore salute e wellness, come fisioterapisti, osteopati, psicologi, nutrizionisti, massaggiatori e altri professionisti dedicati alla cura della persona. Ogni studio è progettato per garantire comfort, professionalità e continuità operativa, all'interno di un ambiente coerente con la filosofia di InsanityLab: mettere il benessere globale della persona al centro del percorso.</p>
|
||||
<T tag="about.studios.title" as="h2" />
|
||||
<T tag="about.studios.body1" as="p" />
|
||||
<T tag="about.studios.body2" as="p" />
|
||||
<T tag="about.studios.body3" as="p" />
|
||||
</div>
|
||||
{imgOf('about-studios') && (
|
||||
<div class="about-img-row__img">
|
||||
<Image src={imgOf('about-studios')!} alt="In-Sanity Studios" widths={[600, 900]} sizes="(max-width:767px) 100vw, 50vw" />
|
||||
<TImg tag="about.studios.image" src={imgOf('about-studios')!} alt="In-Sanity Studios" widths={[600, 900]} sizes="(max-width:767px) 100vw, 50vw" />
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
@@ -155,13 +162,13 @@ export const prerender = true;
|
||||
<div class="about-img-row">
|
||||
{imgOf('about-vision') && (
|
||||
<div class="round-img">
|
||||
<Image src={imgOf('about-vision')!} alt="La comunità InsanityLab" widths={[360, 720]} sizes="360px" />
|
||||
<TImg tag="about.vision.image" src={imgOf('about-vision')!} alt="La comunità InsanityLab" widths={[360, 720]} sizes="360px" />
|
||||
</div>
|
||||
)}
|
||||
<div class="about-img-row__text section-heading">
|
||||
<h2>Vision</h2>
|
||||
<p>InsanityLab nasce con l'obiettivo di aiutare le persone a ritrovare energia ed equilibrio attraverso il movimento, promuovendo un approccio autentico, scientifico e umano al benessere. La sua visione va oltre l'estetica e la performance: allenarsi significa prendersi cura di sé, costruendo abitudini sane, sostenibili e orientate alla longevità, alla prevenzione e alla qualità della vita.</p>
|
||||
<p>L'obiettivo è diventare un punto di riferimento capace di lasciare un impatto reale nella comunità, trasformando il movimento in uno strumento di salute, consapevolezza e identità.</p>
|
||||
<T tag="about.vision.title" as="h2" />
|
||||
<T tag="about.vision.body1" as="p" />
|
||||
<T tag="about.vision.body2" as="p" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user