Rename /lebensuhr to /7-tage-klarheits-check, update CTA/content copy

Renames the route, its canonical/OG metadata, Navbar's active-route
list, and the testimonials page filter to match. Also updates CTA
copy ("Klarheits-Check starten"), the "So funktioniert" heading, the
"3. Umsetzen" step text, and the breadcrumb label.
This commit is contained in:
Marco
2026-08-26 15:04:03 +00:00
parent bf48a1561c
commit c64902c381
5 changed files with 12 additions and 12 deletions
@@ -12,7 +12,7 @@ function LockIcon() {
);
}
export function EmailCapture({ buttonLabel = "Challenge starten" }: { buttonLabel?: string }) {
export function EmailCapture({ buttonLabel = "Klarheits-Check starten" }: { buttonLabel?: string }) {
const { email, emailError, consent, handleConsentChange, status, error, successMessage, emailRef, handleEmailChange, handleEmailBlur, handleSubmit } =
useNewsletterSignup("challenge");
@@ -18,12 +18,12 @@ export const metadata: Metadata = {
title,
description,
alternates: {
canonical: "/lebensuhr",
canonical: "/7-tage-klarheits-check",
},
openGraph: {
title,
description,
url: "/lebensuhr",
url: "/7-tage-klarheits-check",
images: ["/blog-featured.jpg"],
},
twitter: {
@@ -98,7 +98,7 @@ const steps = [
{
icon: <IconNotepad />,
title: "3. Umsetzen",
desc: "Setze die einfache Aufgabe in wenigen Minuten um für mehr Klarheit und Fokus.",
desc: "Gehe die einfachen Gedankenanstöße in wenigen Minuten durch für mehr Klarheit und Fokus",
},
{
icon: <IconCheckCircle />,
@@ -117,7 +117,7 @@ const benefits = [
export default async function ChallengePage() {
const { isEnabled: isPreview } = await draftMode();
const testimonials = await getTestimonials("challenge", { draft: isPreview });
const testimonials = await getTestimonials("klarheits-check", { draft: isPreview });
return (
<>
@@ -152,7 +152,7 @@ export default async function ChallengePage() {
<span></span>
<Link href="/#werkzeuge" className="hover:text-brand transition-colors">Werkzeuge</Link>
<span></span>
<span className="text-text-primary">Lebensuhr</span>
<span className="text-text-primary">7-Tage-Klarheits-Check</span>
</p>
{/* Everything else centered in the remaining vertical space,
@@ -227,7 +227,7 @@ export default async function ChallengePage() {
className="font-semibold text-[#222221]"
style={{ fontFamily: "var(--font-lora)", fontSize: "clamp(1.5rem, 3vw, 2rem)" }}
>
So funktioniert die Challenge
So funktioniert der Check
</h2>
<p className="text-[1rem] text-[#666]">Jeden Tag ein Impuls. In nur wenigen Minuten.</p>
</Reveal>
@@ -345,7 +345,7 @@ export default async function ChallengePage() {
className="font-semibold text-[#222221] leading-normal"
style={{ fontFamily: "var(--font-lora)", fontSize: "clamp(1.125rem, 2vw, 1.375rem)" }}
>
Starte jetzt deine 7-Tage-Challenge
Starte jetzt deine 7 Tage Klarheit
</p>
<p className="text-[0.9rem] text-[#555] leading-[1.5]">
Trage dich ein und erhalte ab sofort täglich einen Impuls für mehr Klarheit und Fokus.
+1 -1
View File
@@ -103,7 +103,7 @@ export function Hero() {
image/banner above it on true Mobile), left-aligned with the
rest of the text column again from sm: up. */}
<Link
href="/lebensuhr"
href="https://einfach-produktiv.mk360.de/7-tage-klarheits-check"
className="flex gap-4 items-center justify-center overflow-clip px-6 py-3 rounded-sm shrink-0 max-w-full bg-brand hover:brightness-95 active:scale-[0.97] transition-all self-center sm:self-auto"
>
{/* Letting this wrap to two lines below lg: (tried 2026-07-24)
+1 -1
View File
@@ -63,7 +63,7 @@ function getNavLinks(singleActiveProduct: boolean) {
// /der-eine and /tasse-die-pause (both bespoke product detail pages, same
// "own route, not nested" shape as /todo-cards) added here for the same
// reason (2026-08-25).
const WERKZEUGE_ROUTES = ["/todo-cards", "/lebensuhr", "/newsletter", "/der-eine", "/tasse-die-pause"];
const WERKZEUGE_ROUTES = ["/todo-cards", "/7-tage-klarheits-check", "/newsletter", "/der-eine", "/tasse-die-pause"];
function isNavLinkActive(href: string, pathname: string, activeSection: string): boolean {
if (href === "#werkzeuge") {
+2 -2
View File
@@ -817,7 +817,7 @@ export async function getWerkzeugeCards(): Promise<WerkzeugeCard[]> {
}));
}
export type TestimonialsPage = "todo-cards" | "newsletter" | "challenge" | "der-eine";
export type TestimonialsPage = "todo-cards" | "newsletter" | "klarheits-check" | "der-eine";
export type Testimonial = { id: number; quote: string; name: string; role: string; avatar: string };
@@ -842,7 +842,7 @@ export function mapPayloadTestimonial(doc: PayloadTestimonial): Testimonial {
}
// Powers the identically-styled customer testimonial grids on /todo-cards,
// /newsletter, /challenge, and /der-eine (see TestimonialsGrid.tsx) —
// /newsletter, /7-tage-klarheits-check, and /der-eine (see TestimonialsGrid.tsx) —
// previously hardcoded arrays kept manually in sync. The single-quote
// "photo band" testimonials on /not-found and /bestellbestaetigung are a
// different shape (no avatar/role) and are not part of this collection.