feat(main): 콘텐츠 탭 타이틀바를 정리한다
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
- 문서 정책: `docs/agent-guides/documentation-policy.md`
|
||||
- Figma 전체 화면: `https://www.figma.com/design/HmN1yNdJ3EIpqknFL0Hkab/-%EA%B3%B5%EC%9C%A0%EC%9A%A9-%EB%B3%B4%EC%9D%B4%EC%8A%A4%EC%98%A8-UI-UX-%EA%B8%B0%ED%9A%8D%EB%AC%B8%EC%84%9C?node-id=24-6737&m=dev`
|
||||
- Figma 전체 화면 node: `24:6737`
|
||||
- Figma title bar: `24:6738`
|
||||
- Figma 배너: `24:6741`
|
||||
- Figma 새로 올라온 오디오: `24:6751`
|
||||
- Figma New&Hot: `24:6758`
|
||||
@@ -24,6 +25,7 @@
|
||||
- 메인 하단 `콘텐츠` 탭 안에 내부 `추천` 탭 화면을 구현한다.
|
||||
- API endpoint는 `GET /api/v2/audio/recommendations`를 사용한다.
|
||||
- title bar와 내부 tab bar는 고정하고, 배너부터 하위 콘텐츠만 세로 스크롤한다.
|
||||
- title bar는 Figma `24:6738` 기준으로 좌측에 메인 탭명 `콘텐츠`, 우측에 `cash`/`search`/`storage` 액션을 표시한다.
|
||||
- Figma에 보이는 섹션별로 Phase를 분리한다.
|
||||
- 이번 범위에서 `추천 시리즈`, `키워드의 오디오`는 구현하지 않는다.
|
||||
- `V2` 패키지 하위에 구현된 재사용 가능한 위젯 후보를 먼저 확인하고 필요한 경우 최소 보완한다.
|
||||
@@ -62,6 +64,7 @@
|
||||
- 여러 화면에서 재사용 근거가 있는 UI만 `SodaLive/Sources/V2/Component/**`로 승격한다.
|
||||
- `MainView`는 `.content` 탭에서 신규 콘텐츠 탭 root를 보여주고, 상세 진입 guard callback만 전달한다.
|
||||
- 콘텐츠 탭 root는 title bar와 내부 tab bar를 고정 영역으로 두고, 추천 탭 body 내부에서만 `ScrollView`를 사용한다.
|
||||
- 콘텐츠 탭 root의 title bar는 `DefaultTitleBar(title: MainTab.content.title)`를 사용하고, 홈 탭은 기존 `HomeTitleBar`를 유지한다.
|
||||
- 섹션 배열이 비어 있으면 해당 섹션을 숨긴다.
|
||||
- 전체 응답이 비어 있거나 API 실패/디코딩 실패 시 최소 empty 또는 error 상태를 표시한다.
|
||||
- 오디오 상세 진입은 기존 `handleRecommendationContentTap(contentId:)`의 로그인/성인 콘텐츠 guard 흐름을 재사용한다.
|
||||
@@ -93,8 +96,10 @@
|
||||
|
||||
## 재사용 가능한 V2 위젯 후보
|
||||
|
||||
- `SodaLive/Sources/V2/Component/DefaultTitleBar.swift`
|
||||
- 콘텐츠 탭 title bar의 좌측 고정 title과 우측 액션 영역 기준 후보.
|
||||
- `SodaLive/Sources/V2/Component/HomeTitleBar.swift`
|
||||
- 콘텐츠 탭 title bar와 우측 액션 영역의 기준 후보.
|
||||
- 홈 탭 title bar 기준 후보이며, 콘텐츠 탭에는 사용하지 않는다.
|
||||
- `SodaLive/Sources/V2/Component/TextTabBar.swift`
|
||||
- 내부 `추천` 탭 bar 구성 후보.
|
||||
- `SodaLive/Sources/V2/Component/Banner/BannerCarousel.swift`
|
||||
@@ -635,3 +640,14 @@
|
||||
- 새로 올라온 오디오, 무료 오디오, 포인트 오디오, 추천 오디오 섹션이 `AudioContentThumbnailCard`를 사용하도록 정리했다.
|
||||
- 기존 `MainContentAudioTagOverlay.swift`를 삭제하고 신규 공용 card 파일을 Xcode project에 추가했다.
|
||||
- `plutil`은 `OK`, `xcodebuild`는 `BUILD SUCCEEDED`로 통과했다.
|
||||
- 2026-07-08 콘텐츠 탭 title bar Figma 반영:
|
||||
- 실행/확인:
|
||||
- Figma node `24:6738`
|
||||
- `SodaLive/Sources/V2/Main/Content/MainContentView.swift`
|
||||
- `SodaLive/Sources/V2/Main/MainView.swift`
|
||||
- `SodaLive/Sources/V2/Component/DefaultTitleBar.swift`
|
||||
- `SodaLive/Sources/V2/Component/HomeTitleBar.swift`
|
||||
- 결과:
|
||||
- 콘텐츠 탭 title bar를 `DefaultTitleBar(title: MainTab.content.title)`로 변경해 좌측에 메인 탭명 `콘텐츠`를 고정 표시하도록 반영했다.
|
||||
- 우측 액션은 `ic_bar_cash`, `ic_bar_search`, `ic_bar_storage` 순서로 정리하고, `ic_bar_storage`는 `MainContentView.onTapStorage`와 `MainView.handleContentStorageTap`을 통해 `.myBox(currentTab: .orderlist)`로 이동하도록 연결했다.
|
||||
- 홈 탭은 기존 `HomeTitleBar`와 `ic_bar_bell` 동작을 유지한다.
|
||||
|
||||
Reference in New Issue
Block a user