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

+44
View File
@@ -0,0 +1,44 @@
import { Container } from "@/components/ui";
export interface LegalSection {
heading: string;
paragraphs: string[];
}
/**
* Gemeinsames Layout fuer alle rechtlichen Seiten (Impressum, Datenschutz,
* AGB, Widerrufsbelehrung, Versand und Zahlung). Inhalte sind Platzhalter
* und muessen vor Live-Gang durch anwaltlich geprueften Text ersetzt werden.
*/
export function LegalPage({
title,
noticeText,
sections,
}: {
title: string;
noticeText: string;
sections: LegalSection[];
}) {
return (
<div className="py-20">
<Container className="max-w-3xl">
<h1 className="text-3xl text-forest">{title}</h1>
<p className="mt-2 text-xs text-honey-dark tracking-wide-caps">
{noticeText}
</p>
<div className="mt-10 space-y-10">
{sections.map((section) => (
<section key={section.heading}>
<h2 className="text-lg text-forest">{section.heading}</h2>
<div className="mt-3 space-y-3 text-sm text-ink/70 leading-relaxed">
{section.paragraphs.map((p, i) => (
<p key={i}>{p}</p>
))}
</div>
</section>
))}
</div>
</Container>
</div>
);
}