import { createFileRoute, useNavigate } from '@tanstack/react-router' import { useQuery, useMutation } from '@tanstack/react-query' import { useForm } from 'react-hook-form' import { zodResolver } from '@hookform/resolvers/zod' import { RepairBatchCreateSchema } from '@forte/shared/schemas' import { repairBatchMutations } from '@/api/repairs' import { accountListOptions } from '@/api/accounts' import { Button } from '@/components/ui/button' import { Input } from '@/components/ui/input' import { Label } from '@/components/ui/label' import { Textarea } from '@/components/ui/textarea' import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/ui/select' import { Card, CardContent, CardHeader, CardTitle } from '@/components/ui/card' import { ArrowLeft } from 'lucide-react' import { toast } from 'sonner' export const Route = createFileRoute('/_authenticated/repair-batches/new')({ component: NewRepairBatchPage, }) function NewRepairBatchPage() { const navigate = useNavigate() const { data: accountsData } = useQuery(accountListOptions({ page: 1, limit: 100, order: 'asc', sort: 'name' })) const { register, handleSubmit, setValue, formState: { errors }, } = useForm({ resolver: zodResolver(RepairBatchCreateSchema), defaultValues: { accountId: '', contactName: '', contactPhone: '', contactEmail: '', instrumentCount: 0, notes: '', }, }) const mutation = useMutation({ mutationFn: repairBatchMutations.create, onSuccess: (batch) => { toast.success('Repair batch created') navigate({ to: '/repair-batches/$batchId', params: { batchId: batch.id }, search: {} as any }) }, onError: (err) => toast.error(err.message), }) const accounts = accountsData?.data ?? [] return (

New Repair Batch

Batch Details
mutation.mutate(data))} className="space-y-4">
{errors.accountId &&

{errors.accountId.message}

}