import { format } from "date-fns"; import { enUS, it } from "date-fns/locale"; import { CalendarIcon, X } from "lucide-react"; import { z } from "zod/v4"; import { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, } from "~/components/custom_ui/form"; import { Button } from "~/components/ui/button"; import { Calendar } from "~/components/ui/calendar"; import { Label } from "~/components/ui/label"; import { Popover, PopoverContent, PopoverTrigger, } from "~/components/ui/popover"; import { Switch } from "~/components/ui/switch"; import { cn } from "~/lib/utils"; import { useZodForm } from "~/lib/zodForm"; import { useTranslation } from "~/providers/I18nProvider"; import type { Servizio } from "~/schemas/public/Servizio"; const Schema = z.object({ isSent: z.boolean(), decorrenza: z.date().nullable(), isInterrotto: z.boolean(), isOkAcconto: z.boolean(), isOkSaldo: z.boolean(), isOkConsulenza: z.boolean(), }); export type FormValues = z.infer; export const FormEditServizio = ({ initialData, onSubmit, }: { initialData: Servizio | undefined; onSubmit: (fields: FormValues) => void; }) => { // This can come from your database or API. let defaultValues: FormValues; if (initialData) { defaultValues = { ...initialData, }; } else { defaultValues = { isSent: false, decorrenza: null, isInterrotto: false, isOkAcconto: false, isOkSaldo: false, isOkConsulenza: false, }; } const { locale, t } = useTranslation(); z.config(z.locales[locale]()); const form = useZodForm(Schema, { defaultValues: defaultValues, }); const DatePickerLocale = locale === "it" ? it : enUS; return (
(
Inviato
La mail di benvenuto al cliente è stata inviata
)} /> (
Interrotto
Il servizio è interrotto
)} />
(
Decorrenza Servizio
date > new Date() || date < new Date("1900-01-01") } autoFocus />
)} />
(
Acconto Pagato
I'acconto è stato pagato o attivato manualmente
)} /> (
Saldo Pagato
Il saldo è stato pagato o attivato manualmente
)} /> (
Consulenza Pagata
La consulenza è stata pagata o attivata manualmente
)} />
); };