fix(contact): 문의 모달을 다시 열면 접수 화면이 남아 있던 문제

한 번 문의를 보낸 뒤 닫았다가 다시 열면 폼 대신 "문의가 접수되었습니다"
화면이 그대로 떠서 두 번째 문의를 할 수 없었다. 모달을 닫아도 컴포넌트가
언마운트되지 않아 state 가 'done' 으로 남아 있던 탓이다.

열릴 때마다 입력값과 상태를 비운다.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Haewon Kam 2026-10-01 13:18:00 +09:00
parent 8a96aa0e97
commit 9eb7509bc8

View File

@ -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) => {