'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 RoundApplyPage() { const params = useParams() const router = useRouter() const slug = params.slug as string const { data: config, isLoading, error } = trpc.application.getConfig.useQuery( { slug, mode: 'round' }, { retry: false } ) const submitMutation = trpc.application.submit.useMutation({ onError: (error) => toast.error(error.message), }) if (isLoading) { return (
) } if (error || !config || config.mode !== 'round') { return (

Application Not Available

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

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