# Review package: 3f01721..34fd3d2 ## Commits 34fd3d2 feat: tag contenuti home cards, team, metodo, partner, agenda ## Files changed src/components/Agenda.astro | 11 ++++--- src/components/content/TImg.astro | 2 +- src/components/home/MethodSteps.astro | 17 +++++----- src/components/home/PartnersStrip.astro | 5 +-- src/components/home/ProgramsGrid.astro | 5 +-- src/components/home/TeamSection.astro | 23 ++++++++------ src/components/home/TrainingCards.astro | 16 +++++----- src/data/content-seed.ts | 55 +++++++++++++++++++++++++++++++++ src/pages/training.astro | 14 +++++---- 9 files changed, 108 insertions(+), 40 deletions(-) ## Diff diff --git a/src/components/Agenda.astro b/src/components/Agenda.astro index db5839b..6dc3b68 100644 --- a/src/components/Agenda.astro +++ b/src/components/Agenda.astro @@ -1,27 +1,28 @@ --- import { agenda, disciplines, days, slots } from '../data/agenda'; +import T from './content/T.astro'; ---
-

Agenda

+
{disciplines.map((d, i) => ( - + ))}
- {days.map((d) =>
{d}
)} - {slots.map((slot) => ( + {days.map((_, i) => )} + {slots.map((slot, si) => ( <> -
{slot}
+ {days.map((_, dayIdx) => { const entry = agenda.find((e) => e.day === dayIdx && e.slot === slot); return entry ?
{entry.discipline}{entry.time}{entry.trainer}
:
; })} ))}
diff --git a/src/components/content/TImg.astro b/src/components/content/TImg.astro index 6c92a75..3fcb915 100644 --- a/src/components/content/TImg.astro +++ b/src/components/content/TImg.astro @@ -1,14 +1,14 @@ --- import { Image } from 'astro:assets'; import type { ImageMetadata } from 'astro'; import { getImageOverride } from '../../lib/content'; interface Props { tag: string; src: ImageMetadata; alt: string; - class?: string; loading?: 'lazy' | 'eager'; widths?: number[]; sizes?: string; + class?: string; loading?: 'lazy' | 'eager'; widths?: number[]; sizes?: string; height?: number; } const { tag, src, alt, class: cls, ...rest } = Astro.props; const override = getImageOverride(tag); --- {override ? {alt} : {alt}} diff --git a/src/components/home/MethodSteps.astro b/src/components/home/MethodSteps.astro index 2e5b670..17da6fe 100644 --- a/src/components/home/MethodSteps.astro +++ b/src/components/home/MethodSteps.astro @@ -1,33 +1,34 @@ --- -import { Image } from 'astro:assets'; import type { ImageMetadata } from 'astro'; -import { methodIntro, methodExtraNote, methodSteps } from '../../data/method'; +import { methodSteps } from '../../data/method'; +import T from '../content/T.astro'; +import TImg from '../content/TImg.astro'; const images = import.meta.glob<{ default: ImageMetadata }>('../../assets/img/method-*.{jpg,png}', { eager: true }); const imgOf = (name: string) => Object.entries(images).find(([p]) => p.includes(name))?.[1].default; ---
-

Il metodo
InsanityLab

-

Metodo Insanitylab')} /> + +

-

{methodExtraNote}

+
{methodSteps.map((s, i) => (
- {imgOf(s.image) && } + {imgOf(s.image) && } {s.n}
-

{s.title}

-

{s.text}

+ +
))}
diff --git a/src/components/home/ProgramsGrid.astro b/src/components/home/ProgramsGrid.astro index 564b2b8..058fd6a 100644 --- a/src/components/home/ProgramsGrid.astro +++ b/src/components/home/ProgramsGrid.astro @@ -1,19 +1,20 @@ --- import { programs } from '../../data/programs'; import { programIcons as icons } from '../../data/program-icons'; +import T from '../content/T.astro'; ---
-

Programmi

-

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.

+ +
{programs.map((p, i) => (

{p.title}

{p.subtitle}

))}
diff --git a/src/components/home/TeamSection.astro b/src/components/home/TeamSection.astro index 64e1d19..baa0def 100644 --- a/src/components/home/TeamSection.astro +++ b/src/components/home/TeamSection.astro @@ -1,31 +1,36 @@ --- -import { Image } from 'astro:assets'; import type { ImageMetadata } from 'astro'; import { team, homeTeam } from '../../data/team'; +import T from '../content/T.astro'; +import TImg from '../content/TImg.astro'; +import { t } from '../../lib/content'; const images = import.meta.glob<{ default: ImageMetadata }>('../../assets/img/team-*.{jpg,png}', { eager: true }); const members = homeTeam.map((short) => team.find((m) => m.shortName === short)!).filter((m) => m.image); const imgOf = (name: string) => Object.entries(images).find(([p]) => p.includes(`${name}.`))?.[1].default; ---
-

Team
Trainer

- Scopri team + +
- {members.map((m, i) => ( -
- {m.name} -
{m.shortName}
-
- ))} + {members.map((m, i) => { + const slug = m.shortName.toLowerCase(); + return ( +
+ +
{m.shortName}
+
+ ); + })}