'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 (
); }