Some checks are pending
Deploy to Cloudflare Workers (OpenNext) / deploy (push) Waiting to run
Use mainwhite.svg on white sections with curvy green transitions into flat green bands, improve text and button contrast, and deploy via OpenNext on Cloudflare Workers. Co-authored-by: Cursor <cursoragent@cursor.com>
55 lines
2.0 KiB
TypeScript
55 lines
2.0 KiB
TypeScript
import type { Metadata } from "next";
|
|
import { pageSeo } from "@/content/page-seo";
|
|
import { createPageMetadata } from "@/lib/seo";
|
|
import Link from "next/link";
|
|
import { CheckCircle2 } from "lucide-react";
|
|
import { PageRiftHeader } from "@/components/layout/PageRiftHeader";
|
|
import { Section } from "@/components/layout/Section";
|
|
import { Button } from "@/components/ui/button";
|
|
|
|
export const metadata: Metadata = createPageMetadata(pageSeo.paymentSuccess);
|
|
|
|
type Props = {
|
|
searchParams: Promise<{ order?: string; total?: string }>;
|
|
};
|
|
|
|
export default async function PaymentSuccessPage({ searchParams }: Props) {
|
|
const params = await searchParams;
|
|
const orderId = params.order ?? "GRV-ORDER";
|
|
const total = params.total ? `$${params.total} USD` : null;
|
|
|
|
return (
|
|
<>
|
|
<PageRiftHeader
|
|
variant="minimal"
|
|
profilePath="/payment/success"
|
|
title={<h1 className="text-3xl font-bold">Thank you for your order</h1>}
|
|
/>
|
|
<Section>
|
|
<div className="mx-auto max-w-lg text-center">
|
|
<CheckCircle2 className="mx-auto size-16 text-[#1a5c38]" />
|
|
<p className="mt-6 text-muted-foreground">
|
|
Your registration has been received. Order reference:{" "}
|
|
<span className="font-mono font-medium text-foreground">{orderId}</span>
|
|
{total && (
|
|
<>
|
|
{" "}
|
|
· Total: <span className="font-medium text-foreground">{total}</span>
|
|
</>
|
|
)}
|
|
</p>
|
|
<p className="mt-2 text-sm text-muted-foreground">
|
|
A confirmation email will be sent once payment processing is connected. For now, our team
|
|
has logged your request.
|
|
</p>
|
|
<div className="mt-8 flex flex-wrap justify-center gap-3">
|
|
<Button variant="outline" className="rounded-full" asChild>
|
|
<Link href="/program">View program</Link>
|
|
</Button>
|
|
</div>
|
|
</div>
|
|
</Section>
|
|
</>
|
|
);
|
|
}
|