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:
@@ -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 />
|
||||
</>
|
||||
|
||||
Reference in New Issue
Block a user