feat: 음력 변환, 대운 계산, 소셜 공유 기능 추가

- 음력 변환 기능 구현
  - lunar-calendar 라이브러리 추가
  - 음력-양력 변환 유틸리티 생성
  - 모든 입력 폼에 양력/음력 선택 및 윤달 옵션 추가
  - SajuForm, CompatibilityForm에 음력 지원

- 대운(大運) 계산 기능 구현
  - 10년 단위 대운 계산 알고리즘
  - 현재 대운 표시 및 해석
  - 사주팔자 결과 페이지에 대운 섹션 추가
  - 8개 대운 (80년치) 표시

- 소셜 공유 기능 구현
  - ShareButtons 컴포넌트 생성
  - 카카오톡, 페이스북, 트위터 공유
  - 네이티브 공유 API 지원
  - 링크 복사 기능
  - 모든 결과 페이지에 공유 버튼 추가

- 메타데이터 개선
  - 사이트 제목 및 설명 최적화
  - 한국어(ko) 설정
  - 카카오 SDK 추가

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
2026-02-11 23:57:53 +09:00
parent f85e857bea
commit affbdf1a44
11 changed files with 695 additions and 16 deletions

View File

@@ -1,6 +1,7 @@
import Link from 'next/link';
import { calculateSaju } from '@/lib/saju-calculator';
import PDFButton from '../../components/PDFButton';
import ShareButtons from '../../components/ShareButtons';
interface PageProps {
searchParams: Promise<{
@@ -284,7 +285,7 @@ export default async function TojeongResultPage({ searchParams }: PageProps) {
</div>
{/* 다른 메뉴 */}
<div className="grid md:grid-cols-3 gap-6">
<div className="grid md:grid-cols-2 lg:grid-cols-4 gap-6">
<Link
href="/tojeong"
className="bg-white rounded-xl p-6 shadow-lg hover:shadow-xl transition text-center group"
@@ -309,6 +310,11 @@ export default async function TojeongResultPage({ searchParams }: PageProps) {
buttonText="토정비결 PDF 저장"
className="bg-gradient-to-r from-amber-600 to-orange-600 text-white rounded-xl p-6 shadow-lg hover:shadow-xl transition text-center group w-full disabled:opacity-50 disabled:cursor-not-allowed"
/>
<ShareButtons
title={`${targetYear}년 토정비결 - ${birthYear}년생`}
description={`${averageScore}점 (${getScoreText(averageScore)}) - 한 해의 운세를 확인해보세요!`}
/>
</div>
</div>