Migrate /tasse-die-pause onto the PDP block system

First of the 3 legacy hand-coded PDPs migrated, now that Products.layout/
ProductBlocks.tsx exist. "Die Pause." got real final copy this session
(product doc's layout populated directly in Payload: hero body, a "So
einfach ist eine Pause" 3-step section, product facts as a pill list, a
Björn-quote contrast line, closing copy, pricing panel) — good first
candidate since its own page was still just a provisional scaffold.
Hero.tsx/Pricing.tsx in ./components are now dead code, left for a
follow-up cleanup pass rather than deleted here.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013Eg6h91yngXmSnM51wxXM8
This commit is contained in:
Marco
2026-08-29 23:02:33 +00:00
parent 52d0b8558e
commit 2686fd3106
+12 -13
View File
@@ -1,13 +1,16 @@
import type { Metadata } from "next";
import { Hero } from "./components/Hero";
import { Pricing } from "./components/Pricing";
import { notFound } from "next/navigation";
import { ProductBlocks } from "../components/ProductBlocks";
import { Footer } from "../components/Footer";
import { getProductBySlug, getCompanySettings } from "../lib/payload";
import { buildProductSchema } from "../lib/structuredData";
// Provisional scaffold page — naming/design concept still undecided (parked
// 2026-08-24). Metadata reads from the live product instead of a hardcoded
// tagline, unlike every other bespoke page here — see Hero.tsx's comment.
// "Die Pause." finally has real copy and a name (2026-08-29) — first PDP
// migrated off its own hand-coded Hero/Pricing onto the block-driven
// system (Products.layout/ProductBlocks.tsx), now that both exist. Was a
// provisional scaffold before (naming/design undecided, parked
// 2026-08-24); Hero.tsx/Pricing.tsx in ./components are dead code now,
// kept only until a next cleanup pass removes them.
export async function generateMetadata(): Promise<Metadata> {
const product = await getProductBySlug("tasse-die-pause");
const title = product ? `${product.name} einfach produktiv.` : "Tasse einfach produktiv.";
@@ -26,18 +29,14 @@ export default async function TasseDiePausePage() {
getProductBySlug("tasse-die-pause"),
getCompanySettings(),
]);
const productSchema = product
? buildProductSchema(product, "https://einfach-produktiv.mk360.de/tasse-die-pause", seller)
: null;
if (!product) notFound();
const productSchema = buildProductSchema(product, "https://einfach-produktiv.mk360.de/tasse-die-pause", seller);
return (
<>
{productSchema && (
<script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(productSchema) }} />
)}
<script type="application/ld+json" dangerouslySetInnerHTML={{ __html: JSON.stringify(productSchema) }} />
<main className="flex flex-col flex-1">
<Hero />
<Pricing />
<ProductBlocks product={product} />
</main>
<Footer />
</>