fix(main): 팔로잉 커뮤니티 상세로 이동한다
This commit is contained in:
@@ -28,8 +28,8 @@
|
||||
## 구현 제약
|
||||
|
||||
- `FollowingCommunityPostNewsResponse`에는 `creatorId`가 없다.
|
||||
- 현재 기존 커뮤니티 게시글 직접 진입 구조는 `AppState.setPendingCommunityCommentDeepLink(creatorId:postId:)`와 `.creatorCommunityAll(creatorId:)` 조합이므로 `postId`만으로는 기존 화면에 정확히 진입할 수 없다.
|
||||
- `COMMUNITY_POST` tap 액션은 구현 전 서버가 `creatorId`를 추가하거나, `postId` 단독 상세 진입 route/API가 있는지 확인해야 한다. 이 확인 없이 임의로 수정 화면(`creatorCommunityModify`)이나 잘못된 creator 화면으로 이동하지 않는다.
|
||||
- 현재 코드에는 `AppStep.creatorChannelCommunityPostDetail(postId:onCommunityRefresh:)`와 `CreatorChannelCommunityPostDetailView(postId:onCommunityRefresh:)`가 있어 `postId` 단독 상세 진입이 가능하다.
|
||||
- `COMMUNITY_POST` tap 액션은 `communityPost.postId`를 이 route로 전달한다. 임의로 수정 화면(`creatorCommunityModify`)이나 잘못된 creator 화면으로 이동하지 않는다.
|
||||
|
||||
## 주요 대상 파일
|
||||
|
||||
@@ -346,18 +346,18 @@
|
||||
|
||||
- [x] **Task 9.2: 커뮤니티 게시글 tap 라우팅 제약 처리**
|
||||
- 대상 파일:
|
||||
- 확인: `SodaLive/Sources/App/AppState.swift`
|
||||
- 확인: `SodaLive/Sources/App/AppStep.swift`
|
||||
- 확인: `SodaLive/Sources/ContentView.swift`
|
||||
- 확인: `SodaLive/Sources/Explorer/Profile/CreatorCommunity/All/CreatorCommunityAllView.swift`
|
||||
- 확인: `SodaLive/Sources/V2/Main/MainView.swift`
|
||||
- 확인: `SodaLive/Sources/V2/CreatorChannel/Community/Detail/CreatorChannelCommunityPostDetailView.swift`
|
||||
- 작업 내용:
|
||||
- `postId` 단독으로 게시글 상세/댓글 화면에 진입 가능한 기존 route가 있는지 확인한다.
|
||||
- 현재 확인된 기존 route가 `creatorId`를 요구하는 경우, 잘못된 화면 이동을 구현하지 않는다.
|
||||
- 서버 응답에 `creatorId`가 추가되거나 `postId` 단독 route가 생기기 전까지 `COMMUNITY_POST` tap은 표시 카드 내부의 좋아요/댓글 표시만 제공하고 상세 진입은 연결하지 않는다.
|
||||
- 이 제약을 구현 결과 보고와 검증 기록에 남긴다.
|
||||
- `AppStep.creatorChannelCommunityPostDetail(postId:onCommunityRefresh:)`를 확인한다.
|
||||
- `COMMUNITY_POST` tap은 `postId` 기준 커뮤니티 게시글 상세 진입으로 연결한다.
|
||||
- 잘못된 creator 화면이나 수정 화면으로 이동하지 않는다.
|
||||
- 검증 기준:
|
||||
- 실행 명령: `rg "setPendingCommunityCommentDeepLink|consumePendingCommunityCommentPostId|creatorCommunityAll|case chatRoom|case creatorCommunity" SodaLive/Sources/App/AppState.swift SodaLive/Sources/App/AppStep.swift SodaLive/Sources/ContentView.swift SodaLive/Sources/Explorer/Profile/CreatorCommunity/All/CreatorCommunityAllView.swift`
|
||||
- 기대 결과: 기존 커뮤니티 직접 진입 경로가 `creatorId`를 요구하는지 확인된다.
|
||||
- 실행 명령: `rg "creatorChannelCommunityPostDetail|CreatorChannelCommunityPostDetailView|handleRecommendationCommunityPostTap" SodaLive/Sources/App/AppStep.swift SodaLive/Sources/ContentView.swift SodaLive/Sources/V2/Main/MainView.swift`
|
||||
- 기대 결과: `postId` 단독 커뮤니티 게시글 상세 route와 기존 홈 추천 탭 커뮤니티 게시글 handler가 확인된다.
|
||||
|
||||
### Phase 10: 최근 소식 오디오/화보 콘텐츠 카드
|
||||
|
||||
@@ -430,7 +430,7 @@
|
||||
- content는 기존 `handleRecommendationContentTap`을 재사용한다.
|
||||
- chat room은 `.chatRoom(id:)`로 이동한다.
|
||||
- following all은 `.followingList`로 이동한다.
|
||||
- community post는 Task 9.2 제약에 따라 postId 단독 route가 없으면 상세 진입을 연결하지 않는다.
|
||||
- community post는 Task 9.2 확인 결과에 따라 `postId` 단독 route인 `.creatorChannelCommunityPostDetail(postId:)`로 이동한다.
|
||||
- 검증 기준:
|
||||
- 실행 명령: `rg "onTapFollowingAll|onTapChatRoom|onTapFollowingSchedule|handleRecommendationLiveTap|handleRecommendationCreatorTap|handleRecommendationContentTap|followingList|chatRoom\\(id:" SodaLive/Sources/V2/Main/Home/MainHomeView.swift SodaLive/Sources/V2/Main/MainView.swift`
|
||||
- 기대 결과: 팔로잉 탭의 상세 진입 callback이 기존 MainView guard/route에 연결된다.
|
||||
@@ -486,6 +486,33 @@
|
||||
- 실행 명령: 수동 확인
|
||||
- 기대 결과: PRD 성공 기준과 Figma 섹션 순서가 충족된다.
|
||||
|
||||
### Phase 13: 최근 소식 커뮤니티 게시글 상세 진입 보강
|
||||
|
||||
- [x] **Task 13.1: COMMUNITY_POST 상세 진입 문서 갱신**
|
||||
- 대상 파일:
|
||||
- 수정: `docs/20260630_메인_홈_팔로잉_탭/prd.md`
|
||||
- 수정: `docs/20260630_메인_홈_팔로잉_탭/plan-task.md`
|
||||
- 작업 내용:
|
||||
- 현재 코드에 `postId` 단독 커뮤니티 게시글 상세 route가 있음을 기록한다.
|
||||
- 기존 `creatorId` 요구 제약 기록을 최신 route 기준으로 보정한다.
|
||||
- 검증 기준:
|
||||
- 실행 명령: `rg "creatorChannelCommunityPostDetail|COMMUNITY_POST|postId 단독" docs/20260630_메인_홈_팔로잉_탭/prd.md docs/20260630_메인_홈_팔로잉_탭/plan-task.md`
|
||||
- 기대 결과: 문서가 `COMMUNITY_POST` 상세 진입 범위와 route를 명시한다.
|
||||
|
||||
- [x] **Task 13.2: COMMUNITY_POST tap callback 연결**
|
||||
- 대상 파일:
|
||||
- 수정: `SodaLive/Sources/V2/Main/Home/Following/Components/MainHomeFollowingNewsSection.swift`
|
||||
- 수정: `SodaLive/Sources/V2/Main/Home/Following/MainHomeFollowingView.swift`
|
||||
- 수정: `SodaLive/Sources/V2/Main/Home/MainHomeView.swift`
|
||||
- 확인: `SodaLive/Sources/V2/Main/MainView.swift`
|
||||
- 작업 내용:
|
||||
- `MainHomeFollowingNewsSection`에 `onTapCommunityPost` callback을 추가한다.
|
||||
- `CommunityPostCard`의 post/comment tap에서 `communityPost.postId`를 callback으로 전달한다.
|
||||
- `MainHomeFollowingView`와 `MainHomeView`를 통해 기존 `MainView.handleRecommendationCommunityPostTap(postId:)`로 연결한다.
|
||||
- 검증 기준:
|
||||
- 실행 명령: `rg "onTapCommunityPost|handleRecommendationCommunityPostTap|creatorChannelCommunityPostDetail|CommunityPostCard" SodaLive/Sources/V2/Main/Home/Following SodaLive/Sources/V2/Main/Home/MainHomeView.swift SodaLive/Sources/V2/Main/MainView.swift`
|
||||
- 기대 결과: 최근 소식 `COMMUNITY_POST` card tap이 기존 커뮤니티 게시글 상세 route로 연결된다.
|
||||
|
||||
## 검증 기록
|
||||
|
||||
- 2026-06-30: `docs/agent-guides/documentation-policy.md`, `build-test-verification.md`, `code-style.md`를 확인해 계획 문서 경로, Phase/checklist 형식, 검증 명령 기준을 반영했다.
|
||||
@@ -575,3 +602,9 @@
|
||||
- 2026-07-01: `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" -configuration Debug -derivedDataPath "/var/folders/yh/8xsbvpsj5wg2qnxzxdp11_gm0000gn/T/opencode/SodaLiveDerivedDataPhase12" build`를 실행해 Phase 12 빌드 성공을 확인했다. 기존 duplicate build file/run script/AppIntents/dependency scan warning은 남아 있으나 컴파일 오류는 없었다.
|
||||
- 2026-07-01: Phase 12.4 수동 UI 검증 항목 중 실제 비로그인/로그인 탭 이동, `/api/v2/home/following` 실응답 섹션 표시, 타입별 UI 표시 확인은 실행 가능한 시뮬레이터 세션과 로그인 계정/API 데이터가 필요해 이번 정적/빌드 검증 범위에서는 완료하지 않았다. 대신 코드 흐름상 비로그인 guard, API endpoint, 섹션 조립, `전체` 버튼 `Color.soda400`, 타입별 recent news 분기, root/section 고정 width/height 미사용 원칙을 정적 검색과 빌드로 확인했다.
|
||||
- 2026-07-01: 독립 explore 점검에서도 `project.pbxproj` 등록, placeholder 제거, Figma localhost asset 미사용, 팔로잉 API/I18n/라우팅 반영을 확인했다. 잔여 리스크로 `MainHomeTab.title`의 기존 탭 타이틀 하드코딩과 계획된 제약사항인 `COMMUNITY_POST` 상세/댓글 진입 미연결을 기록했다.
|
||||
- 2026-07-12: `AppStep.creatorChannelCommunityPostDetail(postId:onCommunityRefresh:)`, `ContentView`의 `CreatorChannelCommunityPostDetailView(postId:onCommunityRefresh:)`, `MainView.handleRecommendationCommunityPostTap(postId:)`를 확인해 `postId` 단독 커뮤니티 게시글 상세 진입 route가 있음을 확인했다.
|
||||
- 2026-07-12: Phase 13을 추가해 `MainHomeFollowingNewsSection -> MainHomeFollowingView -> MainHomeView -> MainView.handleRecommendationCommunityPostTap(postId:)` 경로로 최근 소식 `COMMUNITY_POST` card/comment tap을 `.creatorChannelCommunityPostDetail(postId:)` 라우팅에 연결했다.
|
||||
- 2026-07-12: `rg "onTapCommunityPost|handleRecommendationCommunityPostTap|creatorChannelCommunityPostDetail|onTapPost:|onTapComment:" SodaLive/Sources/V2/Main/Home/Following SodaLive/Sources/V2/Main/Home/MainHomeView.swift SodaLive/Sources/V2/Main/MainView.swift`로 팔로잉 최근 소식 `COMMUNITY_POST` tap callback과 기존 상세 route 연결을 확인했다.
|
||||
- 2026-07-12: `git diff --check -- SodaLive/Sources/V2/Main/Home/Following/Components/MainHomeFollowingNewsSection.swift SodaLive/Sources/V2/Main/Home/Following/MainHomeFollowingView.swift SodaLive/Sources/V2/Main/Home/MainHomeView.swift docs/20260630_메인_홈_팔로잉_탭/prd.md docs/20260630_메인_홈_팔로잉_탭/plan-task.md` 실행 결과 출력 없이 종료되어 변경 파일 공백 오류가 없음을 확인했다.
|
||||
- 2026-07-12: `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" -configuration Debug -derivedDataPath "/var/folders/yh/8xsbvpsj5wg2qnxzxdp11_gm0000gn/T/opencode/SodaLiveDerivedDataFollowingCommunityPost" build`는 로컬에 team `3A8QGPMRXM`용 iOS Development signing certificate이 없어 코드 서명 단계에서 실패했다.
|
||||
- 2026-07-12: `xcodebuild -workspace "SodaLive.xcworkspace" -scheme "SodaLive" -configuration Debug -destination "generic/platform=iOS Simulator" -derivedDataPath "/var/folders/yh/8xsbvpsj5wg2qnxzxdp11_gm0000gn/T/opencode/SodaLiveDerivedDataFollowingCommunityPostSimulator" CODE_SIGNING_ALLOWED=NO build`는 의존성 컴파일 중 600초 제한으로 `BUILD INTERRUPTED`되어 완료 여부를 확인하지 못했다.
|
||||
|
||||
Reference in New Issue
Block a user