/* ============================================================================ * 서명전에 — iOS Onboarding (3 step) * ========================================================================== */ function Onboarding({ onDone }) { const [step, setStep] = useState(0); const steps = [ { title: "전세·월세 계약서를\n서명 전에 확인해 보세요", body: "사진 한 장이면 AI가 조항을 읽고, 갱신청구권·보증보험·위약금처럼 중요한 부분에서 불리한 내용을 찾아 알려드려요.", art: , }, { title: "전세사기 16개 신호를\n자동으로 살펴드려요", body: "보증보험 가입 제한, 연대보증 강요, 확정일자 제한처럼 정부·법원이 경고한 위험 신호를 체크리스트로 보여드려요.", art: , }, { title: "계약서 원본은\n기기에서만 처리돼요", body: "계약서 원문은 분석이 끝나면 바로 지워지고 서버에는 남기지 않아요. 첫 분석 1회는 무료로 써 보실 수 있어요.", art: , }, ]; const s = steps[step]; const isLast = step === steps.length - 1; return (
{s.art}

{s.title}

{s.body}

{steps.map((_, i) => (
))}
); } /* Inline SVG art — Toss Blue flat illustrations */ function OnbArt1() { return ( {/* document */} {/* hilite on one line — TDS red-100/red-500 (SVG fill 은 var() 지원이 불완전해 hex 직접) */} {/* Brand seal badge — official 서명전에 mark in 200×200 grid, scaled down */} ); } function OnbArt2() { return ( {/* checklist card */} {[0, 1, 2, 3].map((i) => { const y = 86 + i * 32; const danger = i === 1 || i === 3; return ( {danger ? ( <> ) : ( )} ); })} ); } function OnbArt3() { return ( {/* phone */} {/* lock */} {/* sparkles */} ); } window.Onboarding = Onboarding; Object.assign(window, { Onboarding });