docs(chat): 채팅 탭 스크롤 요구사항을 기록한다

This commit is contained in:
2026-06-10 15:06:41 +09:00
parent b38e58af9a
commit 70177d8f81
2 changed files with 26 additions and 2 deletions

View File

@@ -81,6 +81,7 @@
- API 요청 `filter``ALL`, `AI`, `DM` 중 하나만 사용한다.
- `chatType``AI`, `DM` 문자열만 사용한다.
- 탭 전환 후 표시할 item이 없으면 목록을 비운다. 별도 empty placeholder는 추가하지 않는다.
- 탭 전환 시점 또는 첫 번째 페이지 로드 시(isAppending = false인 상태) 목록의 스크롤을 최상단으로 이동시킨다.
### Chat Room List
API 응답의 채팅방 목록을 Figma의 `ChatList` 형태로 표시한다.
@@ -258,3 +259,4 @@ data class ChatRoomListItemResponse(
- 2026-06-09: `chatType=DM` item 클릭 이동은 다음 범위로 분리하고, 상대 시간으로 표시하지 않는 올해 메시지의 언어별 날짜 포맷을 한국어 `M월 d일`, 영어 `MMM d`, 일본어 `M月d日`로 보강했다.
- 2026-06-09: 사용자 피드백에 따라 채팅 전용 `view_title_bar_chat.xml` 신규 생성을 제외하고, 기존 `view_title_bar_default.xml`의 우측 아이콘 영역을 가변 개수로 확장해 재사용하는 방향으로 위젯 분류를 갱신했다.
- 2026-06-10: Phase 6에서 채팅 탭 layout 골격과 CapsuleTab selected 색상 보정을 구현했다. 기존 `view_title_bar_default.xml``ll_title_bar_actions`를 추가해 우측 action icon을 가변으로 담을 수 있게 했고, `fragment_v2_main_chat.xml`은 black `ConstraintLayout` root 아래 title bar, `view_capsule_tab_bar`, `rv_chat_rooms`, `btn_chat_floating`만 포함하도록 구성했다. floating button은 `bg_chat_floating_button.xml``soda_400` 원형 배경과 기존 `ic_plus_no_bg`를 사용하며 클릭 동작은 추가하지 않았다. `CapsuleTabBarView`는 PRD 요구대로 selected tab black text, normal tab white text를 사용하도록 수정했다. 검증으로 `ChatMainFragmentLayoutTest`, `CapsuleTabBarViewTest`를 추가했고 `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.main.chat.ChatMainFragmentLayoutTest"`, `./gradlew :app:testDebugUnitTest --tests "kr.co.vividnext.sodalive.v2.widget.*CapsuleTab*"`, `./gradlew :app:mergeDebugResources`, `./gradlew :app:compileDebugKotlin`, `./gradlew :app:ktlintCheck`가 모두 `BUILD SUCCESSFUL`로 통과했다. Phase 7 범위인 `ChatMainFragment` 동작 연결, 실제 title/icon 세팅, filter listener, navigation/click action은 구현하지 않았다.
- 2026-06-10: CapsuleTabBarView의 탭 전환 시 또는 첫 번째 페이지 로드 시(isAppending = false) RecyclerView의 스크롤을 최상단(position 0)으로 이동시키는 추가 요구사항을 수렴하고, 기존 PRD와 Plan-Task 문서를 갱신한 뒤 구현 및 검증을 완료했다.