// // HomeTabView.swift // SodaLive // // Created by klaus on 7/10/25. // import SwiftUI struct HomeTabView: View { @StateObject var viewModel = HomeTabViewModel() @StateObject var liveViewModel = LiveViewModel() @AppStorage("token") private var token: String = UserDefaults.string(forKey: UserDefaultsKey.token) @AppStorage("role") private var role: String = UserDefaults.string(forKey: UserDefaultsKey.role) var body: some View { BaseView(isLoading: $viewModel.isLoading) { ZStack(alignment: .bottomTrailing) { VStack(alignment: .leading, spacing: 0) { HStack(spacing: 24) { Image("img_text_logo") Spacer() if !token.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty { Image("ic_search_white") .onTapGesture { AppState .shared .setAppStep(step: .search) } Image("ic_can_circle") .onTapGesture { AppState .shared .setAppStep(step: .canCharge(refresh: {})) } Image("ic_storage") .onTapGesture { AppState .shared .setAppStep(step: .myBox(currentTab: .orderlist)) } } } .padding(.horizontal, 24) .padding(.vertical, 20) ScrollView(.vertical, showsIndicators: false) { VStack(alignment: .leading, spacing: 48) { if !viewModel.liveList.isEmpty { VStack(alignment: .leading, spacing: 16) { HStack(spacing: 0) { Text("지금") .font(.custom(Font.preBold.rawValue, size: 26)) .foregroundColor(.button) Text(" 라이브중") .font(.custom(Font.preBold.rawValue, size: 26)) .foregroundColor(.white) } .padding(.horizontal, 24) ScrollView(.horizontal, showsIndicators: false) { HStack(spacing: 16) { ForEach(0..