결제 방식 변경:
- ai-kit: PaymentButton 2개 → KAKAO_CHANNEL_URL 있으면 카카오버튼,
없으면 ContactModal로 폴백. 가격(19,900원/월) 표시 유지
- prompt: PaymentButton → 카카오버튼 or openModal() 호출로 교체
문의 시 샘플 파일 미리 제공 안내 유지
- saju: AI 해석 hasPaid=true 고정 → 무료 제공으로 전환
사주 페이지 결제 버튼 → '무료로 사주 분석하기' 링크
SajuAISection PaymentButton → 비활성화 주석 처리
환경변수 추가 (선택):
- NEXT_PUBLIC_KAKAO_CHANNEL_URL: 카카오 채널 채팅 링크
- NEXT_PUBLIC_TOSS_ME_URL: toss.me 개인 송금 링크
- 토스페이먼츠 PG 키 주석 처리 (재활성화 시 해제 가능)
사주 hero AI 패턴 제거:
- radial gradient orb 3개, blur 배경 → diagonal pattern
- 그래디언트 텍스트 → amber-400 단색
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- SajuFortuneSection 신규 추가: 일진 기반 결정론적 오늘의 운세 (AI 불필요)
- 1900-01-01 甲戌 기준 오늘의 일주 계산 (CLAUDE.md 검증 로직)
- 용신·희신 오행과 일진 오행의 상생·상극으로 종합 점수 산출
- 재물/애정/직업/건강/사회 5대 운세 seededRand 결정론적 생성
- 사주 AI 섹션 → 오늘의 운세 → 로또 추천 순서로 자연스럽게 연결
- SajuLottoSection: id="saju-lotto-section" 추가 (운세 섹션 스크롤 대상)
- page.tsx: savedInterpretation 2차 폴백 쿼리 추가
- birth_hour 불일치 시 시간 제외 키로 재조회 → 다시 보기 시 AI 재호출 방지
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- lib/solar-terms.ts: solarlunar → lunar-javascript로 전면 교체
- getSolarTermDate(): LunarYear.fromYear().getJieQiJulianDays() 사용 (시분 단위 정밀도)
- 소한(22)/대한(23)은 year-1로 조회해 해당 연도 1월 날짜 정확히 반환
- getCurrentSolarTerm(): 입춘 기준 두 구간 분리, Date.UTC() 비교
- lib/daeun-calculator.ts: getSolarTermDate 정확도 향상으로 termYear 수동 보정 제거
- lib/saju-calculator.ts: 일주 기준일 甲戌, Date.UTC(), 오호둔월법 공식 적용
- lib/ai-interpretation.ts: 신약 용신 후보 내림차순 정렬 수정
- app/saju/result/page.tsx: Python 엔진(fetchFromPythonEngine) 완전 제거, TS 전용
- app/api/saju/calculate/route.ts: Python 프록시 라우트 삭제
- app/saju/page.tsx: fromHistory 파라미터 제거
- types/lunar-javascript.d.ts: 타입 선언 파일 추가
검증 케이스(1992-12-23 16:30 남성): 壬申/壬子/癸酉/庚申
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>