'use client'; import { useState } from 'react'; import { useRouter } from 'next/navigation'; import { lunarToSolar } from '@/lib/lunar-utils'; export default function SajuForm() { const router = useRouter(); const [year, setYear] = useState(''); const [month, setMonth] = useState(''); const [day, setDay] = useState(''); const [hour, setHour] = useState(''); const [calendarType, setCalendarType] = useState<'solar' | 'lunar'>('solar'); const [gender, setGender] = useState<'male' | 'female'>('male'); const [isLeapMonth, setIsLeapMonth] = useState(false); const handleSubmit = (e: React.FormEvent) => { e.preventDefault(); if (!year || !month || !day) { alert('생년월일을 모두 입력해주세요.'); return; } let finalYear = year; let finalMonth = month; let finalDay = day; // 음력인 경우 양력으로 변환 if (calendarType === 'lunar') { const solar = lunarToSolar( parseInt(year), parseInt(month), parseInt(day), isLeapMonth ); finalYear = solar.year.toString(); finalMonth = solar.month.toString(); finalDay = solar.day.toString(); } // URL 파라미터로 전달 const params = new URLSearchParams({ year: finalYear, month: finalMonth, day: finalDay, gender, calendarType, originalYear: year, originalMonth: month, originalDay: day, }); if (hour) { params.append('hour', hour); } if (calendarType === 'lunar') { params.append('isLeapMonth', isLeapMonth.toString()); } router.push(`/result?${params.toString()}`); }; return (
{/* 생년월일 */}
setYear(e.target.value)} required /> setMonth(e.target.value)} required /> setDay(e.target.value)} required />
{/* 태어난 시간 */}
{/* 양력/음력 선택 */}
{calendarType === 'lunar' && (
)}
{/* 성별 선택 */}
{/* 제출 버튼 */}

* 태어난 시간을 정확히 아시면 더 정확한 사주를 확인할 수 있습니다.

); }