import { useState } from 'react' import { useNavigate } from 'react-router-dom' import { useAnalysis } from '@/hooks/useAnalysis' /** * AnalysisStartPage — MVP 핵심 페이지. * * 사용자가 병원 URL + 유튜브/IG/FB/네이버블로그/강남언니 핸들을 직접 입력. * 원본 프로토타입은 URL만 받고 자동 발견했지만, MVP는 핸들 수동 입력. * * TODO (D2 frontend): * - 각 입력 필드에 `POST /api/channels/verify` 실시간 검증 (debounce 500ms) * - 핸들 정규화 UI (사용자가 URL 전체 붙여넣어도 @handle 추출) * - 최소 1개 채널 필수 검증 */ export default function AnalysisStartPage() { const navigate = useNavigate() const { start, error } = useAnalysis() const [isSubmitting, setIsSubmitting] = useState(false) const [form, setForm] = useState({ url: '', name: '', youtube: '', instagram: '', facebook: '', naver_blog: '', gangnam_unni: '', }) async function handleSubmit(e: React.FormEvent) { e.preventDefault() setIsSubmitting(true) try { const runId = await start({ url: form.url, channels: { youtube: form.youtube || undefined, instagram: form.instagram ? [form.instagram] : [], facebook: form.facebook || undefined, naver_blog: form.naver_blog || undefined, gangnam_unni: form.gangnam_unni || undefined, }, }) navigate(`/analysis/${runId}/loading`) } catch { setIsSubmitting(false) } } return (