import Link from "next/link"; import { HomeJsonLd } from "@/components/json-ld"; import { getOffers } from "@/content/offers"; import { getNotes } from "@/content/notes"; import { getPerson } from "@/content/person"; import { getProjects } from "@/content/projects"; import { getDictionary } from "@/i18n/dictionaries"; import { publicPath } from "@/i18n/routes"; import { pageMetadata } from "@/lib/metadata"; import { requireLocale } from "@/lib/locale"; import { getUpdates } from "@/lib/updates"; export async function generateMetadata({ params }: PageProps<"/[lang]">) { const locale = requireLocale((await params).lang); const dict = getDictionary(locale); return pageMetadata( locale, "home", locale === "de" ? "Jan Wagner — Software für anspruchsvolle Prozesse" : "Jan Wagner — Software for demanding processes", dict.home.lede, ); } export default async function HomePage({ params }: PageProps<"/[lang]">) { const locale = requireLocale((await params).lang); const dict = getDictionary(locale); const person = getPerson(locale); const projects = getProjects(locale); const offers = getOffers(locale); const notes = getNotes(locale).slice(0, 2); const updates = await getUpdates(); return (

{dict.home.kicker}

{dict.home.title}

{dict.home.lede}

{dict.actions.viewWork} {dict.actions.startConversation}

{dict.home.workKicker}

{dict.home.workTitle}

{dict.home.workLede}

{projects.map((project) => (

{project.label}

{project.number}

{project.title}

{project.summary}

{project.status}

{dict.actions.openCase} →
))}

{dict.home.methodKicker}

{dict.home.methodTitle}

{dict.home.methodLede}

    {person.principles.map((principle, index) => (
  1. 0{index + 1}

    {principle.title}

    {principle.text}

  2. ))}

{dict.home.offerKicker}

{dict.home.offerTitle}

{offers.map((offer, index) => (
0{index + 1}

{offer.title}

{offer.text}

))}

{dict.home.notesKicker}

{dict.home.notesTitle}

{notes.map((note) => (

{note.title}

{note.summary}

{dict.actions.openNote} →
))}
{updates.length ? (

Batchmaker

{updates.map((update) => (

{update.title}

{update.summary}

))}
) : null}

{dict.home.ctaKicker}

{dict.home.ctaTitle}

{dict.home.ctaBody}

{dict.actions.startConversation}
); }