From 438f12024ff5817d3890132d6966bce310a6ac8b Mon Sep 17 00:00:00 2001 From: Yu Sung Date: Sat, 15 Nov 2025 02:32:53 +0900 Subject: [PATCH] =?UTF-8?q?feat(series-all-home):=20=EC=8B=9C=EB=A6=AC?= =?UTF-8?q?=EC=A6=88=20=EC=A0=84=EC=B2=B4=EB=B3=B4=EA=B8=B0=20=ED=99=88=20?= =?UTF-8?q?=ED=83=AD=20=EB=B0=B0=EB=84=88=20UI=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Main/Home/SeriesMainHomeBannerView.swift | 118 ++++++++++++++++++ .../Series/Main/Home/SeriesMainHomeView.swift | 3 +- .../Main/Home/SeriesMainHomeViewModel.swift | 4 +- 3 files changed, 123 insertions(+), 2 deletions(-) create mode 100644 SodaLive/Sources/Content/Series/Main/Home/SeriesMainHomeBannerView.swift diff --git a/SodaLive/Sources/Content/Series/Main/Home/SeriesMainHomeBannerView.swift b/SodaLive/Sources/Content/Series/Main/Home/SeriesMainHomeBannerView.swift new file mode 100644 index 0000000..dff2950 --- /dev/null +++ b/SodaLive/Sources/Content/Series/Main/Home/SeriesMainHomeBannerView.swift @@ -0,0 +1,118 @@ +// +// SeriesMainHomeBannerView.swift +// SodaLive +// +// Created by klaus on 11/15/25. +// + +import SwiftUI + +struct SeriesMainHomeBannerView: View { + let bannerList: [SeriesBannerResponse] + + @State var currentIndex = 0 + @State var timer = Timer.publish(every: 4, on: .main, in: .common).autoconnect() + + @State var width: CGFloat = 0 + @State var height: CGFloat = 0 + + var body: some View { + VStack(spacing: 0) { + TabView(selection: $currentIndex) { + ForEach(0...self, from: responseData) if let data = decoded.data, decoded.success { - DEBUG_LOG("data: \(data)") + self.banners = data.banners } else { if let message = decoded.message { self.errorMessage = message