diff --git a/docs/20260601_메인_홈_추천_UI와_API_연동/plan-task.md b/docs/20260601_메인_홈_추천_UI와_API_연동/plan-task.md index dfb52d00..7c96fded 100644 --- a/docs/20260601_메인_홈_추천_UI와_API_연동/plan-task.md +++ b/docs/20260601_메인_홈_추천_UI와_API_연동/plan-task.md @@ -778,7 +778,23 @@ - 검증 기록: - 2026-07-12: `HomeMainFragmentLayoutTest`에 `home recommendation does not display genre creator section`을 먼저 추가해 기존 구현에서 `HomeMainFragmentLayoutTest.kt:152` assertion 실패로 RED를 확인했다. 이후 XML 기본 숨김과 Fragment 바인딩의 `View.GONE`/`emptyList()` 제출을 적용했고 동일 테스트가 BUILD SUCCESSFUL로 GREEN 전환됨을 확인했다. +### Phase 15: 추천 섹션 타이틀 chevron 숨김 + +- [x] **Task 15.1: 최근 데뷔와 AI 캐릭터 섹션 chevron 숨김** + - 수정: `app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/HomeMainFragment.kt` + - 수정: `app/src/test/java/kr/co/vividnext/sodalive/v2/main/home/HomeMainFragmentSourceTest.kt` + - 구현 내용: + - `최근 데뷔한 크리에이터` 섹션 타이틀은 `view_section_title` chevron을 표시하지 않는다. + - `크리에이터와 이야기를 나눠요!` 섹션 타이틀은 `view_section_title` chevron을 표시하지 않는다. + - 섹션 목록 표시와 item 터치 동작, 다른 섹션의 chevron 정책은 변경하지 않는다. + - 검증: + - `HomeMainFragmentSourceTest`에서 두 섹션 title 설정이 `showMore = true`를 사용하지 않는지 확인한다. + - `HomeMainFragmentLayoutTest` 전체로 홈 추천 인접 layout 계약을 확인한다. + - 검증 기록: + - 2026-07-12: `HomeMainFragmentSourceTest`에 `홈 추천 최근 데뷔와 AI 캐릭터 섹션 타이틀은 chevron을 숨긴다`를 먼저 추가해 기존 구현에서 `HomeMainFragmentSourceTest.kt:40` assertion 실패로 RED를 확인했다. 이후 `HomeMainFragment.setUpSectionTitles()`에서 `viewHomeRecentDebutTitle`, `viewHomeAiCharacterTitle`의 `showMore = true`를 제거해 기본 `false` 정책을 적용했다. + ## Verification Log +- 2026-07-12: Phase 15 추천 섹션 타이틀 chevron 숨김 변경 검증으로 `HomeMainFragmentSourceTest`에 `홈 추천 최근 데뷔와 AI 캐릭터 섹션 타이틀은 chevron을 숨긴다`를 추가했고, 구현 전 `HomeMainFragmentSourceTest.kt:40` assertion 실패로 RED를 확인했다. `HomeMainFragment.setUpSectionTitles()`에서 `viewHomeRecentDebutTitle`, `viewHomeAiCharacterTitle`의 `showMore = true`를 제거한 뒤 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentSourceTest" --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentLayoutTest" --tests "kr.co.vividnext.sodalive.v2.main.home.HomeFollowingFragmentSourceTest"`, `./gradlew :app:mergeDebugResources :app:compileDebugKotlin :app:ktlintCheck`, `git diff --check`가 통과했다. `ktlintCheck`의 `.editorconfig disabled_rules` deprecation warning은 기존 설정 경고다. `./gradlew :app:testDebugUnitTest` 전체 실행은 `CreatorChannelActivitySourceTest > 팬Talk 섹션은 Figma ListComment layout과 bind로 렌더링한다`, `CreatorChannelHomeViewModelTest > 채널 후원 성공은 기존 후원 API를 호출하고 홈을 다시 로드한다` 실패 후 타임아웃됐으며, 실패 영역은 이번 변경 파일과 무관한 `v2.creator.channel` 범위다. `adb devices`는 처음 1대를 표시했으나 `:app:installDebug` 시점에는 `No connected devices!`로 실패했고 이후 `adb devices`가 빈 목록을 반환해 실기기 수동 확인은 수행하지 못했다. - 2026-07-12: `genreCreators` UI 미표시 변경 검증으로 targeted RED/GREEN 테스트를 수행했다. 리뷰에서 PRD 앞부분의 장르별 크리에이터 표시/모두 팔로우 문구와 `HomeRecommendationUiState.Content.isEmpty`의 `genreCreators.groups` 포함이 차단 이슈로 확인되어, PRD 문구를 미표시 정책으로 정리하고 `isEmpty`는 실제 표시 섹션만 기준으로 판단하도록 수정했다. `home recommendation empty state ignores hidden genre creators` 테스트는 수정 전 `HomeMainFragmentLayoutTest.kt:180` assertion 실패로 RED를 확인했고, 수정 후 GREEN 전환을 확인했다. 추가 재검토에서 plan-task 과거 Task 6.4/6.12와 코드/테스트에 남은 `genreCreators` follow-all 및 pager UI 활성 계약이 차단 이슈로 확인되어, 과거 Task 문구는 현재 미사용 정책으로 정리하고 `HomeMainFragment`의 genre follow-all 연결, `HomeRecommendationViewModel`의 genre follow 완료 상태 갱신, 활성 UI/follow-all 테스트 계약을 제거했다. 이후 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentLayoutTest" :app:mergeDebugResources :app:compileDebugKotlin :app:ktlintCheck`를 실행해 BUILD SUCCESSFUL을 확인했다. `ktlintCheck` 최초 재실행은 테스트 파일 불필요한 빈 줄로 실패했고 해당 줄만 제거한 뒤 재실행해 성공했다. `git diff --check` 출력 없음도 확인했다. `ktlintCheck`에서는 기존 `.editorconfig disabled_rules` deprecation warning만 출력됐고 lint 실패는 없었다. `adb devices` 결과 연결된 기기/에뮬레이터가 없어 실기기 수동 확인은 수행하지 못했다. - 2026-07-10: Phase 13 코드 리뷰 및 검증을 재수행했다. 리뷰 범위는 최근 활동 COMMUNITY route가 `targetId`를 `postId`로 해석해 `CreatorChannelCommunityDetailActivity.newIntent(context, postId)`를 생성하는지, 인기 커뮤니티 item이 `FeedItem.Community.postId` 기반으로 상세 Activity를 여는지, 기존 `CreatorCommunityAllActivity`/커뮤니티 목록 extra 제거 여부, 로그인 가드 전 invalid return 유지 여부다. 코드 리뷰 결과 blocking finding은 없었다. 검증으로 Phase 13 targeted test, `HomeMainFragmentLayoutTest` 전체, `./gradlew :app:compileDebugKotlin`, `./gradlew :app:ktlintCheck`, `git diff --cached --check`가 모두 통과했고, `rg`로 v2 home production 코드에 기존 커뮤니티 목록 라우팅 참조가 남지 않았음을 확인했다. - 2026-07-10: 커뮤니티 상세 라우팅 변경 회귀 검증으로 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentLayoutTest"`, `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentLoginGuardSourceTest"`, `./gradlew :app:compileDebugKotlin`, `./gradlew :app:ktlintCheck`, `git diff --check`를 실행했고 모두 통과했다. `ktlintCheck` 최초 실행은 이번에 수정한 source test 파일의 기존 긴 assertion 줄 때문에 실패했으며, 동작 변경 없이 줄바꿈과 긴 문자열 분리만 적용한 뒤 재실행해 BUILD SUCCESSFUL을 확인했다. `rg`로 v2 home production 코드에 `CreatorCommunityAllActivity`와 기존 커뮤니티 전체목록 extra 참조가 남지 않았고, 해당 문자열은 금지 조건 source test에만 남아 있음을 확인했다. diff --git a/docs/20260601_메인_홈_추천_UI와_API_연동/prd.md b/docs/20260601_메인_홈_추천_UI와_API_연동/prd.md index bd3cc279..e7599bab 100644 --- a/docs/20260601_메인_홈_추천_UI와_API_연동/prd.md +++ b/docs/20260601_메인_홈_추천_UI와_API_연동/prd.md @@ -426,3 +426,8 @@ HomeRecommendation 화면 - 홈 추천 API 응답의 `genreCreators` 필드와 DTO/UI model/mapper 계약은 유지한다. - 메인 홈 추천 탭에서는 장르(카테고리)별 크리에이터 섹션과 해당 모두 팔로우 버튼을 표시하지 않는다. - `cheerCreators`를 포함한 다른 추천 섹션 노출 정책은 변경하지 않는다. + +### 2026-07-12 변경: 추천 섹션 타이틀 chevron 숨김 +- `최근 데뷔한 크리에이터` 섹션 타이틀 우측 chevron을 표시하지 않는다. +- `크리에이터와 이야기를 나눠요!` 섹션 타이틀 우측 chevron을 표시하지 않는다. +- 섹션 목록 표시, item 터치 동작, 다른 섹션의 chevron 정책은 변경하지 않는다.