From aa491aa5fdc9ae674ccdc1e6e186cdc45931db29 Mon Sep 17 00:00:00 2001 From: Marco Date: Fri, 31 Jul 2026 23:09:24 +0000 Subject: [PATCH] =?UTF-8?q?Add=20/die-sieben=20=E2=80=94=20rebuilt=20from?= =?UTF-8?q?=20the=20old=20WordPress=20page,=20brand-voice=20copy?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Free monthly ritual page, modeled on /todo-cards' conventions (Reveal/RevealGroup, breadcrumb + text-display heading) but without a product-style hero — this isn't a paid product, so no photo/price/buy CTA. The WordPress original's monthly-changing "aktuelle Ausgabe", printable template, and archive have no content model in this codebase yet (nothing like a `Posts` collection for "editions") — this ships the evergreen concept page only, with the existing Newsletter signup standing in as the "stay in the loop" mechanism. Deferred to a memory note rather than blocking this page on designing a new collection. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_018unaXmuzVA8ct1b6WoyP1U --- README.md | 1 + app/die-sieben/components/DieSiebenHero.tsx | 52 ++++++++++ app/die-sieben/components/Philosophie.tsx | 30 ++++++ app/die-sieben/components/SoFunktionierts.tsx | 98 +++++++++++++++++++ app/die-sieben/page.tsx | 53 ++++++++++ 5 files changed, 234 insertions(+) create mode 100644 app/die-sieben/components/DieSiebenHero.tsx create mode 100644 app/die-sieben/components/Philosophie.tsx create mode 100644 app/die-sieben/components/SoFunktionierts.tsx create mode 100644 app/die-sieben/page.tsx diff --git a/README.md b/README.md index 6bb7233..2928800 100644 --- a/README.md +++ b/README.md @@ -88,6 +88,7 @@ not in a committed `.env`. | `/konto/merkliste` | Wishlist (when `wishlistEnabled`, see "Feature toggles" below) | | `/challenge` | "Mini-Challenge" tool | | `/todo-cards` | "Todo-Karten" tool | +| `/die-sieben` | "Die Sieben" — free monthly ritual (evergreen concept page only; the WordPress original's monthly-changing edition/archive/template has no content model in this codebase yet, see `app/die-sieben/page.tsx`'s own comment) | | `/newsletter` | Newsletter signup | | `/versand` | Shipping policy (timeframes, costs) | | `/impressum`, `/datenschutz`, `/agb`, `/widerruf` | Legal pages (from Payload, see `legal-pages` below) | diff --git a/app/die-sieben/components/DieSiebenHero.tsx b/app/die-sieben/components/DieSiebenHero.tsx new file mode 100644 index 0000000..24be9c5 --- /dev/null +++ b/app/die-sieben/components/DieSiebenHero.tsx @@ -0,0 +1,52 @@ +import Link from "next/link"; +import { Reveal } from "../../components/Reveal"; + +// No product photo exists for this page (unlike /todo-cards, /lebensuhr) — +// this is a free monthly ritual, not something with packaging to shoot. +// Text + a Caveat-font quote carries the hero instead, same treatment +// RichText.tsx's Quote component already uses for a callout line. +export function DieSiebenHero() { + return ( +
+ + {/* Breadcrumb — left-aligned regardless of the centered content + below, same "not part of the centered block" split as + /todo-cards's and /lebensuhr's own hero. */} +

+ + Startseite + + + + Werkzeuge + + + Die Sieben +

+ +
+

+ Die Sieben. +

+

+ Das Monatsritual von einfach produktiv +

+
+ +

+ Sieben kleine Dinge, die den Monat ein bisschen reicher machen. +

+ +

+ „Nicht alles, was zählt, steht auf einer ToDo-Liste.“ +

+
+
+ ); +} diff --git a/app/die-sieben/components/Philosophie.tsx b/app/die-sieben/components/Philosophie.tsx new file mode 100644 index 0000000..ec80cb7 --- /dev/null +++ b/app/die-sieben/components/Philosophie.tsx @@ -0,0 +1,30 @@ +import { Reveal } from "../../components/Reveal"; + +export function Philosophie() { + return ( +
+ +

+ Worum es geht +

+

+ Am Ende eines Monats weiß ich meistens ziemlich genau, was ich erledigt habe. Was ich + eigentlich erlebt habe, weiß ich oft nicht mehr. Daraus ist Die Sieben entstanden. +

+

+ Jeden Monat gibt es sieben kleine Einladungen – kein Programm, kein Plan, den man + abarbeitet. Man nimmt sich, was passt. Den Rest lässt man liegen. +

+

+ Es geht nicht darum, möglichst viel zu erleben, sondern die Dinge bewusster + wahrzunehmen, die ohnehin schon da sind. +

+
+
+ ); +} diff --git a/app/die-sieben/components/SoFunktionierts.tsx b/app/die-sieben/components/SoFunktionierts.tsx new file mode 100644 index 0000000..e16fc2a --- /dev/null +++ b/app/die-sieben/components/SoFunktionierts.tsx @@ -0,0 +1,98 @@ +import { Fragment } from "react"; +import { Reveal, RevealGroup, RevealItem } from "../../components/Reveal"; +import { StepArrow } from "../../components/StepArrow"; + +// Hand-drawn inline SVGs, brand-orange stroke — same convention as +// /lebensuhr's own icon set (IconEnvelope etc.), used here instead of a +// photo since there's no product to shoot for a free monthly ritual. +function IconHand() { + return ( + + + + ); +} + +function IconEye() { + return ( + + + + + ); +} + +function IconShare() { + return ( + + + + + + + ); +} + +const punkte = [ + { + icon: , + title: "Nimm dir, was passt", + desc: "Eine Einladung, drei oder alle sieben – es gibt kein Richtig oder Falsch dabei.", + }, + { + icon: , + title: "Nichts zum Abhaken", + desc: "Die Sieben ist kein Programm. Es reicht, die Dinge bewusst wahrzunehmen.", + }, + { + icon: , + title: "Teilen, wenn du magst", + desc: "Manche erzählen anderen von ihren Sieben – nicht um sich zu messen, sondern um sich zu erinnern.", + }, +]; + +export function SoFunktionierts() { + return ( +
+ +

