diff --git a/components/forms/SettingsSubmit.tsx b/components/forms/SettingsSubmit.tsx index b1f8450d..298d4607 100644 --- a/components/forms/SettingsSubmit.tsx +++ b/components/forms/SettingsSubmit.tsx @@ -181,8 +181,8 @@ export default function SettingsSubmit({ mode = "create", submissionId, initialV handleSubmit, control, reset, - getValues, // ⬅ added - setValue, // ⬅ added + getValues, + setValue, formState: { isSubmitting }, } = useForm({ defaultValues: { @@ -216,6 +216,20 @@ export default function SettingsSubmit({ mode = "create", submissionId, initialV const lines = useFieldArray({ control, name: "line_settings" }); const rasters = useFieldArray({ control, name: "raster_settings" }); + // ⬇⬇⬇ Moved ABOVE the hydrate effect so they exist before being referenced + // Option lists (include current IDs to guarantee a visible option) + const mats = useOptions("material", initialValues?.mat ?? null); + const coats = useOptions("material_coating", initialValues?.mat_coat ?? null); + const colors = useOptions("material_color", initialValues?.mat_color ?? null); + const opacs = useOptions("material_opacity", initialValues?.mat_opacity ?? null); + const soft = useOptions("laser_software", initialValues?.laser_soft ?? null); + const srcs = useOptions("laser_source_co2_galvo", initialValues?.source ?? null); + const lens = useOptions("laser_scan_lens", initialValues?.lens ?? null); + const conf = useOptions("laser_scan_lens_config", initialValues?.lens_conf ?? null); + const apt = useOptions("laser_scan_lens_apt", initialValues?.lens_apt ?? null); + const exp = useOptions("laser_scan_lens_exp", initialValues?.lens_exp ?? null); + // ⬆⬆⬆ + // Prefill (edit) useEffect(() => { if (!isEdit || !initialValues) return; @@ -280,18 +294,6 @@ export default function SettingsSubmit({ mode = "create", submissionId, initialV getValues, setValue, ]); - // Option lists (include current IDs to guarantee a visible option) - const mats = useOptions("material", initialValues?.mat ?? null); - const coats = useOptions("material_coating", initialValues?.mat_coat ?? null); - const colors = useOptions("material_color", initialValues?.mat_color ?? null); - const opacs = useOptions("material_opacity", initialValues?.mat_opacity ?? null); - const soft = useOptions("laser_software", initialValues?.laser_soft ?? null); - const srcs = useOptions("laser_source_co2_galvo", initialValues?.source ?? null); - const lens = useOptions("laser_scan_lens", initialValues?.lens ?? null); - const conf = useOptions("laser_scan_lens_config", initialValues?.lens_conf ?? null); - const apt = useOptions("laser_scan_lens_apt", initialValues?.lens_apt ?? null); - const exp = useOptions("laser_scan_lens_exp", initialValues?.lens_exp ?? null); - // Image files const [photoFile, setPhotoFile] = useState(null); const [screenFile, setScreenFile] = useState(null); @@ -449,15 +451,12 @@ export default function SettingsSubmit({ mode = "create", submissionId, initialV - - {/* Move Auto first, then its increment in a half-width cell */} {autoRotate && (
)} - @@ -482,18 +481,14 @@ export default function SettingsSubmit({ mode = "create", submissionId, initialV - - {/* Pass before perf per your last request */} - {perf && ( <> )} - {wobble && ( <> @@ -501,7 +496,6 @@ export default function SettingsSubmit({ mode = "create", submissionId, initialV )} - );