import { useEffect } from "react"; import { useTranslation } from "react-i18next"; import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import { z } from "zod"; import { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, } from "@/components/ui/form"; import { Button } from "@/components/ui/button"; import { Textarea } from "@/components/ui/textarea"; import ImagePicker from "@/components/overlay/ImagePicker"; import { TriggerType } from "@/types/trigger"; export type Step2FormData = { data: string; }; type Step2ConfigureDataProps = { initialData?: Step2FormData; triggerType: TriggerType; selectedCamera: string; onNext: (data: Step2FormData) => void; onBack: () => void; }; export default function Step2ConfigureData({ initialData, triggerType, selectedCamera, onNext, onBack, }: Step2ConfigureDataProps) { const { t } = useTranslation("views/settings"); const formSchema = z.object({ data: z.string().min(1, t("triggers.dialog.form.content.error.required")), }); const form = useForm>({ resolver: zodResolver(formSchema), mode: "onChange", defaultValues: { data: initialData?.data ?? "", }, }); const onSubmit = (values: z.infer) => { onNext({ data: values.data, }); }; useEffect(() => { if (initialData) { form.reset(initialData); } }, [initialData, form]); return (
( {triggerType === "thumbnail" ? ( <> {t("triggers.dialog.form.content.imagePlaceholder")} {t("triggers.dialog.form.content.imageDesc")} ) : ( <>