Skip to content

Claude/check status planning ipml m#14

Merged
jee599 merged 13 commits intomainfrom
claude/check-status-planning-IpmlM
Mar 12, 2026
Merged

Claude/check status planning ipml m#14
jee599 merged 13 commits intomainfrom
claude/check-status-planning-IpmlM

Conversation

@jee599
Copy link
Owner

@jee599 jee599 commented Mar 12, 2026

No description provided.

claude added 13 commits March 10, 2026 00:33
Use vi.stubEnv/vi.unstubAllEnvs instead of direct process.env assignment
which fails both TypeScript typecheck (TS2540) and Vitest runtime.

https://claude.ai/code/session_01AiPFHVzyo37rEunuv8Xyap
- Add compat-invite type to shareId encoding (name, birthDate, birthTime)
- Create InviteLanding component: partner only enters their info
- Add invite link button on compatibility form page
- Replace simple share with full ShareButtons on compat result page
- Enhanced OG image for compat: shows both names, elements, emojis, score
- Add tagline support to saju/palm/tarot OG cards
- Pass partner info in OG URLs for richer social previews
- Add inviteLanding translations for all 8 languages (ko/en/ja/zh/th/vi/id/hi)
- Add invite button/toast translations for all 8 compat.json files

https://claude.ai/code/session_01AiPFHVzyo37rEunuv8Xyap
- ShareLanding: entrance animations, social proof badge, CTA pulse, floating emoji
- InviteLanding: fix silent same-date validation (show error), loading spinner,
  avatar row with empty placeholder, entrance animation
- ShareButtons: add native Web Share API as first option on supported devices,
  toast success/error variants with checkmark, larger icon size (52px)
- CSS: safe-area toast positioning, spring animations, invite landing styles,
  compat invite button classes, button spinner
- share.ts: UTM tracking on share URLs, centered popup (620x520)
- compatibility/page.tsx: CSS classes for invite button (remove inline styles)
- OG route: fix partnerElement passthrough in Kakao share
- Share text: emoji-rich hooking text across all 8 languages (ko/en/ja/zh/th/vi/id/hi)

https://claude.ai/code/session_01AiPFHVzyo37rEunuv8Xyap
…tion

- Enhance share text across all 8 locales with social proof (120K+ users),
  specific CTA, and curiosity hooks for saju/palm/compat products
- Fix LINE share to use line.me/R/share (text+URL delivery) instead of
  social-plugins.line.me (URL only)
- Fix mobile share: use location.href for deep-link support instead of
  window.open popup (blocked on mobile)
- Clamp decoded share scores to 0-100 range to prevent tampered payloads
- Add tests for score clamping and updated LINE URL format

https://claude.ai/code/session_01AiPFHVzyo37rEunuv8Xyap
- Add business information (사업자정보) to footer across all 8 locales
  (상호, 대표자, 사업자등록번호, 주소, 전화번호, 이메일)
- Install @tosspayments/tosspayments-sdk for Korean payment widget
- Create Toss checkout page with payment widget (/checkout/toss)
- Create Toss success/fail redirect pages
- Create /api/checkout/toss/confirm endpoint for server-side payment verification
- Update usePaywall hook to route Korean users to Toss payment widget
- Update /api/checkout/create to return orderName and amount for Toss
- Update /api/checkout/confirm to handle Toss-verified orders in production
- Rename TOSS_CLIENT_KEY to NEXT_PUBLIC_TOSS_CLIENT_KEY for browser access

https://claude.ai/code/session_01AiPFHVzyo37rEunuv8Xyap
- Add /api/checkout/toss/webhook endpoint with HMAC-SHA-256 signature
  verification for production-grade async order confirmation
- Create sendReceiptEmail with full i18n (ko/en/ja/zh/th/vi/id/hi)
  including payment details table and branded HTML template
- Wire receipt email into Toss confirm, Toss webhook, and Paddle webhook
- Add TOSS_WEBHOOK_SECRET to .env.example

https://claude.ai/code/session_01AiPFHVzyo37rEunuv8Xyap
- Create sendComingSoonEmail with 8-locale i18n for subscription confirmation
  (launch notification, early-bird discount, feature update promises)
- Wire into /api/email/subscribe for coming_soon source with feature context
- Pass feature name from ComingSoon component to subscribe API
- Fix checkout test: Toss orders without paymentId return 409 (pending), not 403

https://claude.ai/code/session_01AiPFHVzyo37rEunuv8Xyap
- 폰트: Pretendard(본문) + Outfit(디스플레이)으로 통일, 불필요한 Sora/Manrope/Italiana 제거
- 폰트 사이즈: 전체 타이포그래피 스케일 정리 (h1~h3, body, button, input)
- 버튼: border-radius 14px로 통일, font-weight/letter-spacing 일관성 확보
- 카드: 글래스모피즘 효과 정리, border-radius/shadow 일관성
- 푸터: 사업자정보 영역 스타일 강화, 폰트 정리
- 이메일: 전체 i18n 파일 contact/help 이메일을 dbswn428@gmail.com으로 변경
- 네비게이션: 폰트/간격 통일

https://claude.ai/code/session_01AiPFHVzyo37rEunuv8Xyap
- When PADDLE_API_KEY is not set, paddle/create now falls back to
  creating a Toss checkout order instead of failing with 500 error
- Show detailed server error messages on frontend for debugging
- Root cause: English browsers get redirected to /en/ locale which
  routes to Paddle, but Paddle is not yet configured

https://claude.ai/code/session_01AiPFHVzyo37rEunuv8Xyap
Korean market must use Toss Payments, not Paddle. This was incorrectly
changed to "paddle" causing all Korean checkout attempts to fail.

https://claude.ai/code/session_01AiPFHVzyo37rEunuv8Xyap
The Toss SDK v2 requires ANONYMOUS constant for non-member payments,
not a custom string like guest_${orderId}.

https://claude.ai/code/session_01AiPFHVzyo37rEunuv8Xyap
@vercel
Copy link

vercel bot commented Mar 12, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
fortunelab Ready Ready Preview, Comment Mar 12, 2026 3:10pm

Request Review

@jee599 jee599 merged commit 41602f1 into main Mar 12, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants