'use client'; import type { ComponentProps } from 'react'; import type { FieldErrors, UseFormRegister } from 'react-hook-form'; import { Loader2 } from 'lucide-react'; import { FormField } from '@/components/form'; import { Button } from '@/components/ui/button'; import { Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, } from '@/components/ui/dialog'; import { Input } from '@/components/ui/input'; import type { ClientFormValues } from '../hooks/useClientForm'; interface ClientSheetProps { open: boolean; onOpenChange: (open: boolean) => void; clientId?: number; register: UseFormRegister; errors: FieldErrors; isSubmitted: boolean; onSubmit: ComponentProps<'form'>['onSubmit']; canSubmit: boolean; isSaving: boolean; } export function ClientSheet({ open, onOpenChange, clientId, register, errors, isSubmitted, onSubmit, canSubmit, isSaving, }: ClientSheetProps) { const nameErrorMessage = isSubmitted ? errors.name?.message : undefined; const emailErrorMessage = isSubmitted ? errors.email?.message : undefined; const landlineErrorMessage = isSubmitted ? errors.landline_number?.message : undefined; const addressErrorMessage = isSubmitted ? errors.address?.message : undefined; const contactNameErrorMessage = isSubmitted ? errors.contact_name?.message : undefined; const contactPhoneErrorMessage = isSubmitted ? errors.contact_phone_number?.message : undefined; const contactEmailErrorMessage = isSubmitted ? errors.contact_email?.message : undefined; return ( {clientId ? 'Edit Client' : 'Create Client'} Manage company and primary contact details.
); }