import React from "react"; import { Head, usePage } from "@inertiajs/react"; import MarketingLayout from "@/layouts/mainWebsite"; import type { CheckoutPackage, GoogleProfilePrefill } from "./checkout/types"; import { CheckoutWizard } from "./checkout/CheckoutWizard"; interface CheckoutWizardPageProps { package: CheckoutPackage; packageOptions: CheckoutPackage[]; privacyHtml: string; googleAuth?: { status?: string | null; error?: string | null; profile?: GoogleProfilePrefill | null; }; paddle?: { environment?: string | null; client_token?: string | null; }; } const CheckoutWizardPage: React.FC = ({ package: initialPackage, packageOptions, privacyHtml, googleAuth, paddle, }) => { const page = usePage<{ auth?: { user?: { id: number; email: string; name?: string; pending_purchase?: boolean } | null } }>(); const currentUser = page.props.auth?.user ?? null; const googleProfile = googleAuth?.profile ?? null; const dedupedOptions = React.useMemo(() => { const ids = new Set(); const list = [initialPackage, ...packageOptions]; return list.filter((pkg) => { if (ids.has(pkg.id)) { return false; } ids.add(pkg.id); return true; }); }, [initialPackage, packageOptions]); return (
); }; CheckoutWizardPage.layout = (page: React.ReactNode) => page; export default CheckoutWizardPage;