From 89101d0e05afa1872f3df9a0d9d554299b449be7 Mon Sep 17 00:00:00 2001 From: Benjamin Toby Date: Thu, 22 Oct 2026 04:59:29 +0100 Subject: [PATCH] Keep model settings changes out of the page's form The modal renders in a portal at the end of the document, outside the Models page's form, so twui's Form found no form element on a change there and threw building FormData. The fields get a form of their own, nested inside the page's, to give it something to read and to keep Enter from submitting the page. --- .../models/(partials)/harness-parameter-modal.tsx | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/pages/admin/settings/models/(partials)/harness-parameter-modal.tsx b/src/pages/admin/settings/models/(partials)/harness-parameter-modal.tsx index 429fa92..5adf5c5 100644 --- a/src/pages/admin/settings/models/(partials)/harness-parameter-modal.tsx +++ b/src/pages/admin/settings/models/(partials)/harness-parameter-modal.tsx @@ -1,5 +1,6 @@ import { useState } from "react"; import Modal from "@moduletrace/twui/elements/Modal"; +import Form from "@moduletrace/twui/form/Form"; import H2 from "@moduletrace/twui/layout/H2"; import Span from "@moduletrace/twui/layout/Span"; import Stack from "@moduletrace/twui/layout/Stack"; @@ -101,7 +102,12 @@ export default function HarnessParameterModal({ and repeatable. - + {/* + A form of its own: twui's Form reads the closest form on change, + so inside the page's form (this renders in a portal) a change + here would blow up reading the modal's wrapper. + */} +
e.preventDefault()}> - + ); }