/* global React */ const { useState: useStateHero, useEffect: useEffectHero, useRef: useRefHero } = React; const HERO_SLIDES = [ { tag: "인기 차종 즉시 출고", title: "내가 타고 싶던 차,\n가격이 궁금하다면?", lede: "인기 모델 월 리스료를 1분 안에 확인하세요. 견적 신청 후 30분 내 전담 컨설턴트가 연락드립니다." }, { tag: "이달의 특가 · 최대 12% 할인", title: "이달의 특가 모델\n월 29만원부터 시작", lede: "SUV·세단·전기차 전 차급에서 특가 혜택이 준비됐습니다. 지금 신청하면 출고 보증금 면제." }, { tag: "무심사 장기렌트", title: "신용에 상관없이,\n내 명의로 바로 출고", lede: "프리랜서·사업자·신불자도 OK. 재직증명 없이 간편 서류만으로 원하는 차량 이용이 가능합니다." }, ]; function QuoteForm() { const [form, setForm] = useStateHero({ name: "", phone: "", model: "" }); const [err, setErr] = useStateHero({}); const [agree, setAgree] = useStateHero([true, true, true, false]); const [toast, setToast] = useStateHero(false); const toggle = (i) => setAgree(prev => prev.map((v, idx) => idx === i ? !v : v)); const allOn = agree[0] && agree[1] && agree[2]; const toggleAll = () => { const next = !allOn; setAgree(prev => prev.map((_, i) => i === 3 ? prev[3] : next)); }; const onPhone = (v) => { const d = v.replace(/\D/g, '').slice(0, 11); let out = d; if (d.length > 3 && d.length <= 7) out = `${d.slice(0,3)}-${d.slice(3)}`; else if (d.length > 7) out = `${d.slice(0,3)}-${d.slice(3,7)}-${d.slice(7)}`; setForm(f => ({ ...f, phone: out })); }; const submit = (e) => { e.preventDefault(); const next = {}; if (!form.name.trim() || form.name.trim().length < 2) next.name = "이름을 2글자 이상 입력해 주세요"; const digits = form.phone.replace(/\D/g, ''); if (digits.length < 10 || !digits.startsWith('01')) next.phone = "올바른 휴대폰 번호를 입력해 주세요"; if (!allOn) next.agree = "필수 약관에 모두 동의해 주세요"; setErr(next); if (Object.keys(next).length === 0) { setToast(true); setTimeout(() => setToast(false), 2800); setForm({ name: "", phone: "", model: "" }); } }; return ( <>
{s.lede}