import * as React from "react"; import { notFound } from "next/navigation"; import { blogPosts } from "../../../src/data/blogPosts"; import { PageHeader } from "../../../src/components/PageHeader"; import { Section } from "../../../src/components/Section"; import { Reveal } from "../../../src/components/Reveal"; import { BlogPostClient } from "../../../src/components/BlogPostClient"; import { PostComponents } from "../../../src/components/blog/posts"; import { Card } from "../../../src/components/Layout"; export async function generateStaticParams() { return blogPosts.map((post) => ({ slug: post.slug, })); } export default async function BlogPostPage({ params, }: { params: Promise<{ slug: string }>; }) { const { slug } = await params; const post = blogPosts.find((p) => p.slug === slug); if (!post) { notFound(); } const formattedDate = new Date(post.date).toLocaleDateString("de-DE", { month: "long", day: "numeric", year: "numeric", }); const wordCount = post.description.split(/\s+/).length + 300; // Average post length const readingTime = Math.max(1, Math.ceil(wordCount / 200)); const PostContent = PostComponents[slug]; return (