From ea076a5ac7aa6697514763c1047c043638af3927 Mon Sep 17 00:00:00 2001 From: klaus Date: Tue, 9 Jun 2026 14:56:04 +0900 Subject: [PATCH] =?UTF-8?q?docs(home):=20=EB=9E=AD=ED=82=B9=20=EC=88=9C?= =?UTF-8?q?=EC=9C=84=20=EC=A0=95=EB=A0=AC=20=EA=B2=80=EC=A6=9D=EC=9D=84=20?= =?UTF-8?q?=EA=B8=B0=EB=A1=9D=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plan-task.md | 35 +++++++++++++++++++ docs/20260608_크리에이터_랭킹_페이지/prd.md | 5 +++ 2 files changed, 40 insertions(+) diff --git a/docs/20260608_크리에이터_랭킹_페이지/plan-task.md b/docs/20260608_크리에이터_랭킹_페이지/plan-task.md index 305d86da..90bccdd4 100644 --- a/docs/20260608_크리에이터_랭킹_페이지/plan-task.md +++ b/docs/20260608_크리에이터_랭킹_페이지/plan-task.md @@ -277,6 +277,37 @@ - 기존 Verification Log는 삭제하거나 덮어쓰지 않는다. - 검증: PRD와 plan-task의 완료 상태와 실제 구현 상태가 일치한다. + +--- + +### Phase 7: 순위 텍스트 고정 박스 정렬 보정 + +- [x] **Task 7.1: 순위 텍스트 박스 정렬 RED 테스트 추가** + - 수정: `app/src/test/java/kr/co/vividnext/sodalive/v2/widget/creatorranking/CreatorRankingAdapterLayoutTest.kt` + - 구현 내용: + - Large, Compact medium, Compact small, Horizontal variant의 순위 영역 박스 크기/위치와 내부 중앙 정렬을 검증한다. + - Figma margin 값을 임의로 추가하지 않고 기존 박스 크기 안의 정렬만 검증한다. + - 검증 명령: `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.CreatorRankingAdapterLayoutTest"` + - 기대 결과: production 수정 전 중앙 정렬 assertion이 실패한다. + +- [x] **Task 7.2: 순위 텍스트 박스 내부 정렬 보정** + - 수정: `app/src/main/res/layout/view_creator_ranking_large_card.xml` + - 수정: `app/src/main/res/layout/view_creator_ranking_compact_card.xml` + - 수정: `app/src/main/res/layout/view_creator_ranking_horizontal_card.xml` + - 구현 내용: + - 기존 Kotlin 코드의 고정 박스 크기/left/top 계산은 유지한다. + - 순위 TextView가 박스 내부에서 중앙 정렬되도록 최소 속성만 추가한다. + - 검증 명령: `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.CreatorRankingAdapterLayoutTest"` + - 기대 결과: RED 테스트가 `BUILD SUCCESSFUL`로 전환된다. + +- [x] **Task 7.3: 후속 검증과 문서 기록 누적** + - 실행: + - `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.*"` + - `./gradlew :app:mergeDebugResources` + - 수정: `docs/20260608_크리에이터_랭킹_페이지/prd.md` + - 수정: `docs/20260608_크리에이터_랭킹_페이지/plan-task.md` + - 기대 결과: 모두 `BUILD SUCCESSFUL`, Verification Log 누적. + --- ## Verification Log @@ -293,3 +324,7 @@ - 2026-06-08: Phase 6.1 targeted test로 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.*"`, `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeCreatorRankingMapperTest"`, `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentLayoutTest"`를 순차 실행했고 모두 `BUILD SUCCESSFUL`로 통과했다. - 2026-06-08: Phase 6.2 통합 검증으로 `./gradlew :app:mergeDebugResources`, `./gradlew :app:compileDebugKotlin`, `./gradlew :app:ktlintCheck`를 순차 실행했고 모두 `BUILD SUCCESSFUL`로 통과했다. Gradle deprecated feature warning은 기존 빌드 경고로 보고 수정하지 않았다. - 2026-06-08: Phase 6.3으로 PRD와 plan-task 문서의 Verification Log를 누적하고 Phase 6 체크박스를 완료 처리했다. 이번 Phase 6에서는 신규 production code 변경이 없어 별도 RED 테스트 추가 없이 기존 targeted test와 build/lint 검증으로 완료했다. +- 2026-06-09: 사용자 확인에 따라 순위 숫자에 별도 left margin을 추가하지 않고, Figma의 고정 텍스트 박스 내부 중앙 정렬을 맞추는 Phase 7 후속 작업을 추가했다. +- 2026-06-09: Phase 7.1 RED로 `CreatorRankingAdapterLayoutTest`에 Large/Compact medium/Compact small/Horizontal 순위 박스 검증을 추가하고 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.CreatorRankingAdapterLayoutTest"`를 실행했다. Large/Compact medium/Compact small 3건이 `Gravity.CENTER` assertion에서 실패해 순위 TextView 내부 정렬 미반영을 확인했다. +- 2026-06-09: Phase 7.2로 `view_creator_ranking_large_card.xml`, `view_creator_ranking_compact_card.xml`, `view_creator_ranking_horizontal_card.xml`의 순위 TextView에 `android:gravity="center"`를 추가했다. 동일 `CreatorRankingAdapterLayoutTest`가 `BUILD SUCCESSFUL`로 전환됐다. +- 2026-06-09: Phase 7.3 검증으로 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.*"`와 `./gradlew :app:mergeDebugResources`를 실행했고 모두 `BUILD SUCCESSFUL`로 통과했다. Gradle deprecated feature warning은 기존 빌드 경고로 보고 수정하지 않았다. diff --git a/docs/20260608_크리에이터_랭킹_페이지/prd.md b/docs/20260608_크리에이터_랭킹_페이지/prd.md index 3a863717..e738af51 100644 --- a/docs/20260608_크리에이터_랭킹_페이지/prd.md +++ b/docs/20260608_크리에이터_랭킹_페이지/prd.md @@ -149,6 +149,8 @@ - TitleBar와 Text Tab bar는 Figma `24:5654` 및 기존 홈 추천 구현과 동일한 위치/스타일을 유지한다. - Capsule Tab bar를 제거한 상태에서도 Text Tab bar 아래 여백이 과도하게 남지 않아야 한다. - 랭킹 목록 좌우 margin과 item gap은 기존 `CreatorRankingAdapter`와 Figma 목록 폭을 기준으로 맞춘다. +- 순위 숫자는 Figma의 시각적 margin을 임의로 추가하지 않고, variant별 고정 텍스트 박스 크기 안에서 중앙 정렬해 표시한다. +- 1위, 2~7위, 8~10위, 11위 이후 순위 영역의 고정 박스 크기와 위치는 기존 Figma 기준 계산값을 유지한다. - `랭킹` 탭 선택 상태가 흰색 텍스트로 명확히 드러나야 한다. - 1위~20위까지 응답이 내려오면 Figma 예시처럼 20위까지 자연스럽게 스크롤로 확인할 수 있어야 한다. - 긴 닉네임은 기존 위젯의 ellipsize/line 제한 정책을 따른다. @@ -171,6 +173,7 @@ - `랭킹` 탭 선택 시 `GET /api/v2/home/rankings/creators` 응답 item이 `CreatorRankingAdapter`에 전달된다. - Figma `24:5654`의 Capsule Tab bar는 화면에 존재하지 않는다. - 1위, 2~7위, 8~10위, 11위 이후 variant가 기존 위젯 정책과 일치한다. +- 순위 숫자는 고정 텍스트 박스 내부에서 중앙 정렬되어 Figma와 동일한 시각적 좌측 여백으로 보인다. - `isNew=true` item은 New badge로 표시된다. - `isNew=false && (rankChange=null || rankChange=0)` item은 유지 상태로 표시된다. - `rankChange > 0` item은 상승, `rankChange < 0` item은 하락으로 표시된다. @@ -203,3 +206,5 @@ - 2026-06-08: 사용자 추가 제공 정보에 따라 `rankChange`의 양수/음수/0 매핑, `showRankChange=false` 시 rank-num 완전 숨김, 클라이언트 `rank` 재정렬, `creatorId=0` 차단 관계 및 클릭 불가 정책을 반영했다. - 2026-06-08: 사용자 추가 제공 정보에 따라 랭킹 item 터치 시 `UserProfileActivity` 이동 외 별도 analytics/logging을 추가하지 않는 것으로 확정하고 Open Questions를 없음으로 정리했다. - 2026-06-08: 최종 검증으로 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.*"`, `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeCreatorRankingMapperTest"`, `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.home.HomeMainFragmentLayoutTest"`, `./gradlew :app:mergeDebugResources`, `./gradlew :app:compileDebugKotlin`, `./gradlew :app:ktlintCheck`를 순차 실행했고 모두 `BUILD SUCCESSFUL`로 통과했다. Gradle deprecated feature warning은 기존 빌드 경고로 보고 수정하지 않았다. +- 2026-06-09: 사용자 확인에 따라 Figma상 순위 숫자의 margin 값 자체를 추가하지 않고, 기존 고정 텍스트 박스 크기 안에서 텍스트 정렬을 맞추는 후속 보정 요구사항을 추가했다. +- 2026-06-09: 순위 TextView 내부 중앙 정렬 보정 후 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.CreatorRankingAdapterLayoutTest"`, `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.*"`, `./gradlew :app:mergeDebugResources`가 모두 `BUILD SUCCESSFUL`로 통과했다.