import type { Metadata } from "next"; import Link from "next/link"; import { PageHeader } from "@/components/PageHeader"; import { Section } from "@/components/Section"; import { ImagePlaceholder } from "@/components/ImagePlaceholder"; import { Reveal } from "@/components/Reveal"; import { getPosts } from "@/lib/payload/content"; import { getAktuellesIntroGlobal, getSEOSettingsGlobal } from "@/lib/payload/globals"; import { mediaAlt, mediaUrl } from "@/lib/payload/media"; import { resolveSeo } from "@/lib/seo/resolve"; import { buildMetadata } from "@/lib/seo/metadata"; import { getSiteUrl } from "@/lib/seo/config"; import { JsonLd, webPageJsonLd } from "@/lib/seo/jsonld"; export const dynamic = "force-dynamic"; const FALLBACK_DESCRIPTION = "Neuigkeiten, Termine und Inspiration von Anouma."; export async function generateMetadata(): Promise { const [intro, seoSettings] = await Promise.all([getAktuellesIntroGlobal(), getSEOSettingsGlobal()]); const resolved = resolveSeo({ seo: intro.seo, fallbackTitle: "Aktuelles", fallbackDescription: () => intro.lead || seoSettings.defaultDescription || FALLBACK_DESCRIPTION, defaultOgImage: seoSettings.defaultOgImage, }); return buildMetadata({ title: resolved.title, description: resolved.description, path: "/aktuelles", ogImageUrl: resolved.ogImageUrl, keywords: resolved.keywords, }); } export default async function AktuellesPage() { const [intro, posts] = await Promise.all([getAktuellesIntroGlobal(), getPosts()]); const siteUrl = await getSiteUrl(); return ( <>
{posts.length === 0 ? (

Hier erscheinen bald die ersten Neuigkeiten — schau gerne wieder vorbei.

) : (
{posts.map((post, i) => (

{new Date(post.publishDate ?? post.createdAt).toLocaleDateString("de-DE", { day: "2-digit", month: "long", year: "numeric", })}

{post.title}

{post.teaser}

))}
)}
); }