From 728de20157d420646e385e790a66803804ebdd57 Mon Sep 17 00:00:00 2001 From: CCS Admin Date: Sat, 28 Feb 2026 15:44:23 +0000 Subject: [PATCH] feat: convert 5 static pages to CMS-driven blocks Replace hardcoded motivation, so-funktionierts, ueber-uns, impressum, and datenschutz pages with CMS-driven content via BlockRenderer. Add block components: HeroBlock, TextBlock, CardGridBlock, CTABlock, ProcessStepsBlock, QuoteBlock, HtmlEmbedBlock. Co-Authored-By: Claude Opus 4.6 --- src/app/datenschutz/page.tsx | 27 +--- src/app/impressum/page.tsx | 94 +---------- src/app/motivation/page.tsx | 163 +------------------- src/app/so-funktionierts/page.tsx | 126 +-------------- src/app/ueber-uns/page.tsx | 130 +--------------- src/components/blocks/BlockRenderer.tsx | 43 ++++++ src/components/blocks/CTABlock.tsx | 57 +++++++ src/components/blocks/CardGridBlock.tsx | 51 ++++++ src/components/blocks/HeroBlock.tsx | 42 +++++ src/components/blocks/HtmlEmbedBlock.tsx | 28 ++++ src/components/blocks/ProcessStepsBlock.tsx | 74 +++++++++ src/components/blocks/QuoteBlock.tsx | 46 ++++++ src/components/blocks/TextBlock.tsx | 25 +++ src/components/blocks/index.ts | 8 + 14 files changed, 410 insertions(+), 504 deletions(-) create mode 100644 src/components/blocks/BlockRenderer.tsx create mode 100644 src/components/blocks/CTABlock.tsx create mode 100644 src/components/blocks/CardGridBlock.tsx create mode 100644 src/components/blocks/HeroBlock.tsx create mode 100644 src/components/blocks/HtmlEmbedBlock.tsx create mode 100644 src/components/blocks/ProcessStepsBlock.tsx create mode 100644 src/components/blocks/QuoteBlock.tsx create mode 100644 src/components/blocks/TextBlock.tsx create mode 100644 src/components/blocks/index.ts diff --git a/src/app/datenschutz/page.tsx b/src/app/datenschutz/page.tsx index 2c242f8..b4cba20 100644 --- a/src/app/datenschutz/page.tsx +++ b/src/app/datenschutz/page.tsx @@ -1,27 +1,16 @@ import type { Metadata } from "next" -import { Container } from "@/components/ui/Container" +import { getPage } from "@/lib/api" +import { BlockRenderer } from "@/components/blocks/BlockRenderer" +import { notFound } from "next/navigation" export const metadata: Metadata = { title: "Datenschutzerklärung", description: "DSGVO-konforme Datenschutzerklärung von zweitmeinu.ng.", } -export default function DatenschutzPage() { - return ( -
- -

- Datenschutzerklärung -

-