diff --git a/web/src/components/input/TextEntry.tsx b/web/src/components/input/TextEntry.tsx index c9fa8a8a9..92867f5e3 100644 --- a/web/src/components/input/TextEntry.tsx +++ b/web/src/components/input/TextEntry.tsx @@ -1,4 +1,10 @@ -import { Form, FormControl, FormField, FormItem } from "@/components/ui/form"; +import { + Form, + FormControl, + FormField, + FormItem, + FormMessage, +} from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { zodResolver } from "@hookform/resolvers/zod"; import React, { useCallback } from "react"; @@ -14,50 +20,47 @@ type TextEntryProps = { children?: React.ReactNode; }; export default function TextEntry({ - defaultValue, + defaultValue = "", placeholder, - allowEmpty, + allowEmpty = false, onSave, children, }: TextEntryProps) { const formSchema = z.object({ - text: z.string(), + text: allowEmpty + ? z.string().optional() + : z.string().min(1, "Field is required"), }); const form = useForm>({ resolver: zodResolver(formSchema), defaultValues: { text: defaultValue }, }); - const fileRef = form.register("text"); - - // upload handler const onSubmit = useCallback( (data: z.infer) => { - if (!allowEmpty && !data["text"]) { - return; - } - onSave(data["text"]); + onSave(data.text || ""); }, - [onSave, allowEmpty], + [onSave], ); return (
- + ( + render={({ field }) => ( + )} /> diff --git a/web/src/components/overlay/detail/FaceCreateWizardDialog.tsx b/web/src/components/overlay/detail/FaceCreateWizardDialog.tsx index 659ac4c88..db322b236 100644 --- a/web/src/components/overlay/detail/FaceCreateWizardDialog.tsx +++ b/web/src/components/overlay/detail/FaceCreateWizardDialog.tsx @@ -101,7 +101,7 @@ export default function CreateFaceWizardDialog({ }} >
{t("button.addFace")} @@ -110,7 +110,7 @@ export default function CreateFaceWizardDialog({ {step == 0 && ( { setName(name); setStep(1);