feat: full site build — Project/Melody schema (Option A), admin CRUD, public sections, uploads, email+SMTP, internal analytics, legal pages, docs

This commit is contained in:
2026-08-05 20:53:40 +02:00
parent d87f3033c6
commit c26f41511f
122 changed files with 15068 additions and 41 deletions
+18
View File
@@ -0,0 +1,18 @@
import type { Metadata } from "next";
import { notFound } from "next/navigation";
import LegalDocument from "@/components/public/legal-document";
import { getActiveLocale, isLocale, type Locale } from "@/lib/i18n";
import { getLegalDocument } from "@/lib/legal-content";
type LegalPageProps = { params: { locale: string } };
export function generateMetadata({ params }: LegalPageProps): Metadata {
if (!isLocale(params.locale)) return {};
const document = getLegalDocument(getActiveLocale(params.locale as Locale), "impressum");
return { title: document.title, description: document.intro };
}
export default function ImpressumPage({ params }: LegalPageProps) {
if (!isLocale(params.locale)) notFound();
return <LegalDocument document={getLegalDocument(getActiveLocale(params.locale as Locale), "impressum")} />;
}