**task-2190 완료 보고** (dev6-team) **task-2190 완료 보고서** (21분 8초) **핵심 결과** 2개 파일 수정으로 해결 완료. (1) `DigitalNamecard.tsx`: `window.prompt` 제거 → 이름+전화번호 입력 폼 오버레이로 교체. 고객 생성 시 `phone` 필드 포함. (2) `CustomerChat.tsx`: 대화 SELECT 후 없으면 INSERT하는 get-or-create 패턴으로 변경. `npm run build` 성공 (8.22s), TypeScript 에러 0건. ## 수정 파일별 검증 상태 | 파일 | 변경 내용 | grep 검증 | 상태 | |------|-----------|-----------|------| | src/pages/DigitalNamecard.tsx:28-31 | showChatForm/visitorName/visitorPhone/submitting 상태 추가 | showChatForm 사용 확인 | verified | | src/pages/DigitalNamecard.tsx:49-54 | handleStartChat → showChatForm 토글로 변경 | setShowChatForm 확인 | verified | | src/pages/DigitalNamecard.tsx:57-120 | handleSubmitChat 함수 (phone 포함 고객 생성) | phone: visitorPhone 확인 | verified | | src/pages/DigitalNamecard.tsx:141-186 | 채팅 신청 오버레이 폼 JSX | showChatForm && 확인 | verified | | src/pages/CustomerChat.tsx:104 **발견/해결 이슈 3건** 1. **전화번호 미수집으로 CustomerChat 인증 실패** — `window.prompt` 제거, 이름+전화번호 입력 폼 오버레이로 교체. 고객 INSERT 시 `phone` 필드 추가. 2. **conversations 미생성으로 메시지 전송 불가** — SELECT 후 null이면 INSERT하는 get-or-create 패턴 적용. 3. **기존 고객 재방문 시 전화번호 업데이트 미반영** — 미해결: 기존 고객 검색(name+agent_id 매칭) 시 phone이 null인 기존 레코드가 있을 수 있음. 범위 외 사유: 기존 데이터 마이그레이션은 별도 작업 필요.