docs(creator): 채널 홈 후속 요구사항을 정리한다
This commit is contained in:
@@ -54,6 +54,15 @@
|
||||
- 팔로우/알림 API 연결은 Figma가 필요 없지만, tab-bar 7개 항목의 시각 표시와 title-bar 아이콘 click target 배치는 Figma 기준을 확인한다.
|
||||
- Phase 8: 필수 참조
|
||||
- 수동 화면 검증은 Figma와 실제 구현 화면을 비교해 PRD Metrics를 확인한다.
|
||||
- Phase 10: 부분 참조
|
||||
- title-bar 닉네임, tab-bar typography, 더보기 BottomSheet, 팔로우/알림 직접 액션은 PRD와 기존 구현 패턴을 기준으로 한다.
|
||||
- tab-bar item font/size는 Figma `296:14894`를 확인한다.
|
||||
- Phase 11: 필수 참조
|
||||
- 후원 empty UI는 Figma `290:8820`, 활동 영역은 Figma `296:15001`, 홈 컨텐츠 보정은 Figma `296:14895`를 기준으로 한다.
|
||||
- Phase 12: 필수 참조
|
||||
- 크리에이터 본인 페이지 Floating Button 기본 상태는 Figma `665:19092`, 확장/dim 상태는 Figma `665:19223`을 기준으로 한다.
|
||||
- Phase 13: 필수 참조
|
||||
- 최종 수동 검증은 Figma `296:14890`, `296:14894`, `296:14895`, `290:8820`, `296:15001`, `665:19092`, `665:19223`을 함께 대조한다.
|
||||
|
||||
---
|
||||
|
||||
@@ -986,6 +995,284 @@
|
||||
|
||||
---
|
||||
|
||||
### Phase 10: 상단 상태/탭/액션 후속 보강
|
||||
|
||||
> 2026-06-16 PRD 보강분을 반영하는 Phase다. title-bar sticky 닉네임, tab-bar typography, 더보기 BottomSheet, 팔로우/알림 직접 액션, 본인 페이지 상단 액션 정책을 한 묶음으로 처리한다.
|
||||
|
||||
- [ ] **Task 10.1: title-bar sticky 닉네임과 tab-bar typography 보정**
|
||||
- 수정:
|
||||
- `app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivity.kt`
|
||||
- `app/src/main/res/layout/activity_creator_channel.xml`
|
||||
- `app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivitySourceTest.kt`
|
||||
- Figma 기준:
|
||||
- tab-bar item text: Figma `296:14894`
|
||||
- 작업:
|
||||
- title-bar가 black 배경으로 전환된 상태에서 뒤로가기 버튼 우측에 `creator.nickname`을 표시한다.
|
||||
- title-bar가 이미지 overlay 상태로 복귀하면 닉네임을 숨긴다.
|
||||
- 닉네임 TextView의 font/textSize/color/ellipsize/maxLines는 `app/src/main/res/layout/view_title_bar_default.xml`의 `tv_title_bar_title`와 동일하게 맞춘다.
|
||||
- 긴 닉네임은 우측 액션 영역과 겹치지 않도록 1줄 말줄임 처리한다.
|
||||
- tab-bar item 텍스트는 선택/비선택 상태 모두 Figma `296:14894` 기준 `Pretendard Variable Medium`, 16sp 상당 크기, line-height 1.45, letterSpacing 0을 유지한다.
|
||||
- 선택 상태에서만 font/size가 달라지는 구현이 있으면 제거하고 색상/indicator로만 선택 상태를 구분한다.
|
||||
- 검증 명령:
|
||||
- `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelActivitySourceTest"`
|
||||
- `./gradlew :app:mergeDebugResources`
|
||||
- `./gradlew :app:compileDebugKotlin`
|
||||
|
||||
- [ ] **Task 10.2: 더보기 BottomSheet와 팔로우/알림 직접 액션 보정**
|
||||
- 수정:
|
||||
- `app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivity.kt`
|
||||
- `app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelHomeViewModel.kt`
|
||||
- `app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivitySourceTest.kt`
|
||||
- `app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelHomeViewModelTest.kt`
|
||||
- 확인:
|
||||
- `app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/UserProfileActivity.kt`
|
||||
- 기존 `UserProfileActivity.showOptionMenu()`의 `user_profile_option_menu`, `user_profile_option_menu_2` 분기
|
||||
- 기존 `BottomSheetDialog` 또는 프로젝트 내 유사 BottomSheet 메뉴 구현
|
||||
- 작업:
|
||||
- 더보기 버튼 터치 시 기존 `UserProfileActivity.showOptionMenu()`와 동일한 의미의 차단/차단 해제, 사용자 신고, 프로필 신고 액션을 BottomSheet로 표시한다.
|
||||
- 팔로우하지 않은 상태의 `layout_follow_capsule` 터치 시 기존 크리에이터 팔로우 API를 `follow=true`, `notify=true`로 바로 호출한다.
|
||||
- 팔로잉 상태에서 `iv_bell` 터치 시 BottomSheet 없이 `follow=true`, `notify=false` API를 바로 호출하고 성공 후 알림 꺼짐 아이콘으로 변경한다.
|
||||
- 팔로잉 상태에서 `layout_follow_capsule` 터치 시 BottomSheet 없이 `follow=false`, `notify=false` API를 바로 호출하고 완료/오류 토스트를 표시한다.
|
||||
- 팔로우/알림 요청 중에는 중복 터치로 같은 API가 중복 호출되지 않게 한다.
|
||||
- 기존 `CreatorFollowNotifyFragment`를 띄우는 흐름이 남아 있으면 이번 요구에 맞게 제거한다.
|
||||
- 검증 명령:
|
||||
- `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelHomeViewModelTest"`
|
||||
- `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelActivitySourceTest"`
|
||||
- `./gradlew :app:compileDebugKotlin`
|
||||
|
||||
- [ ] **Task 10.3: 크리에이터 본인 페이지 상단 액션 정책 추가**
|
||||
- 수정:
|
||||
- `app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/data/CreatorChannelHomeModels.kt`
|
||||
- `app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/model/CreatorChannelHomeUiModels.kt`
|
||||
- `app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/model/CreatorChannelHomeMappers.kt`
|
||||
- `app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/model/CreatorChannelTitleBarState.kt`
|
||||
- `app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivity.kt`
|
||||
- `app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelHomeMapperTest.kt`
|
||||
- `app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelTitleBarStateTest.kt`
|
||||
- `app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivitySourceTest.kt`
|
||||
- 확인:
|
||||
- 홈 API에 `isOwner` 또는 동등한 필드가 제공되는지 확인한다.
|
||||
- API 필드가 없으면 로그인 사용자 정보와 `creator.creatorId`/연결 식별자를 대조할 수 있는 기존 저장소/세션 정보를 확인한다.
|
||||
- 작업:
|
||||
- 크리에이터 본인 여부를 UI model에 포함한다.
|
||||
- 본인 페이지에서는 title-bar의 팔로우/팔로잉 capsule, 알림 아이콘, 더보기 아이콘을 표시하지 않는다.
|
||||
- 본인 페이지에서는 더보기 BottomSheet 또는 차단/신고 액션에 진입할 수 없게 한다.
|
||||
- 본인 페이지가 아닌 경우 기존 팔로우/더보기 동작은 유지한다.
|
||||
- 본인 여부 판정에 API 필드가 필요하지만 제공되지 않는 경우, 구현을 막지 말고 해당 필드 추가 필요성을 Task 검증 기록에 남긴다.
|
||||
- 검증 명령:
|
||||
- `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelHomeMapperTest"`
|
||||
- `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelTitleBarStateTest"`
|
||||
- `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelActivitySourceTest"`
|
||||
- `./gradlew :app:compileDebugKotlin`
|
||||
|
||||
- [ ] **Task 10.4: 본인 페이지 `DM 확인하기` 진입 추가**
|
||||
- 수정:
|
||||
- `app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivity.kt`
|
||||
- `app/src/main/java/kr/co/vividnext/sodalive/main/MainActivity.kt`
|
||||
- `app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/ChatMainFragment.kt`
|
||||
- `app/src/main/java/kr/co/vividnext/sodalive/v2/main/chat/model/ChatRoomFilter.kt`
|
||||
- `app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivitySourceTest.kt`
|
||||
- 필요 시 메인/채팅 탭 source test
|
||||
- 확인:
|
||||
- `MainActivity`의 bottom tab 선택 구조
|
||||
- `ChatMainFragment`의 필터 선택 구조
|
||||
- `ChatRoomFilter.DM`
|
||||
- 작업:
|
||||
- 본인 페이지에서는 `대화하기` 버튼을 표시하지 않는다.
|
||||
- 본인 페이지에서는 `DM 보내기` 대신 `DM 확인하기` 버튼을 표시한다.
|
||||
- `DM 확인하기` 터치 시 `MainActivity`로 이동하거나 기존 MainActivity instance를 재사용해 메인 `대화` 탭을 선택한다.
|
||||
- `ChatMainFragment`는 진입 파라미터를 받아 `ChatRoomFilter.DM`이 선택된 상태로 표시한다.
|
||||
- 기존 타인 페이지의 `DM 보내기`는 `DmChatRoomActivity.newIntentByCreatorId(context, creatorId)` 이동을 유지한다.
|
||||
- 검증 명령:
|
||||
- `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelActivitySourceTest"`
|
||||
- `./gradlew :app:compileDebugKotlin`
|
||||
|
||||
---
|
||||
|
||||
### Phase 11: 홈 탭 섹션 후속 UI/액션 보강
|
||||
|
||||
> 후원 empty, 최신 콘텐츠 터치, 날짜 표시, 오디오/시리즈/활동 영역의 세부 Figma 정합성을 묶어서 처리한다. 섹션 하나당 Phase를 나누지 않고 관련 홈 컨텐츠 보정 Task로 묶는다.
|
||||
|
||||
- [ ] **Task 11.1: 후원 empty UI와 최신 콘텐츠/날짜 표시 보강**
|
||||
- 수정:
|
||||
- `app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/model/CreatorChannelHomeMappers.kt`
|
||||
- `app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/ui/CreatorChannelHomeSectionAdapter.kt`
|
||||
- `app/src/main/res/layout/item_creator_channel_home_donation.xml`
|
||||
- `app/src/main/res/layout/item_creator_channel_home_latest_audio.xml`
|
||||
- `app/src/main/res/layout/item_creator_channel_home_notice.xml`
|
||||
- `app/src/main/res/layout/item_creator_channel_home_community.xml`
|
||||
- `app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelHomeMapperTest.kt`
|
||||
- `app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivitySourceTest.kt`
|
||||
- Figma 기준:
|
||||
- 후원 empty UI: `290:8820`
|
||||
- 작업:
|
||||
- `channelDonations`가 비어 있으면 후원 섹션을 숨기지 않고 empty 안내 UI를 표시한다.
|
||||
- empty card width는 374dp 고정이 아니라 부모 섹션 좌우 여백 안에서 `match_parent`로 처리한다.
|
||||
- empty card는 height 196dp, `gray_900` 배경, 14dp radius, `처음으로 크리에이터를` / `후원해 보세요!`, 흰색 `후원하기` capsule을 표시한다.
|
||||
- 최신 오디오 row/card 터치 시 `latestAudioContent.audioContentId`로 기존 `AudioContentDetailActivity`에 이동한다.
|
||||
- 공지/커뮤니티 게시글 날짜는 API `dateUtc` 원문 대신 기존 앱의 상대 날짜 표시 방식으로 변환한다.
|
||||
- 검증 명령:
|
||||
- `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelHomeMapperTest"`
|
||||
- `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelActivitySourceTest"`
|
||||
- `./gradlew :app:mergeDebugResources`
|
||||
- `./gradlew :app:compileDebugKotlin`
|
||||
|
||||
- [ ] **Task 11.2: 오디오/시리즈 아이템 세부 UI와 터치 액션 보강**
|
||||
- 수정:
|
||||
- `app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/ui/CreatorChannelHomeSectionAdapter.kt`
|
||||
- `app/src/main/res/layout/item_creator_channel_home_audio.xml`
|
||||
- `app/src/main/res/layout/item_creator_channel_home_audio_content.xml`
|
||||
- `app/src/main/res/layout/item_creator_channel_home_series.xml`
|
||||
- 시리즈 card custom view 파일
|
||||
- `app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivitySourceTest.kt`
|
||||
- Figma 기준:
|
||||
- 홈 컨텐츠: `296:14895`
|
||||
- 시리즈 `Contents(type=series, size=m)`
|
||||
- 작업:
|
||||
- 오디오 이미지 위 `tv_audio_content_free_tag` width를 `wrap_content`로 수정한다.
|
||||
- 오디오 영역은 표시되는 `audioContents` 개수만큼만 높이를 차지한다.
|
||||
- 오디오 콘텐츠가 1개일 때 3개 이상 있을 때와 같은 고정 높이, 빈 슬롯, placeholder 영역을 만들지 않는다.
|
||||
- 시리즈 이미지 위 `layout_series_original_tag` width/height를 `wrap_content`로 수정한다.
|
||||
- 시리즈 original tag margin/padding은 Figma `Contents(type=series, size=m)` 기준으로 맞춘다.
|
||||
- 시리즈 아이템 터치 시 `series.seriesId`를 사용해 기존 `SeriesDetailActivity`로 이동한다.
|
||||
- 검증 명령:
|
||||
- `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelActivitySourceTest"`
|
||||
- `./gradlew :app:mergeDebugResources`
|
||||
- `./gradlew :app:compileDebugKotlin`
|
||||
|
||||
- [ ] **Task 11.3: 활동 영역 Figma 정합성과 데뷔 날짜/D+n 버그 수정**
|
||||
- 수정:
|
||||
- `app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/ui/CreatorChannelHomeSectionAdapter.kt`
|
||||
- `app/src/main/res/layout/item_creator_channel_home_activity.xml`
|
||||
- `app/src/main/res/values/strings.xml`
|
||||
- `app/src/main/res/values-en/strings.xml`
|
||||
- `app/src/main/res/values-ja/strings.xml`
|
||||
- `app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivitySourceTest.kt`
|
||||
- Figma 기준:
|
||||
- 활동 영역: `296:15001`
|
||||
- 작업:
|
||||
- 활동 섹션 제목은 `SectionTitle(활동)` 기준 `Pretendard Variable Bold`, 20sp 상당 크기를 따른다.
|
||||
- 활동 label/value row는 `Pretendard Variable Medium`, 16sp 상당 크기, line-height 1.45, letterSpacing 0을 따른다.
|
||||
- label 색상은 `#939393`, value 색상은 white로 맞춘다.
|
||||
- label/value 사이 8dp gap, row 간 8dp 간격을 유지한다.
|
||||
- `activity.debutDateUtc`는 원문 ISO 문자열을 그대로 표시하지 않고 `yyyy.MM.dd`로 변환한다.
|
||||
- 데뷔 값은 `yyyy.MM.dd(D+n)` 형식으로 표시한다. 예: `2026.06.11(D+1)`.
|
||||
- `activity.dDay` 값이 있으면 날짜 파싱 실패 또는 `debutDateUtc` 누락 상황에서도 D+n이 누락되지 않게 한다.
|
||||
- 검증 명령:
|
||||
- `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelActivitySourceTest"`
|
||||
- `./gradlew :app:mergeDebugResources`
|
||||
- `./gradlew :app:compileDebugKotlin`
|
||||
|
||||
---
|
||||
|
||||
### Phase 12: 크리에이터 본인 페이지 Floating Button
|
||||
|
||||
> 본인 페이지 전용 홈 탭 FAB와 확장 액션을 추가한다. 상단 액션 정책은 Phase 10에서 처리하고, FAB overlay/animation/버튼 액션은 이 Phase에서 처리한다.
|
||||
|
||||
- [ ] **Task 12.1: Floating Button 기본/확장 layout 추가**
|
||||
- 수정:
|
||||
- `app/src/main/res/layout/activity_creator_channel.xml`
|
||||
- `app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivity.kt`
|
||||
- `app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivitySourceTest.kt`
|
||||
- 생성 후보:
|
||||
- `app/src/main/res/drawable/bg_creator_channel_owner_fab.xml`
|
||||
- `app/src/main/res/drawable/bg_creator_channel_owner_fab_close.xml`
|
||||
- Figma 기준:
|
||||
- 기본 상태: `665:19092`
|
||||
- 확장/dim 상태: `665:19223`
|
||||
- 작업:
|
||||
- Floating Button은 크리에이터 본인 페이지의 `홈` 탭에서만 표시한다.
|
||||
- 기본 FAB는 우측/하단 safe area를 고려해 14dp inset으로 배치한다.
|
||||
- 기본 FAB는 `soda/400` 배경, 100dp radius, 14dp padding, 38dp icon 영역, shadow를 따른다.
|
||||
- FAB 터치 시 전체 화면 dim overlay를 표시한다.
|
||||
- dim 색상은 Figma 기준 `rgba(0,0,0,0.4)`로 적용한다.
|
||||
- 확장 상태에서 버튼은 우측 하단 정렬을 유지하고 세로 간격 14dp로 배치한다.
|
||||
- 확장 버튼 순서는 위에서부터 `커뮤니티 글 올리기`, `오디오 콘텐츠 올리기`, `라이브 만들기`, `닫기`다.
|
||||
- 아이콘은 순서대로 `ic_new_upload_community_post`, `ic_new_upload_audio`, `ic_new_create_live`, `ic_new_x_black`을 사용한다.
|
||||
- 닫기 버튼은 흰색 배경을 사용하고 터치 시 dim과 확장 버튼을 닫는다.
|
||||
- dim 뒤 홈 컨텐츠, tab-bar, title-bar 액션이 잘못 터치되지 않게 한다.
|
||||
- 검증 명령:
|
||||
- `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelActivitySourceTest"`
|
||||
- `./gradlew :app:mergeDebugResources`
|
||||
- `./gradlew :app:compileDebugKotlin`
|
||||
|
||||
- [ ] **Task 12.2: Floating Button Spring animation과 하단 inset 보정**
|
||||
- 수정:
|
||||
- `app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivity.kt`
|
||||
- `app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivitySourceTest.kt`
|
||||
- 작업:
|
||||
- FAB 펼침/닫힘 animation은 Spring easing을 사용한다.
|
||||
- Spring parameter는 Mass `1`, Stiffness `256`, Damping `24`를 따른다.
|
||||
- 확장/닫힘 중 중복 터치로 상태가 꼬이지 않게 한다.
|
||||
- navigation bar/gesture inset을 반영해 FAB touch area가 화면 밖으로 밀리지 않도록 한다.
|
||||
- 홈 컨텐츠 마지막 영역이 FAB에 가려져 읽기 어려우면 RecyclerView/NestedScroll 하단 padding을 보정한다.
|
||||
- 검증 명령:
|
||||
- `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelActivitySourceTest"`
|
||||
- `./gradlew :app:compileDebugKotlin`
|
||||
|
||||
- [ ] **Task 12.3: Floating Button 3개 액션 진입점 연결**
|
||||
- 수정:
|
||||
- `app/src/main/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivity.kt`
|
||||
- `app/src/test/java/kr/co/vividnext/sodalive/v2/creator/channel/CreatorChannelActivitySourceTest.kt`
|
||||
- 필요 시 기존 커뮤니티 작성/오디오 업로드/라이브 생성 화면 route 파일
|
||||
- 확인:
|
||||
- 커뮤니티 글 작성 기존 Activity/Fragment/route
|
||||
- 오디오 콘텐츠 업로드 기존 Activity/Fragment/route
|
||||
- 라이브 만들기 기존 Activity/Fragment/route
|
||||
- 작업:
|
||||
- `커뮤니티 글 올리기`는 기존 커뮤니티 작성 화면으로 이동한다.
|
||||
- `오디오 콘텐츠 올리기`는 기존 오디오 콘텐츠 업로드 화면으로 이동한다.
|
||||
- `라이브 만들기`는 기존 라이브 생성 화면으로 이동한다.
|
||||
- 기존 진입점이 없거나 필요한 파라미터가 불명확하면 임의 구현하지 않고 해당 액션은 검증 기록에 “진입점 미확정”으로 남긴다.
|
||||
- 각 액션 터치 후에는 FAB 확장 상태를 닫는다.
|
||||
- 검증 명령:
|
||||
- `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelActivitySourceTest"`
|
||||
- `./gradlew :app:compileDebugKotlin`
|
||||
|
||||
---
|
||||
|
||||
### Phase 13: 후속 보강 최종 검증과 문서 기록
|
||||
|
||||
- [ ] **Task 13.1: 후속 보강 단위/source 테스트 실행**
|
||||
- 실행:
|
||||
- `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.creator.channel.*"`
|
||||
- `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.*"`
|
||||
- 기대 결과:
|
||||
- 크리에이터 채널 후속 보강 테스트와 기존 홈 진입점 테스트가 `BUILD SUCCESSFUL`로 통과한다.
|
||||
|
||||
- [ ] **Task 13.2: 리소스/컴파일/린트 검증**
|
||||
- 실행:
|
||||
- `./gradlew :app:mergeDebugResources`
|
||||
- `./gradlew :app:compileDebugKotlin`
|
||||
- `./gradlew :app:ktlintCheck`
|
||||
- `git diff --check`
|
||||
- 기대 결과:
|
||||
- `mergeDebugResources`, `compileDebugKotlin`, `git diff --check`는 통과한다.
|
||||
- `ktlintCheck`가 기존 `audio_content` 패키지명 underscore 문제로 실패하면, 이번 변경 파일에서 발생한 실패인지 구분해 검증 기록에 남긴다.
|
||||
|
||||
- [ ] **Task 13.3: 수동 화면 검증**
|
||||
- 확인:
|
||||
- 타인 페이지에서 팔로우/알림/더보기/대화/DM 동작이 PRD와 일치한다.
|
||||
- 본인 페이지에서 팔로우/알림/더보기/대화가 제거되고 `DM 확인하기`와 FAB가 표시된다.
|
||||
- `DM 확인하기` 터치 시 메인 `대화` 탭과 `DM` 필터가 선택된다.
|
||||
- FAB 기본/확장/dim/닫기/3개 액션이 Figma `665:19092`, `665:19223`과 일치한다.
|
||||
- 후원 empty, 최신 콘텐츠 터치, 상대 날짜, 오디오 높이, 시리즈 original tag, 활동 날짜/D+n이 PRD와 일치한다.
|
||||
- sticky title-bar nickname과 tab typography가 Figma/PRD와 일치한다.
|
||||
- 기대 결과:
|
||||
- 2026-06-16 이후 추가 PRD Metrics를 모두 만족한다.
|
||||
|
||||
- [ ] **Task 13.4: 검증 기록 누적**
|
||||
- 수정:
|
||||
- `docs/20260611_크리에이터_채널_홈_탭/plan-task.md`
|
||||
- `docs/20260611_크리에이터_채널_홈_탭/prd.md`
|
||||
- 작업:
|
||||
- 실행한 테스트/빌드/린트/수동 검증 결과를 문서 하단에 누적한다.
|
||||
- 실패 기록은 삭제하지 않고 후속 성공/차단 기록을 추가한다.
|
||||
- 기대 결과:
|
||||
- 후속 보강 구현과 검증 이력이 문서에 남는다.
|
||||
|
||||
---
|
||||
|
||||
## Verification Log
|
||||
- 2026-06-12: `docs/20260611_크리에이터_채널_홈_탭/prd.md`, `docs/agent-guides/work-plan-docs.md`, `docs/agent-guides/build-test-style.md`, `docs/agent-guides/code-style.md`를 확인해 계획 문서 작성 규칙과 검증 명령 규칙을 확인했다.
|
||||
- 2026-06-12: 기존 `HomeRecommendationApi`, `HomeRecommendationModels`, `HomeRecommendationRepository`, `HomeRecommendationViewModel`, `RecommendedActivityType`, `HomeRecommendationMappers`, `HomeRecommendationUiModels`, `AppDI`, `ChatRoomActivity`, `DmChatRoomActivity`를 확인해 신규 크리에이터 채널 홈 구현 계획의 파일 경계와 재사용 지점을 정리했다.
|
||||
@@ -1066,3 +1353,4 @@
|
||||
- 2026-06-15: Phase 8 리소스/컴파일/린트 검증으로 `./gradlew :app:mergeDebugResources`, `./gradlew :app:compileDebugKotlin`, `./gradlew :app:ktlintCheck`를 순차 실행해 모두 `BUILD SUCCESSFUL`을 확인했다. `ktlintCheck`의 `.editorconfig disabled_rules` deprecation 경고와 Gradle deprecation warning은 기존 경고로 이번 변경과 무관하다.
|
||||
- 2026-06-15: Phase 8 수동 화면 검증 준비로 Figma `296:14890`, `296:14892`, `296:14287`, `296:14288`, `296:14289` 스크린샷을 확인하고, `CreatorChannelHomeActivity.kt`, `activity_creator_channel_home.xml`, `CreatorChannelTitleBarState.kt`, `CreatorChannelScrollState.kt`, `CreatorChannelHomeSectionAdapter.kt`, `CreatorChannelHomeActivitySourceTest.kt`를 대조했다. `./gradlew :app:assembleDebug`는 `BUILD SUCCESSFUL`이었으나, 설치/실행 시점에 연결 기기가 사라져 `adb install -r "app/build/outputs/apk/debug/app-debug.apk"`가 `adb: no devices/emulators found`로 실패했다. 재확인한 `adb devices`에도 기기가 없어 실제 전면 화면 캡처와 스크롤/클릭 육안 검증은 미완료로 남겼다.
|
||||
- 2026-06-15: Phase 9 이름 변경으로 `CreatorChannelHomeActivity`/`activity_creator_channel_home.xml`/`ActivityCreatorChannelHomeBinding`을 `CreatorChannelActivity`/`activity_creator_channel.xml`/`ActivityCreatorChannelBinding`으로 정리하고, Manifest와 모든 진입점 및 source test를 새 이름으로 갱신했다. focused source test, 홈 진입점 테스트, 크리에이터 채널 전체 테스트, 리소스 merge, Kotlin compile, `git diff --check`는 통과했다. `ktlintCheck`는 기존 `audio_content` 패키지명 underscore 규칙 위반으로 실패했으며 이번 변경 범위 밖이라 수정하지 않았다.
|
||||
- 2026-06-16: PRD에 신규 추가된 요구사항을 바탕으로 plan-task 문서를 보강했다. Phase는 섹션 단위로 과도하게 쪼개지 않고 `상단 상태/탭/액션`, `홈 탭 섹션 후속 UI/액션`, `크리에이터 본인 페이지 Floating Button`, `후속 보강 최종 검증`으로 묶었으며, 세부 변경은 Task 체크리스트에 배치했다. 이번 단계는 계획 문서 보강만 수행했으며 구현/빌드/테스트는 실행하지 않았다.
|
||||
|
||||
Reference in New Issue
Block a user