feat(creator): 정렬 팝업을 적용한다

This commit is contained in:
Yu Sung
2026-07-04 17:11:19 +09:00
parent c4c18341a6
commit 0dd111f5d6
10 changed files with 306 additions and 161 deletions

View File

@@ -21,7 +21,8 @@ Figma 참조:
- `page`, `size`, `sort`, 선택된 `themeId`를 query parameter로 전달한다.
- 기본값은 `page=0`, `size=20`, `sort=LATEST`, `themeId=nil`이다.
- theme list는 `CapsuleTabBar`를 사용하고, 맨 앞에 전체 항목을 합성한다.
- 정렬 선택 방식은 라이브 탭과 동일한 `CreatorChannelSortBar` + `CreatorChannelSortBottomSheet` 재사용한다.
- 정렬 선택 방식은 라이브 탭과 동일한 `CreatorChannelSortBar` + context popup을 재사용한다.
- sort-bar는 `audioContentCount``0` 이상이면 `전체 {audioContentCount}`를 표시한다.
- 콘텐츠 item은 `CreatorChannelAudioContentListItem`을 재사용한다.
- 전체 테마이고 본인 채널이 아닐 때만 소장률 UI를 표시한다.
- 본인 채널의 오디오 탭에는 `ic_new_upload_audio` 아이콘을 쓰는 하단 CTA를 표시한다.
@@ -103,7 +104,7 @@ data class CreatorChannelAudioThemeResponse(
- 오디오 탭 진입 시 `GET /api/v2/creator-channels/{creatorId}/audio?page=0&size=20&sort=LATEST`가 호출되고, 전체 선택 상태에서는 `themeId`가 전송되지 않는다.
- `themes` 앞에 전체 탭이 표시되고, 응답 `themeId == nil`이면 전체가 선택된다.
- 테마 선택 시 선택한 `themeId`로 첫 페이지를 다시 조회한다.
- 정렬 선택 UI 동작은 라이브 탭과 동일하다.
- 정렬 선택 UI는 BottomSheet가 아니라 sort-bar 우측 버튼 아래 anchored context popup으로 표시되고, 동작은 라이브 탭과 동일하다.
- 본인 채널이 아니고 전체 테마일 때만 소장률 UI가 표시된다.
- 본인 채널이거나 테마 필터 상태이면 소장률 UI가 표시되지 않는다.
- `duration`이 없는 콘텐츠는 목록에 표시되지 않는다.
@@ -113,9 +114,10 @@ data class CreatorChannelAudioThemeResponse(
## 7. Technical Constraints
- 기능 변경은 `SodaLive/Sources/V2/CreatorChannel/**` 하위에서 해결한다.
- 오디오 탭 전용 View, ViewModel, Repository, API, 모델은 `SodaLive/Sources/V2/CreatorChannel/Audio/**` 아래에 둔다.
- 공용 item, sort bar, sort bottom sheet, `CapsuleTabBar`는 기존 구현을 재사용한다.
- 공용 item, sort bar, sort context popup, `CapsuleTabBar`는 기존 구현을 재사용한다.
- 신규 문구는 `SodaLive/Sources/I18n/I18n.swift`에 ko/en/ja를 추가한다.
## 8. Verification Notes
- 2026-07-04: Figma `get_design_context``get_screenshot`으로 `290:9015`, `290:9029`, `290:8965`, `665:19008`을 확인했다.
- 2026-07-04: `CreatorChannelLiveTabView`, `CreatorChannelLiveViewModel`, `CreatorChannelSortBar`, `CapsuleTabBar`, `CreatorChannelAudioContentListItem` 기존 구현을 확인해 재사용 경계를 확정했다.
- 2026-07-04: Figma `290:9034`, `290:9031`을 추가 확인해 sort-bar 전체 개수 표시와 정렬 context popup 전환 요구사항을 반영했다.