Files
Wabenhain/src/app/checkout/cancel/page.tsx
T
Nick SzaunigandClaude Opus 5.5 1fa8ca246a refactor(ui): Kicker-Zeilen ueber Ueberschriften entfernt
Jede zweite Ueberschrift trug eine kleine Versalien-Zeile mit Wabenpunkt
("• STIMMEN", "• AKTUELL VERFUEGBAR", "• KUNDENKONTO" ...). Auf 29 Seiten
und Abschnitten wiederholt las sich das wie eine Vorlage. SectionHeading
rendert sie nicht mehr, die Prop ist entfernt; die Ueberschrift traegt den
Abschnitt allein.

Die eyebrow-Texte, die weiterhin als Seitentitel, Bildbeschriftung oder
Breadcrumb dienen, bleiben; 18 danach ungenutzte Eintraege sind aus Typ und
beiden Woerterbuechern entfernt.

Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
2026-09-26 01:41:48 +02:00

47 lines
1.7 KiB
TypeScript

import type { Metadata } from "next";
import { redirect } from "next/navigation";
import { Container, SectionHeading, LinkButton } from "@/components/ui";
import { getLocale } from "@/i18n/locale";
import { getDictionary } from "@/i18n/get-dictionary";
export const metadata: Metadata = { title: "Bestellung abgebrochen", robots: { index: false } };
export const dynamic = "force-dynamic";
// Reine Anzeige, nachdem eine Zahlung per POST /api/checkout/cancel
// abgebrochen wurde. Frueher gab ein GET mit ?ref=<Token> hier den Bestand
// frei — ein Zustandswechsel beim blossen Aufruf, den auch Link-Vorschauen
// und Mail-Scanner ausloesen. Alte Links fuehren deshalb nur noch hierher;
// ihre Sitzung laeuft ohnehin nach spaetestens 32 Minuten ab und gibt den
// Bestand dann ueber den Webhook frei.
export default async function CheckoutCancelPage(props: PageProps<"/checkout/cancel">) {
const t = getDictionary(await getLocale());
const { ref } = await props.searchParams;
if (typeof ref === "string" && ref) {
// Token aus Adresszeile, Verlauf und Referer nehmen.
redirect("/checkout/cancel");
}
return (
<div className="py-24">
<Container className="max-w-xl text-center">
<SectionHeading
title={t.checkoutCancelPage.title}
align="center"
className="mx-auto"
/>
<p className="mt-6 text-ink/70">
{t.checkoutCancelPage.text}
</p>
<p className="mt-3 text-sm text-ink/60">
{t.checkoutCancelPage.released}
</p>
<LinkButton href="/warenkorb" className="mt-10">
{t.checkoutCancelPage.backToCart}
</LinkButton>
</Container>
</div>
);
}