docs(home): 랭킹 순위 영역 보정 검증을 기록한다
This commit is contained in:
@@ -308,6 +308,40 @@
|
|||||||
- 수정: `docs/20260608_크리에이터_랭킹_페이지/plan-task.md`
|
- 수정: `docs/20260608_크리에이터_랭킹_페이지/plan-task.md`
|
||||||
- 기대 결과: 모두 `BUILD SUCCESSFUL`, Verification Log 누적.
|
- 기대 결과: 모두 `BUILD SUCCESSFUL`, Verification Log 누적.
|
||||||
|
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Phase 8: Figma 최신 순위 영역 수치 보정
|
||||||
|
|
||||||
|
- [x] **Task 8.1: 순위 영역 최신 수치 RED 테스트 추가**
|
||||||
|
- 수정: `app/src/test/java/kr/co/vividnext/sodalive/v2/widget/creatorranking/CreatorRankingAdapterLayoutTest.kt`
|
||||||
|
- 구현 내용:
|
||||||
|
- Figma `24:5658` 기준 1위, 2~7위, 8~10위, 11위 이후 순위 숫자 박스 크기와 rank-num 위치를 검증한다.
|
||||||
|
- rank-num 상승/하락/유지/New 표시의 기존 노출 정책은 유지한다.
|
||||||
|
- 검증 명령: `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.CreatorRankingAdapterLayoutTest"`
|
||||||
|
- 기대 결과: production 수정 전 1위/8~10위 순위 박스와 1위/8~10위 rank-num 위치 assertion이 실패한다.
|
||||||
|
|
||||||
|
- [x] **Task 8.2: 순위 숫자 박스와 rank-num 위치 보정**
|
||||||
|
- 수정: `app/src/main/java/kr/co/vividnext/sodalive/v2/widget/creatorranking/CreatorRankingLargeCardView.kt`
|
||||||
|
- 수정: `app/src/main/java/kr/co/vividnext/sodalive/v2/widget/creatorranking/CreatorRankingCompactCardView.kt`
|
||||||
|
- 수정: `app/src/main/java/kr/co/vividnext/sodalive/v2/widget/creatorranking/CreatorRankingHorizontalCardView.kt`
|
||||||
|
- 구현 내용:
|
||||||
|
- 1위 순위 숫자 박스는 `86x116`, rank-num은 `left=20`, `top=116` 기준으로 맞춘다.
|
||||||
|
- 2~7위 순위 숫자 박스는 `56x70`, rank-num은 `left=10`, `top=70` 기준으로 맞춘다.
|
||||||
|
- 8~10위 순위 숫자 박스는 `52x50`, `left=0`, rank-num은 `left=10`, `top=50` 기준으로 맞춘다.
|
||||||
|
- 11위 이후 순위 텍스트는 rank group 내부에서 `48x52` 기준으로 맞춘다.
|
||||||
|
- 검증 명령: `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.CreatorRankingAdapterLayoutTest"`
|
||||||
|
- 기대 결과: RED 테스트가 `BUILD SUCCESSFUL`로 전환된다.
|
||||||
|
|
||||||
|
- [x] **Task 8.3: 후속 검증과 문서 기록 누적**
|
||||||
|
- 실행:
|
||||||
|
- `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.*"`
|
||||||
|
- `./gradlew :app:mergeDebugResources`
|
||||||
|
- `./gradlew :app:ktlintCheck`
|
||||||
|
- 수정: `docs/20260608_크리에이터_랭킹_페이지/prd.md`
|
||||||
|
- 수정: `docs/20260608_크리에이터_랭킹_페이지/plan-task.md`
|
||||||
|
- 기대 결과: 모두 `BUILD SUCCESSFUL`, Verification Log 누적.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Verification Log
|
## Verification Log
|
||||||
@@ -328,3 +362,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.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.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은 기존 빌드 경고로 보고 수정하지 않았다.
|
- 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은 기존 빌드 경고로 보고 수정하지 않았다.
|
||||||
|
- 2026-06-09: Figma `24:5658` design context와 screenshot을 재확인했고, 순위 숫자 박스 및 rank-num 위치에서 현재 구현과 다른 최신 기준값을 Phase 8 후속 작업으로 추가했다.
|
||||||
|
- 2026-06-09: Phase 8.1 RED로 `CreatorRankingAdapterLayoutTest`의 순위 숫자 박스/순위 변화 표시 위치 기대값을 Figma `24:5658` 기준으로 갱신하고 실행했다. production 수정 전 1위/2~7위/8~10위 순위 박스, 11위 이후 rank group top, 1위/8~10위 rank-num 위치 assertion 6건 실패를 확인했다.
|
||||||
|
- 2026-06-09: Phase 8.2로 `CreatorRankingLargeCardView`, `CreatorRankingCompactCardView`, `CreatorRankingHorizontalCardView`의 위치 계산을 Figma 기준으로 보정했다. 동일 `CreatorRankingAdapterLayoutTest`가 `BUILD SUCCESSFUL`로 전환됐다. New badge는 기존 PRD가 이미지 리소스 사용을 요구하고 `ic_rank_new.png`가 36x23으로 Figma 크기와 일치해 유지했다.
|
||||||
|
- 2026-06-09: Phase 8.3 검증으로 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.creatorranking.*"`, `./gradlew :app:mergeDebugResources`, `./gradlew :app:ktlintCheck`를 실행했다. 최초 ktlint에서 테스트 파일 불필요한 빈 줄 2건이 실패해 정리했고, 이후 `CreatorRankingAdapterLayoutTest`와 `ktlintCheck`가 `BUILD SUCCESSFUL`로 통과했다. Gradle deprecated feature warning은 기존 빌드 경고로 보고 수정하지 않았다.
|
||||||
|
|||||||
@@ -150,7 +150,8 @@
|
|||||||
- Capsule Tab bar를 제거한 상태에서도 Text Tab bar 아래 여백이 과도하게 남지 않아야 한다.
|
- Capsule Tab bar를 제거한 상태에서도 Text Tab bar 아래 여백이 과도하게 남지 않아야 한다.
|
||||||
- 랭킹 목록 좌우 margin과 item gap은 기존 `CreatorRankingAdapter`와 Figma 목록 폭을 기준으로 맞춘다.
|
- 랭킹 목록 좌우 margin과 item gap은 기존 `CreatorRankingAdapter`와 Figma 목록 폭을 기준으로 맞춘다.
|
||||||
- 순위 숫자는 Figma의 시각적 margin을 임의로 추가하지 않고, variant별 고정 텍스트 박스 크기 안에서 중앙 정렬해 표시한다.
|
- 순위 숫자는 Figma의 시각적 margin을 임의로 추가하지 않고, variant별 고정 텍스트 박스 크기 안에서 중앙 정렬해 표시한다.
|
||||||
- 1위, 2~7위, 8~10위, 11위 이후 순위 영역의 고정 박스 크기와 위치는 기존 Figma 기준 계산값을 유지한다.
|
- 1위, 2~7위, 8~10위, 11위 이후 순위 영역의 고정 박스 크기와 위치는 Figma `24:5658`의 최신 기준값을 따른다.
|
||||||
|
- `rank-num`은 Figma 기준 위치를 따른다. 1위는 `top=116`, 2~7위는 `top=70`, 8~10위는 `top=50`, 11위 이후는 rank group 내부 배치를 유지한다.
|
||||||
- `랭킹` 탭 선택 상태가 흰색 텍스트로 명확히 드러나야 한다.
|
- `랭킹` 탭 선택 상태가 흰색 텍스트로 명확히 드러나야 한다.
|
||||||
- 1위~20위까지 응답이 내려오면 Figma 예시처럼 20위까지 자연스럽게 스크롤로 확인할 수 있어야 한다.
|
- 1위~20위까지 응답이 내려오면 Figma 예시처럼 20위까지 자연스럽게 스크롤로 확인할 수 있어야 한다.
|
||||||
- 긴 닉네임은 기존 위젯의 ellipsize/line 제한 정책을 따른다.
|
- 긴 닉네임은 기존 위젯의 ellipsize/line 제한 정책을 따른다.
|
||||||
@@ -173,7 +174,8 @@
|
|||||||
- `랭킹` 탭 선택 시 `GET /api/v2/home/rankings/creators` 응답 item이 `CreatorRankingAdapter`에 전달된다.
|
- `랭킹` 탭 선택 시 `GET /api/v2/home/rankings/creators` 응답 item이 `CreatorRankingAdapter`에 전달된다.
|
||||||
- Figma `24:5654`의 Capsule Tab bar는 화면에 존재하지 않는다.
|
- Figma `24:5654`의 Capsule Tab bar는 화면에 존재하지 않는다.
|
||||||
- 1위, 2~7위, 8~10위, 11위 이후 variant가 기존 위젯 정책과 일치한다.
|
- 1위, 2~7위, 8~10위, 11위 이후 variant가 기존 위젯 정책과 일치한다.
|
||||||
- 순위 숫자는 고정 텍스트 박스 내부에서 중앙 정렬되어 Figma와 동일한 시각적 좌측 여백으로 보인다.
|
- 순위 숫자는 Figma `24:5658`의 고정 텍스트 박스 내부에서 중앙 정렬되어 동일한 시각적 좌측 여백으로 보인다.
|
||||||
|
- 1위 순위 박스는 `86x116`, 2~7위는 `56x70`, 8~10위는 `52x50`, 11위 이후 순위 텍스트는 `48x52` 기준으로 표시된다.
|
||||||
- `isNew=true` item은 New badge로 표시된다.
|
- `isNew=true` item은 New badge로 표시된다.
|
||||||
- `isNew=false && (rankChange=null || rankChange=0)` item은 유지 상태로 표시된다.
|
- `isNew=false && (rankChange=null || rankChange=0)` item은 유지 상태로 표시된다.
|
||||||
- `rankChange > 0` item은 상승, `rankChange < 0` item은 하락으로 표시된다.
|
- `rankChange > 0` item은 상승, `rankChange < 0` item은 하락으로 표시된다.
|
||||||
@@ -208,3 +210,5 @@
|
|||||||
- 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-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: 사용자 확인에 따라 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`로 통과했다.
|
- 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`로 통과했다.
|
||||||
|
- 2026-06-09: Figma `24:5658` design context와 screenshot을 재확인해 순위 숫자 박스 및 rank-num 위치의 최신 기준값을 후속 보정 요구사항으로 반영했다.
|
||||||
|
- 2026-06-09: 최신 Figma 수치 보정 후 `./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`, `./gradlew :app:ktlintCheck`가 모두 `BUILD SUCCESSFUL`로 통과했다.
|
||||||
|
|||||||
Reference in New Issue
Block a user