'use client' import { useParams, useRouter } from 'next/navigation' import { trpc } from '@/lib/trpc/client' import { ApplyWizardDynamic } from '@/components/forms/apply-wizard-dynamic' import { Loader2, AlertCircle } from 'lucide-react' import { Button } from '@/components/ui/button' import { DEFAULT_WIZARD_CONFIG } from '@/types/wizard-config' import { toast } from 'sonner' export default function EditionApplyPage() { const params = useParams() const router = useRouter() const programSlug = params.programSlug as string const { data: config, isLoading, error } = trpc.application.getConfig.useQuery( { slug: programSlug, mode: 'edition' }, { retry: false } ) const submitMutation = trpc.application.submit.useMutation({ onError: (error) => toast.error(error.message), }) if (isLoading) { return (
) } if (error || !config || config.mode !== 'edition') { return (

Application Not Available

{error?.message ?? 'Not found'}

) } return ( { await submitMutation.mutateAsync({ mode: 'edition', programId: config.program.id, data: data as any, }) }} isSubmitting={submitMutation.isPending} /> ) }