Repository navigation
feat: 랜딩 요금제 섹션과 약관·개인정보처리방침·환불 정책 페이지 - #143
Merged
Merged
Conversation
Paddle 도메인 심사 통과에 필요한 최소 범위(비로그인 가격 노출, 약관·개인정보·환불 페이지)를 정리한다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
모바일 드로어 링크를 스펙에 반영(로그인 모바일은 푸터가 없음). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
LEGAL_LINKS가 문서 본문에서 제목을 가져오느라 푸터를 쓰는 모든 화면(앱 셸·랜딩·게스트)의 공유 청크에 약관 전문(gzip 약 4KB)이 실렸다. 링크를 별도 모듈로 옮겨 본문은 legalPage 청크에만 남긴다. 라벨과 제목의 일치는 content 테스트가 계속 지킨다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
기기 토큰·알림 일정의 보유 기간이 빠져 있었고, 발송 기록은 7일 후 바로 삭제되는 게 아니라 다음 알림 처리 때 정리되므로(reminder-proxy alarmRunner) 문구를 실제 동작대로 고친다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- 약관 7조에서 환불 정책으로 실제 링크를 건다(섹션 links 필드 추가) - 뒤로가기·앞으로가기(POP)는 브라우저 스크롤 복원에 맡기고, 링크 이동일 때만 맨 위로 올린다 - 문서 제목·표 머리글·표 영역 이름도 판매자 표기 토큰을 치환한다 - 개인정보처리방침 의견 항목에 실제 저장하는 회원 식별자·작성 시각을 적는다 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
/terms 등 법적 페이지가 앱 셸(App) 밖 라우트라서 다녀오면 App이 재마운트되고, useRef 가드가 초기화돼 유지보수 스윕이 다시 실행됐다. 사용자별 모듈 수준 가드로 바꿔 페이지 수명 동안 1회만 실행한다. 같은 탭에서 같은 계정으로 재로그인하면 새로고침 전까지는 다시 돌지 않는다. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
푸터 폭 270~490px에서 "|"가 윗줄 끝에 남던 것을 실측으로 확인했다. 화면 폭(480px 기준)으로는 481~490px이 남으므로, 푸터 폭 기준 컨테이너 쿼리로 500px 이하에서 구분자를 숨기고 법적 링크를 다음 줄 가운데로 내린다. 수정 후 260~800px 전 구간에서 홀로 남는 구분자 0건. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Paddle 운영 계정 도메인 심사(실결제 전환의 선행조건) 요건을 채운다 — 로그인 없이 가격·기능을 보고, 약관·개인정보처리방침·환불 정책을 사이트 내비게이션에서 열 수 있게 한다. 스펙
docs/superpowers/specs/2026-10-08-landing-legal-pages-design.md, 계획docs/superpowers/plans/2026-10-08-landing-legal-pages.md.#pricing): 무료(0원) / 프리미엄(월 4,900원, 부가세 포함, 카드 없는 7일 체험) 카드, 14일 환불·Paddle 결제 안내.BILLING_ENABLED와 무관하게 항상 노출하고 버튼은/login으로만 보낸다(결제 진입점은 그대로 숨김). 헤더 "요금제" 앵커, 마감 알림 기능 카드, 부제 최신화/terms·/privacy·/refund:RootGate·ProtectedRoute밖 최상위 lazy 라우트(로그인 여부 무관). 본문은 데이터(features/legal/content), 페이지는LegalPage하나features/legal/config.ts의LEGAL_CONFIG토큰으로만 참조 — 지금은 빈 값이라 화면에[판매자명 미정]등이 보인다(심사 전 채움)legalPage청크에만 실린다(푸터 링크가 본문을 끌어와 공유 청크가 5.0KB→1.0KB gz로 줄도록 분리, 테스트로 고정). 랜딩·법적 청크에 Firestore·Paddle 없음/terms)에 다녀오면 App이 재마운트돼 스윕이 다시 돌던 것을 uid별 모듈 가드로 교체(같은 탭 같은 계정 재로그인 시엔 새로고침 전까지 재실행 안 함)PREMIUM_BENEFITS를billing/config.ts공유 상수로 옮겨 랜딩·/premium이 같은 목록 사용Test plan
VITE_FIREBASE_API_KEY= npx vitest run945개 통과,tsc -b·lint(기존 경고 1건 외) 통과/terms직접 진입, 문서 맨 아래 → 다른 문서 링크 시 맨 위, 뒤로가기 시 원래 위치(1500px) 복원LEGAL_CONFIG채우기, 개인정보 처리방침 작성지침 대조, Sentry "Prevent Storing of IP Addresses" 확인, 본문 초안 검토🤖 Generated with Claude Code