From 9eb7509bc87b952d37a89c9451681b9f03c23fd3 Mon Sep 17 00:00:00 2001 From: Haewon Kam Date: Thu, 1 Oct 2026 13:18:00 +0900 Subject: [PATCH] =?UTF-8?q?fix(contact):=20=EB=AC=B8=EC=9D=98=20=EB=AA=A8?= =?UTF-8?q?=EB=8B=AC=EC=9D=84=20=EB=8B=A4=EC=8B=9C=20=EC=97=B4=EB=A9=B4=20?= =?UTF-8?q?=EC=A0=91=EC=88=98=20=ED=99=94=EB=A9=B4=EC=9D=B4=20=EB=82=A8?= =?UTF-8?q?=EC=95=84=20=EC=9E=88=EB=8D=98=20=EB=AC=B8=EC=A0=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 한 번 문의를 보낸 뒤 닫았다가 다시 열면 폼 대신 "문의가 접수되었습니다" 화면이 그대로 떠서 두 번째 문의를 할 수 없었다. 모달을 닫아도 컴포넌트가 언마운트되지 않아 state 가 'done' 으로 남아 있던 탓이다. 열릴 때마다 입력값과 상태를 비운다. Co-Authored-By: Claude Opus 5 (1M context) --- src/components/ContactModal.tsx | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/components/ContactModal.tsx b/src/components/ContactModal.tsx index 0a25841..2da9efe 100644 --- a/src/components/ContactModal.tsx +++ b/src/components/ContactModal.tsx @@ -37,6 +37,20 @@ export default function ContactModal({ open, onClose, source }: ContactModalProp const [state, setState] = useState('idle'); const [fieldError, setFieldError] = useState(null); + // 접수 화면을 본 뒤 닫았다가 다시 열면 그 화면이 그대로 남아 두 번째 문의를 할 수 없었다. + // 열 때마다 입력과 상태를 비운다. (2026-10-01 프로덕션에서 확인) + useEffect(() => { + if (!open) return; + setName(''); + setCompany(''); + setPhone(''); + setEmail(''); + setMessage(''); + setWebsite(''); + setState('idle'); + setFieldError(null); + }, [open]); + useEffect(() => { if (!open) return; const onKey = (e: KeyboardEvent) => {