fix(fantalk): 신고 문구와 빈 상태 표시를 수정한다
This commit is contained in:
@@ -25,8 +25,9 @@
|
||||
- 기존 `CreatorChannelView`의 공통 shell, header, sticky tab-bar, title bar 동작은 유지한다.
|
||||
- `CreatorChannelTab.fanTalk` 콘텐츠만 신규 `CreatorChannelFanTalkTabView`로 교체한다.
|
||||
- 팬Talk API 모델은 홈 탭 모델과 타입명 충돌이 나지 않도록 분리한다.
|
||||
- sort-bar는 정렬 없이 `전체 {fanTalkCount}`만 표시한다.
|
||||
- `fanTalkCount > 0`일 때만 sort-bar에 정렬 없이 `전체 {fanTalkCount}`를 표시하고 empty 상태에서는 count bar를 숨긴다.
|
||||
- 신고는 기존 `CheersReportDialogView`와 `ReportRepository.report`의 `ReportType.CHEERS` 흐름을 재사용한다.
|
||||
- item의 `신고` 문구는 신규 I18n을 만들지 않고 기존 `I18n.Explorer.report`를 재사용한다.
|
||||
- 삭제는 기존 `ExplorerRepository.modifyCheers(cheersId:content:isActive:)`에 `isActive=false`를 전달하는 흐름을 재사용한다.
|
||||
- 더보기 버튼은 `ic_new_more`를 사용한다.
|
||||
- 내가 쓴 글이면 `수정하기`, `삭제하기`를 표시하고, 내가 쓴 글이 아니지만 내 채널이면 `삭제하기`만 표시한다.
|
||||
@@ -585,3 +586,55 @@ xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configurati
|
||||
- 2026-08-25: Phase 12 구현을 완료했다. `writePlaceholder`, 500자 제한 binding, 500자 초과 상태와 전송 비활성화, 취소 문구의 고정 frame 제거를 적용했으며 기존 내비게이션·보내기 높이와 작성·수정 흐름은 유지했다.
|
||||
- 2026-08-25: Phase 12의 두 `rg` 정적 계약 검사, Swift `String.count`/`prefix(_:)` 499·500·501자 경계 검사, `git diff --check`, `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build`를 실행했고 `** BUILD SUCCEEDED **`를 확인했다.
|
||||
- 2026-08-25: 사용자 요청에 따라 visual QA와 시뮬레이터 수동 검증은 수행하지 않았다. ko/en/ja 표시와 실제 입력 동작에 관한 수동 검증 체크박스 5개는 사용자 확인 전까지 미완료로 유지한다.
|
||||
|
||||
### Phase 13: 팬레터 item·empty 표시 회귀 수정
|
||||
|
||||
**Phase 결과:** 팬레터 item의 신고 문구가 앱 언어를 따르고, empty 상태에서는 `전체 0` count bar가 표시되지 않는다.
|
||||
|
||||
**선행조건:** PRD `DEC-FANTALK-BUG-001`, `DEC-FANTALK-BUG-002` 확정.
|
||||
|
||||
**Phase 완료 조건:** `P13-T1`, `P13-GATE` 완료와 검증 기록 누적.
|
||||
|
||||
#### Task 13.1 신고 다국어와 empty count bar 수정
|
||||
|
||||
**Goal 실행 `P13-T1`:** 기존 View 두 곳에서 신고 문구와 count bar 표시 조건만 최소 수정한다.
|
||||
|
||||
- **시작 조건:** Phase 13 선행조건 충족.
|
||||
- **완료 증거:** 정적 계약 검사, ko/en/ja 및 empty/non-empty 수동 확인, Debug 빌드 결과가 기록된다.
|
||||
- **범위 밖:** 신규 I18n 키, 신고 API·dialog 변경, count bar 디자인 변경, 관련 없는 리팩터링.
|
||||
- **TDD 예외 사유:** 현재 프로젝트에 test bundle target이 없고 변경 대상은 기존 I18n 참조와 단순 표시 조건이다.
|
||||
- **대체 검증 방법:** `rg` 정적 계약 검사, Debug 빌드와 Simulator 수동 확인을 사용한다.
|
||||
|
||||
**Files:**
|
||||
|
||||
- Modify: `SodaLive/Sources/V2/CreatorChannel/FanTalk/Components/CreatorChannelFanTalkListItem.swift`
|
||||
- Modify: `SodaLive/Sources/V2/CreatorChannel/FanTalk/CreatorChannelFanTalkTabView.swift`
|
||||
- Verify: `SodaLive/Sources/I18n/I18n.swift`
|
||||
|
||||
- [x] 타인 item의 하드코딩 `Text("신고")`를 `Text(I18n.Explorer.report)`로 교체한다.
|
||||
- [x] `fanTalkCount > 0`일 때만 `CreatorChannelFanTalkCountBar`를 표시한다.
|
||||
- [x] `fanTalkCount == 0`인 기존 empty view와 작성 버튼 표시 규칙은 유지한다.
|
||||
- [x] 신고 API·dialog와 item action 조건은 변경하지 않는다.
|
||||
- [x] 아래 Gate 결과를 검증 기록에 누적한다.
|
||||
|
||||
#### Phase 13 Gate
|
||||
|
||||
```bash
|
||||
rg -n 'I18n\.Explorer\.report|Text\("신고"\)' SodaLive/Sources/V2/CreatorChannel/FanTalk/Components/CreatorChannelFanTalkListItem.swift
|
||||
rg -n 'fanTalkCount > 0|CreatorChannelFanTalkCountBar|isEmptyState' SodaLive/Sources/V2/CreatorChannel/FanTalk/CreatorChannelFanTalkTabView.swift
|
||||
git diff --check -- SodaLive/Sources/V2/CreatorChannel/FanTalk/Components/CreatorChannelFanTalkListItem.swift SodaLive/Sources/V2/CreatorChannel/FanTalk/CreatorChannelFanTalkTabView.swift docs/20260704_크리에이터_채널_팬Talk_탭/prd.md docs/20260704_크리에이터_채널_팬Talk_탭/plan-task.md
|
||||
xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build
|
||||
```
|
||||
|
||||
**Expected:** item은 기존 `I18n.Explorer.report`를 사용하고 한국어 literal이 없으며, count bar는 양수 count에서만 표시되고 Debug 빌드가 성공한다.
|
||||
|
||||
수동 검증:
|
||||
|
||||
- [ ] ko/en/ja에서 타인 item의 신고 문구가 각각 `신고`, `Report`, `通報`로 표시된다.
|
||||
- [ ] empty 상태에서 팬레터 empty view만 표시되고 `전체 0`은 표시되지 않는다.
|
||||
- [ ] non-empty 상태에서 `전체 {fanTalkCount}`와 기존 item action이 표시된다.
|
||||
|
||||
- 2026-08-26: 사용자 요청과 PRD `DEC-FANTALK-BUG-001~002`를 기준으로 Phase 13을 추가했다. 이번 작업은 문서만 작성했으며 Swift 구현과 Gate 실행은 수행하지 않았다.
|
||||
- 2026-08-26: Phase 13을 구현해 타인 item의 신고 문구를 기존 `I18n.Explorer.report`로 교체하고 `fanTalkCount > 0`일 때만 count bar를 표시하도록 수정했다. 기존 empty view·작성 버튼·신고 action/dialog/API 조건은 유지했다.
|
||||
- 2026-08-26: Phase 13의 `rg` 정적 계약, `git diff --check`, `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build`를 실행했고 `** BUILD SUCCEEDED **`를 확인했다. 사양·코드 품질 리뷰는 모두 승인됐으며 `reviews/phase13-fan-talk-item-empty-regression.md`에 기록했다.
|
||||
- 2026-08-26: 사용자 요청에 따라 visual QA와 Simulator 수동 검증은 수행하지 않았다. ko/en/ja 신고 문구와 empty/non-empty 실제 화면 체크박스 3개는 사용자 확인 전까지 미완료로 유지한다.
|
||||
|
||||
Reference in New Issue
Block a user