import { site } from "@/content/site"; import type { PublicCampFacts } from "@/lib/camp"; import { addDays, formatIsoWeekdayDate } from "@/lib/time"; import { ScheduleCarousel, type ScheduleCard } from "../ScheduleCarousel"; import { Slideshow } from "../Slideshow"; /** Stellt die Villa vor: Text links, laufende Bilderfolge rechts. */ export function ExpectSection() { const { expect } = site; return (

{expect.title}

{expect.lead}

{expect.paragraphs.map((p) => (

{p}

))}
    {expect.highlights.map((item) => (
  • {item}
  • ))}
); } function scheduleCards(facts: PublicCampFacts): ScheduleCard[] { return site.schedule.days.map((day, index) => ({ label: `Tag ${index + 1}`, date: facts.startDate ? formatIsoWeekdayDate(addDays(facts.startDate, index)) : null, title: day.title, items: day.items, })); } /** Tagesablauf als Karten pro Tag, wie das Programm bei der Referenz. */ export function ScheduleSection({ facts }: { facts: PublicCampFacts }) { const { schedule } = site; return (

{schedule.title}

{schedule.footnote}

); }