import { calculateSaju } from '@/lib/saju-calculator'; import Link from 'next/link'; import PDFButton from '../components/PDFButton'; interface PageProps { searchParams: Promise<{ year: string; month: string; day: string; hour?: string; gender: 'male' | 'female'; calendarType: 'solar' | 'lunar'; }>; } export default async function ResultPage({ searchParams }: PageProps) { const params = await searchParams; const { year, month, day, hour, gender } = params; const yearNum = parseInt(year); const monthNum = parseInt(month); const dayNum = parseInt(day); const hourNum = hour ? parseInt(hour) : null; const sajuData = calculateSaju(yearNum, monthNum, dayNum, hourNum, gender); return (
{/* Navigation */} {/* Result Content */}
{/* Header */}

๋‚ด ์‚ฌ์ฃผํŒ”์ž

{yearNum}๋…„ {monthNum}์›” {dayNum}์ผ {hourNum !== null && `${hourNum}์‹œ`} {gender === 'male' ? ' ๋‚จ์„ฑ' : ' ์—ฌ์„ฑ'}

{/* ์‚ฌ์ฃผํŒ”์ž ํ‘œ */}

์‚ฌ์ฃผํŒ”์ž (ๅ››ๆŸฑๅ…ซๅญ—)

{sajuData.hour && } {/* ์ฒœ๊ฐ„ */} {sajuData.hour && ( )} {/* ์ง€์ง€ */} {sajuData.hour && ( )} {/* ์‹ญ์„ฑ */} {sajuData.hour && ( )} {/* ์‹ญ์ด์šด์„ฑ */} {sajuData.hour && ( )}
๊ตฌ๋ถ„์‹œ์ฃผ (ๆ™‚ๆŸฑ)์ผ์ฃผ (ๆ—ฅๆŸฑ) ์›”์ฃผ (ๆœˆๆŸฑ) ๋…„์ฃผ (ๅนดๆŸฑ)
์ฒœ๊ฐ„ (ๅคฉๅนฒ)
{sajuData.hour.stem}
{sajuData.hour.stemKr}
{sajuData.day.stem}
{sajuData.day.stemKr}
์ผ๊ฐ„ (ๆ—ฅๅนฒ)
{sajuData.month.stem}
{sajuData.month.stemKr}
{sajuData.year.stem}
{sajuData.year.stemKr}
์ง€์ง€ (ๅœฐๆ”ฏ)
{sajuData.hour.branch}
{sajuData.hour.branchKr}
{sajuData.day.branch}
{sajuData.day.branchKr}
{sajuData.month.branch}
{sajuData.month.branchKr}
{sajuData.year.branch}
{sajuData.year.branchKr}
์‹ญ์„ฑ (ๅๆ˜Ÿ)
{sajuData.hour.tenGod}
{sajuData.day.tenGod}
{sajuData.month.tenGod}
{sajuData.year.tenGod}
์‹ญ์ด์šด์„ฑ
{sajuData.hour.fortune}
{sajuData.day.fortune}
{sajuData.month.fortune}
{sajuData.year.fortune}

์ผ๊ฐ„ (ๆ—ฅๅนฒ): {sajuData.day.stem}({sajuData.day.stemKr}) - ๋‚˜ ์ž์‹ ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ค‘์‹ฌ ๊ธฐ๋‘ฅ์ž…๋‹ˆ๋‹ค.

{/* ์‚ฌ์ฃผ ํ•ด์„ */}
{/* ์„ฑ๊ฒฉ */}

๐Ÿ‘ค ์„ฑ๊ฒฉ ํŠน์ง•

์ผ๊ฐ„์ด {sajuData.day.stem}({sajuData.day.stemKr})์ธ ์‚ฌ๋žŒ์€ {sajuData.day.element === 'ๆœจ' && ' ๋‚˜๋ฌด์ฒ˜๋Ÿผ ์„ฑ์žฅํ•˜๊ณ  ๋ฐœ์ „ํ•˜๋ ค๋Š” ์˜์ง€๊ฐ€ ๊ฐ•ํ•ฉ๋‹ˆ๋‹ค. ์ฐฝ์˜์ ์ด๊ณ  ์ง„์ทจ์ ์ธ ์„ฑํ–ฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.'} {sajuData.day.element === '็ซ' && ' ๋ถˆ์ฒ˜๋Ÿผ ์—ด์ •์ ์ด๊ณ  ํ™œ๋™์ ์ž…๋‹ˆ๋‹ค. ๋ฆฌ๋”์‹ญ์ด ์žˆ๊ณ  ์‚ฌ๊ต์„ฑ์ด ๋›ฐ์–ด๋‚ฉ๋‹ˆ๋‹ค.'} {sajuData.day.element === 'ๅœŸ' && ' ํ™์ฒ˜๋Ÿผ ์•ˆ์ •์ ์ด๊ณ  ์‹ ๋ขฐ๊ฐ ์žˆ์Šต๋‹ˆ๋‹ค. ํฌ์šฉ๋ ฅ์ด ์žˆ๊ณ  ์ฑ…์ž„๊ฐ์ด ๊ฐ•ํ•ฉ๋‹ˆ๋‹ค.'} {sajuData.day.element === '้‡‘' && ' ๊ธˆ์†์ฒ˜๋Ÿผ ๊ฐ•์ธํ•˜๊ณ  ์›์น™์ ์ž…๋‹ˆ๋‹ค. ๊ฒฐ๋‹จ๋ ฅ ์žˆ๊ณ  ์˜๋ฆฌ๋ฅผ ์ค‘์‹œํ•ฉ๋‹ˆ๋‹ค.'} {sajuData.day.element === 'ๆฐด' && ' ๋ฌผ์ฒ˜๋Ÿผ ์œ ์—ฐํ•˜๊ณ  ์ง€ํ˜œ๋กญ์Šต๋‹ˆ๋‹ค. ์ ์‘๋ ฅ์ด ๋›ฐ์–ด๋‚˜๊ณ  ์‚ฌ๋ ค ๊นŠ์Šต๋‹ˆ๋‹ค.'}

{/* ์šด์„ธ */}

๐ŸŒŸ ์šด์„ธ ํ๋ฆ„

ํ˜„์žฌ ์‹ญ์ด์šด์„ฑ์ด {sajuData.day.fortune}์œผ๋กœ, {sajuData.day.fortune === '์žฅ์ƒ' && ' ์ƒˆ๋กœ์šด ์‹œ์ž‘๊ณผ ์„ฑ์žฅ์˜ ์‹œ๊ธฐ์ž…๋‹ˆ๋‹ค.'} {sajuData.day.fortune === '๋ชฉ์š•' && ' ์ •ํ™”์™€ ์ค€๋น„์˜ ์‹œ๊ธฐ์ž…๋‹ˆ๋‹ค.'} {sajuData.day.fortune === '๊ด€๋Œ€' && ' ์‚ฌํšŒ์ ์œผ๋กœ ์ธ์ •๋ฐ›๋Š” ์‹œ๊ธฐ์ž…๋‹ˆ๋‹ค.'} {sajuData.day.fortune === '๊ฑด๋ก' && ' ์•ˆ์ •๋˜๊ณ  ์™•์„ฑํ•œ ํ™œ๋™์˜ ์‹œ๊ธฐ์ž…๋‹ˆ๋‹ค.'} {sajuData.day.fortune === '์ œ์™•' && ' ์ตœ๊ณ ์˜ ์ „์„ฑ๊ธฐ๋ฅผ ๋งž์ดํ•˜๋Š” ์‹œ๊ธฐ์ž…๋‹ˆ๋‹ค.'} {sajuData.day.fortune === '์‡ ' && ' ์กฐ๊ธˆ์”ฉ ํž˜์ด ์•ฝํ•ด์ง€๋Š” ์‹œ๊ธฐ์ž…๋‹ˆ๋‹ค.'} {sajuData.day.fortune === '๋ณ‘' && ' ์–ด๋ ค์›€์ด ์žˆ์„ ์ˆ˜ ์žˆ๋Š” ์‹œ๊ธฐ์ž…๋‹ˆ๋‹ค.'} {sajuData.day.fortune === '์‚ฌ' && ' ๋๊ณผ ์ƒˆ ์‹œ์ž‘์„ ์ค€๋น„ํ•˜๋Š” ์‹œ๊ธฐ์ž…๋‹ˆ๋‹ค.'} {sajuData.day.fortune === '๋ฌ˜' && ' ์ž ์‹œ ํœด์‹์ด ํ•„์š”ํ•œ ์‹œ๊ธฐ์ž…๋‹ˆ๋‹ค.'} {sajuData.day.fortune === '์ ˆ' && ' ๊ทน๋ณต๊ณผ ์ธ๋‚ด๊ฐ€ ํ•„์š”ํ•œ ์‹œ๊ธฐ์ž…๋‹ˆ๋‹ค.'} {sajuData.day.fortune === 'ํƒœ' && ' ์ƒˆ๋กœ์šด ๊ธฐ์šด์ด ์‹นํŠธ๋Š” ์‹œ๊ธฐ์ž…๋‹ˆ๋‹ค.'} {sajuData.day.fortune === '์–‘' && ' ์„ฑ์žฅ์„ ์ค€๋น„ํ•˜๋Š” ์‹œ๊ธฐ์ž…๋‹ˆ๋‹ค.'}

{/* ์ถ”๊ฐ€ ๊ธฐ๋Šฅ ๋ฒ„ํŠผ */}
๐ŸŒŸ

์˜ค๋Š˜์˜ ์šด์„ธ

์˜ค๋Š˜์˜ ์šด์„ ํ™•์ธํ•˜๊ธฐ

๐Ÿ’•

๊ถํ•ฉ ๋ณด๊ธฐ

๋‘ ์‚ฌ๋žŒ์˜ ๊ถํ•ฉ ํ™•์ธ

{/* Footer */}
); }