feat: Wabenhain Honig-Shop Anwendung

Vollstaendige Next.js/Prisma-E-Commerce-Anwendung fuer eine Imkerei:
Shop, Warenkorb, Stripe-Checkout, Kundenkonto mit 2FA, Admin-Bereich
(Produkte, Ernten, Chargen, Bestellungen, Gutscheine, admin-editierbare
Website-Inhalte), i18n (DE/EN), Rate-Limiting/CSP/Audit-Log-Haertung,
PostgreSQL- und MySQL-Unterstuetzung ueber austauschbare Prisma-
Treiber-Adapter, Unit-/Komponenten-/E2E-Tests.
This commit is contained in:
Nick Szaunig committed 2026-08-17 14:30:28 +02:00
1 parent 5c76fcc266
commit c7927f2883
240 files changed
+26096 -137

No files matched your search

+32
View File
@@ -0,0 +1,32 @@
import type { Metadata } from "next";
import { LegalPage } from "@/components/legal-page";
import { getContentValue, parseSections } from "@/lib/content";
import { getCompanyInfo } from "@/lib/company-info";
import { getLocale } from "@/i18n/locale";
import { getDictionary } from "@/i18n/get-dictionary";
export const metadata: Metadata = { title: "Datenschutz", alternates: { canonical: "/datenschutz" } };
export default async function DatenschutzPage() {
const locale = await getLocale();
const t = getDictionary(locale);
const [company, raw] = await Promise.all([getCompanyInfo(), getContentValue("legal.datenschutz", locale)]);
const [verantwortlicherSection, ...restSections] = parseSections(raw);
return (
<LegalPage
title={t.datenschutzPage.title}
noticeText={t.legalPage.reviewNotice}
sections={[
{
heading: verantwortlicherSection.heading,
paragraphs: [
`${company.name}, ${company.address.street}, ${company.address.zip} ${company.address.city}, ${company.email}`,
...verantwortlicherSection.paragraphs,
],
},
...restSections,
]}
/>
);
}