fix(creator): 팬Talk 액션 팝업을 정리한다

This commit is contained in:
Yu Sung
2026-07-07 15:44:45 +09:00
parent 75aa99768e
commit f2d589eca2
8 changed files with 170 additions and 78 deletions

View File

@@ -362,6 +362,59 @@
- 기대 결과: `BUILD SUCCEEDED`.
- workspace 인식 실패 등 환경 문제가 있으면 `xcodebuild -project "SodaLive.xcodeproj" -scheme "SodaLive-dev" -configuration Debug build`를 대체 검증으로 실행하고 실패 원인을 검증 기록에 남긴다.
### Phase 10: 팬Talk 팝업 위치와 문구 통일
- [x] **Task 10.1: 삭제 확인 모달 표시 위치 상위 이동**
- 대상 파일:
- 수정: `SodaLive/Sources/V2/CreatorChannel/CreatorChannelView.swift`
- 수정: `SodaLive/Sources/V2/CreatorChannel/FanTalk/CreatorChannelFanTalkTabView.swift`
- 작업 내용:
- 팬Talk row 더보기의 `삭제` 선택 시 기존 선택 상태와 삭제 API 흐름은 유지한다.
- 삭제 확인 모달 렌더링은 팬Talk 탭 내부 overlay에서 제거하고 `CreatorChannelView`의 상위 `ZStack`에서 표시한다.
- 삭제 확인 모달은 기존 `SodaDialog` 대신 `SodaV2ActionModal`을 사용한다.
- 신고 사유 선택 UI인 `CheersReportDialogView`는 기존 신고 플로우 재사용 범위로 유지하고 이번 확인형 V2 popup dialog 전환 대상에서 제외한다.
- 검증 기준:
- 실행 명령: `rg "fanTalkDeleteDialog|SodaV2ActionModal|isShowDeleteDialog|deleteSelectedFanTalk|overlay\(deleteDialog\)|private var deleteDialog" SodaLive/Sources/V2/CreatorChannel/CreatorChannelView.swift SodaLive/Sources/V2/CreatorChannel/FanTalk/CreatorChannelFanTalkTabView.swift`
- 기대 결과: `CreatorChannelView``fanTalkDeleteDialog``SodaV2ActionModal`이 있고, `CreatorChannelFanTalkTabView`에는 삭제 dialog overlay가 남지 않는다.
- [x] **Task 10.2: 팬Talk 리스트/상세 anchored context popup 공용화**
- 대상 파일:
- 수정: `SodaLive/Sources/V2/CreatorChannel/FanTalk/Components/CreatorChannelFanTalkActionPopup.swift`
- 수정: `SodaLive/Sources/V2/CreatorChannel/ReplyDetail/Components/CreatorChannelReplyDetailActionPopup.swift`
- 확인: `SodaLive/Sources/V2/CreatorChannel/FanTalk/CreatorChannelFanTalkTabView.swift`
- 확인: `SodaLive/Sources/V2/CreatorChannel/ReplyDetail/Components/CreatorChannelReplyDetailFeedView.swift`
- 작업 내용:
- 공용 `CreatorChannelActionPopup`을 사용해 리스트와 상세의 anchored context popup UI와 문구를 통일한다.
- 팬Talk 목록 row의 사용자 노출 문구는 `I18n.Explorer.editAction`, `I18n.Explorer.deleteAction`을 사용해 `수정하기`, `삭제하기`로 표시한다.
- 검증 기준:
- 실행 명령: `rg "CreatorChannelActionPopup|I18n\.Explorer\.editAction|I18n\.Explorer\.deleteAction|수정하기|삭제하기" SodaLive/Sources/V2/CreatorChannel/FanTalk/Components/CreatorChannelFanTalkActionPopup.swift SodaLive/Sources/V2/CreatorChannel/FanTalk/CreatorChannelFanTalkTabView.swift SodaLive/Sources/I18n/I18n.swift`
- 기대 결과: 팬Talk 목록 row가 공용 popup에 action 문구를 주입하고, `수정하기`/`삭제하기` 문구는 I18n 키에서 확인된다.
- [x] **Task 10.3: 팬Talk 상세 삭제 dialog V2 모달 적용**
- 대상 파일:
- 수정: `SodaLive/Sources/V2/CreatorChannel/ReplyDetail/CreatorChannelReplyDetailView.swift`
- 작업 내용:
- 팬Talk 상세/답글 화면의 삭제 확인 dialog도 `SodaV2ActionModal`로 교체한다.
- 확인, 취소, dimmed tap에서 기존 삭제/닫기 상태 흐름을 유지한다.
- 검증 기준:
- 실행 명령: `rg "SodaV2ActionModal|dismissDeleteDialog|confirmDelete|SodaDialog" SodaLive/Sources/V2/CreatorChannel/ReplyDetail/CreatorChannelReplyDetailView.swift`
- 기대 결과: 상세 삭제 확인 dialog가 `SodaV2ActionModal`을 사용하고 `SodaDialog`는 남지 않는다.
- [x] **Task 10.4: 정적/빌드 검증**
- 대상 파일:
- 확인: `docs/20260704_크리에이터_채널_팬Talk_탭/prd.md`
- 확인: `docs/20260704_크리에이터_채널_팬Talk_탭/plan-task.md`
- 확인: `SodaLive/Sources/V2/CreatorChannel/CreatorChannelView.swift`
- 확인: `SodaLive/Sources/V2/CreatorChannel/FanTalk/CreatorChannelFanTalkTabView.swift`
- 확인: `SodaLive/Sources/V2/CreatorChannel/FanTalk/Components/CreatorChannelFanTalkActionPopup.swift`
- 확인: `SodaLive/Sources/V2/CreatorChannel/ReplyDetail/CreatorChannelReplyDetailView.swift`
- 확인: `SodaLive/Sources/V2/CreatorChannel/ReplyDetail/Components/CreatorChannelReplyDetailActionPopup.swift`
- 검증 기준:
- 실행 명령: `git diff --check -- docs/20260704_크리에이터_채널_팬Talk_탭 SodaLive/Sources/V2/CreatorChannel/CreatorChannelView.swift SodaLive/Sources/V2/CreatorChannel/FanTalk/CreatorChannelFanTalkTabView.swift SodaLive/Sources/V2/CreatorChannel/FanTalk/Components/CreatorChannelFanTalkActionPopup.swift SodaLive/Sources/V2/CreatorChannel/ReplyDetail/CreatorChannelReplyDetailView.swift SodaLive/Sources/V2/CreatorChannel/ReplyDetail/Components/CreatorChannelReplyDetailActionPopup.swift`
- 기대 결과: 공백 오류 없이 성공한다.
- 실행 명령: `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build`
- 기대 결과: `BUILD SUCCEEDED`.
## 검증 기록
- 2026-07-04: Figma `get_design_context``get_screenshot`으로 `290:9139`, `290:9145`, `290:9147`, `666:36114`, `290:9001`을 확인했다.
@@ -389,3 +442,10 @@
- 2026-07-06: `plutil -lint SodaLive.xcodeproj/project.pbxproj` 결과 `OK`를 확인했다.
- 2026-07-06: `git diff --check -- docs/20260704_크리에이터_채널_팬Talk_탭 SodaLive/Sources/V2/Component/Modal SodaLive/Sources/V2/CreatorChannel/FanTalk/Write SodaLive/Sources/App/AppStep.swift SodaLive/Sources/ContentView.swift SodaLive/Sources/V2/CreatorChannel/CreatorChannelView.swift SodaLive/Sources/V2/CreatorChannel/FanTalk/CreatorChannelFanTalkTabView.swift SodaLive/Sources/I18n/I18n.swift SodaLive.xcodeproj/project.pbxproj` 실행 결과 출력 없이 종료되어 공백 오류가 없음을 확인했다.
- 2026-07-06: `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive-dev" -configuration Debug build` 결과 `BUILD SUCCEEDED`를 확인했다. 빌드 중 `Alamofire` dependency scan warning이 출력되었으나 빌드는 성공했다.
- 2026-07-07: `rg "fanTalkDeleteDialog|SodaV2ActionModal|isShowDeleteDialog|deleteSelectedFanTalk|overlay\(deleteDialog\)|private var deleteDialog" SodaLive/Sources/V2/CreatorChannel/CreatorChannelView.swift SodaLive/Sources/V2/CreatorChannel/FanTalk/CreatorChannelFanTalkTabView.swift`로 팬Talk 삭제 모달이 상위 `CreatorChannelView`에서 `SodaV2ActionModal`로 표시되고, 팬Talk 탭 내부 삭제 dialog overlay가 제거된 것을 확인했다.
- 2026-07-07: `rg "CreatorChannelActionPopup|I18n\.Explorer\.edit|I18n\.Common\.delete|수정하기|삭제하기" SodaLive/Sources/V2/CreatorChannel/FanTalk/Components/CreatorChannelFanTalkActionPopup.swift SodaLive/Sources/V2/CreatorChannel/ReplyDetail/Components/CreatorChannelReplyDetailActionPopup.swift SodaLive/Sources/V2/CreatorChannel/FanTalk/CreatorChannelFanTalkTabView.swift SodaLive/Sources/V2/CreatorChannel/ReplyDetail/Components/CreatorChannelReplyDetailFeedView.swift`로 리스트와 상세 anchored context popup이 공용 컴포넌트와 동일 `I18n` 문구를 사용하는 것을 확인했다.
- 2026-07-07: `rg "SodaV2ActionModal|dismissDeleteDialog|confirmDelete|SodaDialog" SodaLive/Sources/V2/CreatorChannel/ReplyDetail/CreatorChannelReplyDetailView.swift`로 상세 삭제 확인 dialog가 `SodaV2ActionModal`을 사용하는 것을 확인했다.
- 2026-07-07: Reviewer gate 지적에 따라 PRD 본문 요구사항/성공 기준/제약 조건에 삭제 확인 모달의 상위 `CreatorChannelView` 표시, `SodaV2ActionModal` 사용, list/detail anchored context popup 공용화, `CheersReportDialogView` 제외 범위를 명시했다.
- 2026-07-07: 사용자 후속 요청에 따라 팬Talk 목록 row anchored context popup 문구를 `수정`/`삭제`에서 `수정하기`/`삭제하기`로 변경했다. 상세 popup 기본 문구는 기존 공용 기본값을 유지하고, 팬Talk row 호출부에서 `I18n.Explorer.editAction`, `I18n.Explorer.deleteAction`을 주입한다.