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 [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(() => {
|
||||
if (!open) return;
|
||||
const onKey = (e: KeyboardEvent) => {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user