feat: 메인 라이브

- 최근 종료한 라이브 UI 추가
This commit is contained in:
Yu Sung
2025-07-22 03:58:10 +09:00
parent 0b04aa20a3
commit 624c12817e
3 changed files with 123 additions and 0 deletions

View File

@@ -0,0 +1,68 @@
//
// SectionLatestFinishedLiveView.swift
// SodaLive
//
// Created by klaus on 7/22/25.
//
import SwiftUI
struct SectionLatestFinishedLiveView: View {
let items: [GetLatestFinishedLiveResponse]
@AppStorage("token") private var token: String = UserDefaults.string(forKey: UserDefaultsKey.token)
var body: some View {
VStack(alignment: .leading, spacing: 16) {
HStack(spacing: 0) {
Text("최근")
.font(.custom(Font.preBold.rawValue, size: 24))
.foregroundColor(.button)
Text(" 종료한 라이브")
.font(.custom(Font.preBold.rawValue, size: 24))
.foregroundColor(.white)
}
.padding(.horizontal, 24)
ScrollView(.horizontal, showsIndicators: false) {
HStack(spacing: 16) {
ForEach(0..<items.count, id: \.self) {
let item = items[$0]
LatestFinishedLiveItemView(item: item)
.onTapGesture {
if !token.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
AppState.shared
.setAppStep(step: .creatorDetail(userId: item.memberId))
} else {
AppState.shared
.setAppStep(step: .login)
}
}
}
}
.padding(.horizontal, 24)
}
}
}
}
#Preview {
SectionLatestFinishedLiveView(
items: [
GetLatestFinishedLiveResponse(
memberId: 1,
nickname: "크리에이터 1",
profileImageUrl: "https://cf.sodalive.net/profile/34638/34638-profile-5bfc2bac-3278-48f8-b60c-1294b615f629-8832-1751707083877",
timeAgo: "5분전"
),
GetLatestFinishedLiveResponse(
memberId: 2,
nickname: "크리에이터 2",
profileImageUrl: "https://cf.sodalive.net/profile/34638/34638-profile-5bfc2bac-3278-48f8-b60c-1294b615f629-8832-1751707083877",
timeAgo: "1시간전"
)
]
)
}