fix(creator): 구매완료 배지를 제거한다

This commit is contained in:
Yu Sung
2026-08-10 16:39:23 +09:00
parent 00c40161c9
commit a845b54f0f
4 changed files with 184 additions and 16 deletions

View File

@@ -149,7 +149,8 @@ data class CreatorChannelCommunityRepliesResponse(
- `createdAtUtc`는 기존 `DateParser.relativeTimeText(fromUTC:fallback:now:)` 계열 helper로 상대 시간으로 표시한다.
- `price > 0 && existOrdered == false && isOwnPost == false`이면 유료 미구매 잠금 상태로 표시한다.
- 유료 미구매 잠금 상태는 Figma처럼 `gray800` 계열 이미지 영역, 잠금 아이콘, 캐시 가격 capsule을 표시한다.
- 구매 완료 상태는 Figma `290:9266`처럼 `구매완료` capsule tag를 표시한다.
- ~~구매 완료 상태는 Figma `290:9266`처럼 `구매완료` capsule tag를 표시한다.~~ 2026-08-10 요구사항 변경으로 폐기한다.
- 구매한 유료 게시글은 콘텐츠 접근 상태만 유지하고 `구매완료` 배지를 표시하지 않는다.
- 이미지가 있고 접근 가능한 게시글이면 이미지 또는 GIF를 표시한다.
- `audioUrl`이 있으면 기존 커뮤니티 오디오 재생 흐름을 재사용해 이미지 중앙에 재생 버튼을 표시한다.
- `isPinned == true`이면 기존 커뮤니티 탭의 pinned 표시 규칙을 따른다.
@@ -248,6 +249,7 @@ data class CreatorChannelCommunityRepliesResponse(
- 커뮤니티 게시글 item tap 시 상세 화면으로 진입한다.
- 상세 진입 시 `GET /api/v2/creator-channels/community-posts/{postId}`가 호출된다.
- 상세 API 응답으로 게시글 본문, 이미지/오디오/잠금 상태, 좋아요 수, 댓글 수, 초기 댓글 목록이 표시된다.
- 구매한 유료 게시글 상세의 우측 상단에 `구매완료` 배지가 표시되지 않는다.
- 댓글 추가 로딩 시 `GET /api/v2/creator-channels/community-posts/{postId}/comments?page={page}&size=20`가 호출된다.
- 댓글의 답글 상세 추가 로딩 시 `GET /api/v2/creator-channels/community-comments/{commentId}/replies?page={page}&size=20`가 호출된다.
- `isCommentAvailable == false`이면 reaction bar의 댓글 icon/count, 댓글 section, 하단 댓글 입력 바가 표시되지 않는다.
@@ -282,7 +284,13 @@ data class CreatorChannelCommunityRepliesResponse(
## 12. Open Questions
- 해당 없음
## 13. Verification Notes
## 13. Decision Log
| 날짜 | ID | 상태 | 결정 | 근거 | 영향 요구사항·Goal |
|---|---|---|---|---|---|
| 2026-08-10 | `DEC-001` | 확정 | 구매한 유료 커뮤니티 게시글 상세에서 `구매완료` 배지를 제거한다. 잠금·구매·구매 후 상세 재조회 흐름은 유지한다. | 사용자 변경 요청과 배지의 단일 렌더링 위치 확인 | Screen layout, Success Criteria, `P8-T1` |
## 14. Verification Notes
- 2026-07-07: Figma `get_design_context``get_screenshot`으로 `290:9243`, `290:9266`을 확인했다.
- 2026-07-07: `docs/agent-guides/documentation-policy.md``docs/prd/sample-prd.md`를 확인해 신규 PRD 경로와 필수 섹션을 맞췄다.
- 2026-07-07: 기존 문서 `docs/20260705_크리에이터_채널_커뮤니티_탭/prd.md`, `docs/20260704_크리에이터_채널_팬Talk_탭/prd.md`, `docs/20260707_글_상세_답글_쓰기/prd.md`를 확인했다.
@@ -290,3 +298,5 @@ data class CreatorChannelCommunityRepliesResponse(
- 2026-07-07: 기존 mutation 재사용 후보로 `CreatorCommunityRepository.communityPostLike`, `createCommunityPostComment`, `modifyComment`, `getCommunityPostDetail`, `getCommunityPostCommentList`, `getCommentReplyList`를 확인했다. 신규 V2 조회 API는 path/page 기준이 달라 V2 API에 별도 추가가 필요하다.
- 2026-07-07: 사용자 확인 사항을 반영해 댓글/답글 응답에 `writerId`를 추가하고, 댓글 쓰기 UI의 기존 비밀댓글 toggle 유지, 전송 버튼 icon의 `ic_arrow_up_gray`/`ic_arrow_up_white` 매핑, 댓글 불가능 게시글의 댓글 icon/count 숨김 정책을 확정했다.
- 2026-07-07: 기존 커뮤니티 댓글과 동일하게 수정은 작성자에게만, 삭제는 작성자 또는 게시글 크리에이터에게 제공하는 권한 규칙을 반영했다. 커뮤니티 댓글 신고는 기존 `ReportRequest`/`ReportType`에 커뮤니티 댓글 신고 식별자가 없고 기존 `CreatorCommunityCommentItemView`도 신고를 노출하지 않아 [blocked]로 정정했다.
- 2026-08-10: `CreatorChannelCommunityPostDetailContentView.swift`에서 `purchaseCompleteTag`가 구매완료 배지의 유일한 렌더링 위치임을 확인했다. `isPaidLocked`, `paidLockedOverlay`, 구매 다이얼로그와 구매 API 흐름은 별도이므로 변경 범위에서 제외했다.
- 2026-08-10: `purchase_badge_absent` contract check를 구현 전에 실행했고 `purchaseCompleteTag``Text("구매완료")` 3개 매치로 의도한 RED 실패를 확인했다.