feat(series-all): 시리즈 전체보기 탭 구성
This commit is contained in:
@@ -9,7 +9,7 @@ import SwiftUI
|
||||
|
||||
struct SeriesMainByGenreView: View {
|
||||
var body: some View {
|
||||
Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
|
||||
Text("시리즈 전체보기 장르별")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import SwiftUI
|
||||
|
||||
struct SeriesMainDayOfWeekView: View {
|
||||
var body: some View {
|
||||
Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
|
||||
Text("시리즈 전체보기 요일별")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ import SwiftUI
|
||||
|
||||
struct SeriesMainHomeView: View {
|
||||
var body: some View {
|
||||
Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/)
|
||||
Text("시리즈 전체보기 홈")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -8,9 +8,63 @@
|
||||
import SwiftUI
|
||||
|
||||
struct SeriesMainView: View {
|
||||
private enum InnerTab: Int, CaseIterable {
|
||||
case home = 0
|
||||
case dayOfWeek = 1
|
||||
case byGenre = 2
|
||||
|
||||
var title: String {
|
||||
switch self {
|
||||
case .home: return "홈"
|
||||
case .dayOfWeek: return "요일별"
|
||||
case .byGenre: return "장르별"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@State private var selectedTab: InnerTab = .home
|
||||
|
||||
var body: some View {
|
||||
BaseView {
|
||||
Text("시리즈 전체보기")
|
||||
NavigationView {
|
||||
BaseView {
|
||||
VStack(spacing: 0) {
|
||||
DetailNavigationBar(title: "시리즈 전체보기")
|
||||
// 내부 탭 (캐릭터 / 톡)
|
||||
HStack(spacing: 0) {
|
||||
ChatInnerTab(
|
||||
title: InnerTab.home.title,
|
||||
isSelected: selectedTab == .home,
|
||||
onTap: { if selectedTab != .home { selectedTab = .home } }
|
||||
)
|
||||
|
||||
ChatInnerTab(
|
||||
title: InnerTab.dayOfWeek.title,
|
||||
isSelected: selectedTab == .dayOfWeek,
|
||||
onTap: { if selectedTab != .dayOfWeek { selectedTab = .dayOfWeek } }
|
||||
)
|
||||
|
||||
|
||||
ChatInnerTab(
|
||||
title: InnerTab.byGenre.title,
|
||||
isSelected: selectedTab == .byGenre,
|
||||
onTap: { if selectedTab != .byGenre { selectedTab = .byGenre } }
|
||||
)
|
||||
}
|
||||
.padding(.bottom, 12)
|
||||
|
||||
Group {
|
||||
switch selectedTab {
|
||||
case .home:
|
||||
SeriesMainHomeView()
|
||||
case .dayOfWeek:
|
||||
SeriesMainDayOfWeekView()
|
||||
case .byGenre:
|
||||
SeriesMainByGenreView()
|
||||
}
|
||||
}
|
||||
.frame(maxWidth: .infinity, maxHeight: .infinity, alignment: .topLeading)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user