import { calculateSaju } from '@/lib/saju-calculator'; import Link from 'next/link'; import PDFButton from '../components/PDFButton'; import ShareButtons from '../components/ShareButtons'; import { calculateDaeun, getCurrentDaeun, getDaeunDescription } from '@/lib/daeun-calculator'; 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); // ๋์ด ๊ณ์ฐ const daeunList = calculateDaeun( yearNum, monthNum, dayNum, gender, sajuData.month.stem, sajuData.month.branch ); const currentYear = new Date().getFullYear(); const currentDaeun = getCurrentDaeun(daeunList, currentYear); return (
{yearNum}๋ {monthNum}์ {dayNum}์ผ {hourNum !== null && `${hourNum}์`} {gender === 'male' ? ' ๋จ์ฑ' : ' ์ฌ์ฑ'}
| ๊ตฌ๋ถ | {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 && (
{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 && (
{sajuData.hour.tenGod}
|
)}
{sajuData.day.tenGod}
|
{sajuData.month.tenGod}
|
{sajuData.year.tenGod}
|
| ์ญ์ด์ด์ฑ | {sajuData.hour && (
{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 === '์' && ' ์ฑ์ฅ์ ์ค๋นํ๋ ์๊ธฐ์ ๋๋ค.'}
{getDaeunDescription(currentDaeun, sajuData.day.stem)}
๋์ด(ๅคง้): 10๋ ๋จ์๋ก ๋ณํํ๋ ํฐ ์ด์ ํ๋ฆ์ ๋๋ค. ๊ฐ ๋์ด๋ง๋ค ์ถ์ ๋ฐฉํฅ๊ณผ ํ๊ฒฝ์ด ๋ฌ๋ผ์ง ์ ์์ผ๋ฏ๋ก, ํ์ฌ ๋์ด์ ํน์ฑ์ ์ดํดํ๊ณ ํ์ฉํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
์ค๋์ ์ด์ ํ์ธํ๊ธฐ
๋ ์ฌ๋์ ๊ถํฉ ํ์ธ