From 2c3151da9bb8d731da8e18ff22790a811f19a725 Mon Sep 17 00:00:00 2001 From: Owen Date: Fri, 3 Jul 2026 17:36:06 -0400 Subject: [PATCH] Fix #3374 --- .../resources/public/[niceId]/http/page.tsx | 17 ++- src/components/HeadersInput.tsx | 129 +++++++++++------- 2 files changed, 92 insertions(+), 54 deletions(-) diff --git a/src/app/[orgId]/settings/resources/public/[niceId]/http/page.tsx b/src/app/[orgId]/settings/resources/public/[niceId]/http/page.tsx index d9e2fefe0..e991d7b97 100644 --- a/src/app/[orgId]/settings/resources/public/[niceId]/http/page.tsx +++ b/src/app/[orgId]/settings/resources/public/[niceId]/http/page.tsx @@ -41,7 +41,7 @@ import { import { AxiosResponse } from "axios"; import { useTranslations } from "next-intl"; import { useParams, useRouter } from "next/navigation"; -import { useActionState } from "react"; +import { useActionState, useState } from "react"; import { useForm } from "react-hook-form"; import { z } from "zod"; @@ -137,11 +137,21 @@ function ProxyResourceHttpForm({ }); const [, formAction, saveLoading] = useActionState(onSubmit, null); + const [headersValid, setHeadersValid] = useState(true); async function onSubmit() { const isValid = await form.trigger(); if (!isValid) return; + if (!headersValid) { + toast({ + variant: "destructive", + title: t("settingsErrorUpdate"), + description: t("headersValidationError") + }); + return; + } + const data = form.getValues(); const res = await api @@ -318,6 +328,9 @@ function ProxyResourceHttpForm({ onChange={ field.onChange } + onValidityChange={ + setHeadersValid + } rows={4} /> @@ -341,7 +354,7 @@ function ProxyResourceHttpForm({