From 320dbb6d57fbd95f3ac9c058cebe982cfde982bd Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Fri, 14 Nov 2025 23:56:52 +0900 Subject: [PATCH] =?UTF-8?q?feat(series-all):=20=EC=8B=9C=EB=A6=AC=EC=A6=88?= =?UTF-8?q?=20=EC=A0=84=EC=B2=B4=EB=B3=B4=EA=B8=B0=20=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=20=ED=8C=8C=EC=9D=BC=20=EC=83=9D=EC=84=B1=20-=20?= =?UTF-8?q?=ED=99=88=20=EB=B7=B0=EC=9D=98=20=EC=9A=94=EC=9D=BC=EB=B3=84=20?= =?UTF-8?q?=EC=8B=9C=EB=A6=AC=EC=A6=88=EC=97=90=20=EC=A0=84=EC=B2=B4?= =?UTF-8?q?=EB=B3=B4=EA=B8=B0=20=ED=85=8D=EC=8A=A4=ED=8A=B8=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80=20-=20=EC=A0=84=EC=B2=B4=EB=B3=B4=EA=B8=B0=20?= =?UTF-8?q?=ED=84=B0=EC=B9=98=EC=8B=9C=20=EC=8B=9C=EB=A6=AC=EC=A6=88=20?= =?UTF-8?q?=EC=A0=84=EC=B2=B4=EB=B3=B4=EA=B8=B0=20=ED=8E=98=EC=9D=B4?= =?UTF-8?q?=EC=A7=80=EB=A1=9C=20=EC=9D=B4=EB=8F=99=20=EC=95=A1=EC=85=98=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SodaLive/Sources/App/AppStep.swift | 2 ++ .../Content/Series/DayOfWeekSeriesView.swift | 10 ++++++++++ .../Main/ByGenre/SeriesMainByGenreView.swift | 18 +++++++++++++++++ .../ByGenre/SeriesMainByGenreViewModel.swift | 8 ++++++++ .../DayOfWeek/SeriesMainDayOfWeekView.swift | 18 +++++++++++++++++ .../SeriesMainDayOfWeekViewModel.swift | 8 ++++++++ .../Series/Main/Home/SeriesMainHomeView.swift | 18 +++++++++++++++++ .../Main/Home/SeriesMainHomeViewModel.swift | 8 ++++++++ .../Content/Series/Main/SeriesMainApi.swift | 8 ++++++++ .../Series/Main/SeriesMainRepository.swift | 8 ++++++++ .../Content/Series/Main/SeriesMainView.swift | 20 +++++++++++++++++++ SodaLive/Sources/ContentView.swift | 3 +++ 12 files changed, 129 insertions(+) create mode 100644 SodaLive/Sources/Content/Series/Main/ByGenre/SeriesMainByGenreView.swift create mode 100644 SodaLive/Sources/Content/Series/Main/ByGenre/SeriesMainByGenreViewModel.swift create mode 100644 SodaLive/Sources/Content/Series/Main/DayOfWeek/SeriesMainDayOfWeekView.swift create mode 100644 SodaLive/Sources/Content/Series/Main/DayOfWeek/SeriesMainDayOfWeekViewModel.swift create mode 100644 SodaLive/Sources/Content/Series/Main/Home/SeriesMainHomeView.swift create mode 100644 SodaLive/Sources/Content/Series/Main/Home/SeriesMainHomeViewModel.swift create mode 100644 SodaLive/Sources/Content/Series/Main/SeriesMainApi.swift create mode 100644 SodaLive/Sources/Content/Series/Main/SeriesMainRepository.swift create mode 100644 SodaLive/Sources/Content/Series/Main/SeriesMainView.swift diff --git a/SodaLive/Sources/App/AppStep.swift b/SodaLive/Sources/App/AppStep.swift index 27e18a6..6c05c30 100644 --- a/SodaLive/Sources/App/AppStep.swift +++ b/SodaLive/Sources/App/AppStep.swift @@ -171,4 +171,6 @@ enum AppStep { case originalWorkDetail(originalId: Int) case contentAll(isFree: Bool = false, isPointOnly: Bool = false) + + case seriesMain } diff --git a/SodaLive/Sources/Content/Series/DayOfWeekSeriesView.swift b/SodaLive/Sources/Content/Series/DayOfWeekSeriesView.swift index 0c4c367..8f3a754 100644 --- a/SodaLive/Sources/Content/Series/DayOfWeekSeriesView.swift +++ b/SodaLive/Sources/Content/Series/DayOfWeekSeriesView.swift @@ -52,6 +52,16 @@ struct DayOfWeekSeriesView: View { Text(" 시리즈") .font(.custom(Font.preBold.rawValue, size: 24)) .foregroundColor(.white) + + Spacer() + + Text("전체보기") + .font(.custom(Font.preRegular.rawValue, size: 14)) + .foregroundColor(.init(hex: "78909C")) + .onTapGesture { + AppState.shared + .setAppStep(step: .seriesMain) + } } .padding(.horizontal, 24) diff --git a/SodaLive/Sources/Content/Series/Main/ByGenre/SeriesMainByGenreView.swift b/SodaLive/Sources/Content/Series/Main/ByGenre/SeriesMainByGenreView.swift new file mode 100644 index 0000000..ffcbb81 --- /dev/null +++ b/SodaLive/Sources/Content/Series/Main/ByGenre/SeriesMainByGenreView.swift @@ -0,0 +1,18 @@ +// +// SeriesMainByGenreView.swift +// SodaLive +// +// Created by klaus on 11/14/25. +// + +import SwiftUI + +struct SeriesMainByGenreView: View { + var body: some View { + Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/) + } +} + +#Preview { + SeriesMainByGenreView() +} diff --git a/SodaLive/Sources/Content/Series/Main/ByGenre/SeriesMainByGenreViewModel.swift b/SodaLive/Sources/Content/Series/Main/ByGenre/SeriesMainByGenreViewModel.swift new file mode 100644 index 0000000..844fdac --- /dev/null +++ b/SodaLive/Sources/Content/Series/Main/ByGenre/SeriesMainByGenreViewModel.swift @@ -0,0 +1,8 @@ +// +// SeriesMainByGenreViewModel.swift +// SodaLive +// +// Created by klaus on 11/14/25. +// + +import Foundation diff --git a/SodaLive/Sources/Content/Series/Main/DayOfWeek/SeriesMainDayOfWeekView.swift b/SodaLive/Sources/Content/Series/Main/DayOfWeek/SeriesMainDayOfWeekView.swift new file mode 100644 index 0000000..aa4541c --- /dev/null +++ b/SodaLive/Sources/Content/Series/Main/DayOfWeek/SeriesMainDayOfWeekView.swift @@ -0,0 +1,18 @@ +// +// SeriesMainDayOfWeekView.swift +// SodaLive +// +// Created by klaus on 11/14/25. +// + +import SwiftUI + +struct SeriesMainDayOfWeekView: View { + var body: some View { + Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/) + } +} + +#Preview { + SeriesMainDayOfWeekView() +} diff --git a/SodaLive/Sources/Content/Series/Main/DayOfWeek/SeriesMainDayOfWeekViewModel.swift b/SodaLive/Sources/Content/Series/Main/DayOfWeek/SeriesMainDayOfWeekViewModel.swift new file mode 100644 index 0000000..078ab53 --- /dev/null +++ b/SodaLive/Sources/Content/Series/Main/DayOfWeek/SeriesMainDayOfWeekViewModel.swift @@ -0,0 +1,8 @@ +// +// SeriesMainDayOfWeekViewModel.swift +// SodaLive +// +// Created by klaus on 11/14/25. +// + +import Foundation diff --git a/SodaLive/Sources/Content/Series/Main/Home/SeriesMainHomeView.swift b/SodaLive/Sources/Content/Series/Main/Home/SeriesMainHomeView.swift new file mode 100644 index 0000000..7250731 --- /dev/null +++ b/SodaLive/Sources/Content/Series/Main/Home/SeriesMainHomeView.swift @@ -0,0 +1,18 @@ +// +// SeriesMainHomeView.swift +// SodaLive +// +// Created by klaus on 11/14/25. +// + +import SwiftUI + +struct SeriesMainHomeView: View { + var body: some View { + Text(/*@START_MENU_TOKEN@*/"Hello, World!"/*@END_MENU_TOKEN@*/) + } +} + +#Preview { + SeriesMainHomeView() +} diff --git a/SodaLive/Sources/Content/Series/Main/Home/SeriesMainHomeViewModel.swift b/SodaLive/Sources/Content/Series/Main/Home/SeriesMainHomeViewModel.swift new file mode 100644 index 0000000..9ca70ea --- /dev/null +++ b/SodaLive/Sources/Content/Series/Main/Home/SeriesMainHomeViewModel.swift @@ -0,0 +1,8 @@ +// +// SeriesMainHomeViewModel.swift +// SodaLive +// +// Created by klaus on 11/14/25. +// + +import Foundation diff --git a/SodaLive/Sources/Content/Series/Main/SeriesMainApi.swift b/SodaLive/Sources/Content/Series/Main/SeriesMainApi.swift new file mode 100644 index 0000000..cbcf8e0 --- /dev/null +++ b/SodaLive/Sources/Content/Series/Main/SeriesMainApi.swift @@ -0,0 +1,8 @@ +// +// SeriesMainApi.swift +// SodaLive +// +// Created by klaus on 11/14/25. +// + +import Foundation diff --git a/SodaLive/Sources/Content/Series/Main/SeriesMainRepository.swift b/SodaLive/Sources/Content/Series/Main/SeriesMainRepository.swift new file mode 100644 index 0000000..283e155 --- /dev/null +++ b/SodaLive/Sources/Content/Series/Main/SeriesMainRepository.swift @@ -0,0 +1,8 @@ +// +// SeriesMainRepository.swift +// SodaLive +// +// Created by klaus on 11/14/25. +// + +import Foundation diff --git a/SodaLive/Sources/Content/Series/Main/SeriesMainView.swift b/SodaLive/Sources/Content/Series/Main/SeriesMainView.swift new file mode 100644 index 0000000..02d0ee3 --- /dev/null +++ b/SodaLive/Sources/Content/Series/Main/SeriesMainView.swift @@ -0,0 +1,20 @@ +// +// SeriesMainView.swift +// SodaLive +// +// Created by klaus on 11/14/25. +// + +import SwiftUI + +struct SeriesMainView: View { + var body: some View { + BaseView { + Text("시리즈 전체보기") + } + } +} + +#Preview { + SeriesMainView() +} diff --git a/SodaLive/Sources/ContentView.swift b/SodaLive/Sources/ContentView.swift index 17b68ca..a829630 100644 --- a/SodaLive/Sources/ContentView.swift +++ b/SodaLive/Sources/ContentView.swift @@ -265,6 +265,9 @@ struct ContentView: View { case .contentAll(let isFree, let isPointOnly): ContentAllView(isFree: isFree, isPointAvailableOnly: isPointOnly) + case .seriesMain: + SeriesMainView() + default: EmptyView() .frame(width: 0, height: 0, alignment: .topLeading)