+ So läuft es ab +

+

Jeden Monat neu. Ohne Verpflichtung.

+
+ + + {punkte.map((punkt, i) => ( + + +
+ {punkt.icon} +
+

{punkt.title}

+

{punkt.desc}

+
+ {i < punkte.length - 1 && ( +
+ +
+ )} +
+ ))} +
+
+ ); +} diff --git a/app/die-sieben/page.tsx b/app/die-sieben/page.tsx new file mode 100644 index 0000000..3c31c14 --- /dev/null +++ b/app/die-sieben/page.tsx @@ -0,0 +1,53 @@ +import type { Metadata } from "next"; +import { DieSiebenHero } from "./components/DieSiebenHero"; +import { Philosophie } from "./components/Philosophie"; +import { SoFunktionierts } from "./components/SoFunktionierts"; +import { Footer } from "../components/Footer"; +import { Newsletter } from "../components/Newsletter"; + +const title = "Die Sieben – Das Monatsritual von einfach produktiv"; +const description = + "Sieben kleine Dinge, die den Monat ein bisschen reicher machen. Kein Programm, keine Pflicht – nur eine Einladung, bewusster wahrzunehmen, was ohnehin schon da ist."; + +export const metadata: Metadata = { + title, + description, + alternates: { + canonical: "/die-sieben", + }, + openGraph: { + title, + description, + url: "/die-sieben", + }, + twitter: { + title, + description, + }, +}; + +// Rebuilt from the old WordPress page of the same name — a free monthly +// ritual, not a product, so unlike /todo-cards or /lebensuhr there's no +// photo asset and no pricing/testimonials section here. The WordPress +// original also linked out to a monthly-changing "aktuelle Ausgabe" card, +// a printable template, and an archive of past months — none of that has +// a home in this codebase yet (no CMS collection backs it), so this build +// is the evergreen concept page only. Newsletter signup below stands in as +// the "stay in the loop" mechanism until/unless a real "monthly edition" +// content model gets built. +export default function DieSiebenPage() { + return ( + <> +
+ + + + +
+