import { z } from "zod/v4"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage, } from "~/components/custom_ui/form"; import { Button } from "~/components/ui/button"; import Input from "~/components/ui/input"; import { Switch } from "~/components/ui/switch"; import { useZodForm } from "~/lib/zodForm"; import type { Flags, FlagsId } from "~/schemas/public/Flags"; type FormProps = { initialValues: Flags | null; submitMutation: (values: Flags) => void; handleRemove: (id: FlagsId) => void; }; export const FormFlags = ({ initialValues, submitMutation, handleRemove, }: FormProps) => { const Schema = z.object({ id: z.string(), value: z.boolean(), }); type FormValues = z.infer; let defaultValues: FormValues; // This can come from your database or API. if (!initialValues) { defaultValues = { id: "", value: false, }; } else { defaultValues = { id: initialValues.id, value: initialValues.value, }; } z.config(z.locales.it()); const form = useZodForm(Schema, { defaultValues: defaultValues, }); function onSubmit(fields: FormValues) { const values = { id: fields.id as FlagsId, value: fields.value, }; submitMutation(values); } return ( <>
(
Codice
)} /> (
Attivo/Inattivo
)} />
{initialValues?.id && handleRemove && ( )}
); };