fix(contact): 문의 모달을 다시 열면 접수 화면이 남아 있던 문제
한 번 문의를 보낸 뒤 닫았다가 다시 열면 폼 대신 "문의가 접수되었습니다" 화면이 그대로 떠서 두 번째 문의를 할 수 없었다. 모달을 닫아도 컴포넌트가 언마운트되지 않아 state 가 'done' 으로 남아 있던 탓이다. 열릴 때마다 입력값과 상태를 비운다. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
8a96aa0e97
commit
9eb7509bc8
@ -37,6 +37,20 @@ export default function ContactModal({ open, onClose, source }: ContactModalProp
|
|||||||
const [state, setState] = useState<SubmitState>('idle');
|
const [state, setState] = useState<SubmitState>('idle');
|
||||||
const [fieldError, setFieldError] = useState<string | null>(null);
|
const [fieldError, setFieldError] = useState<string | null>(null);
|
||||||
|
|
||||||
|
// 접수 화면을 본 뒤 닫았다가 다시 열면 그 화면이 그대로 남아 두 번째 문의를 할 수 없었다.
|
||||||
|
// 열 때마다 입력과 상태를 비운다. (2026-10-01 프로덕션에서 확인)
|
||||||
|
useEffect(() => {
|
||||||
|
if (!open) return;
|
||||||
|
setName('');
|
||||||
|
setCompany('');
|
||||||
|
setPhone('');
|
||||||
|
setEmail('');
|
||||||
|
setMessage('');
|
||||||
|
setWebsite('');
|
||||||
|
setState('idle');
|
||||||
|
setFieldError(null);
|
||||||
|
}, [open]);
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (!open) return;
|
if (!open) return;
|
||||||
const onKey = (e: KeyboardEvent) => {
|
const onKey = (e: KeyboardEvent) => {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user