// // RecommendChannelItemView.swift // SodaLive // // Created by klaus on 7/14/25. // import SwiftUI import Kingfisher struct RecommendChannelItemView: View { @AppStorage("token") private var token: String = UserDefaults.string(forKey: UserDefaultsKey.token) let item: RecommendChannelResponse var body: some View { VStack(alignment: .leading, spacing: 12) { HStack(spacing: 6) { KFImage(URL(string: item.creatorProfileImageUrl)) .cancelOnDisappear(true) .resizable() .aspectRatio(contentMode: .fill) .frame(width: 80, height: 80, alignment: .top) .clipShape(Circle()) VStack(alignment: .leading, spacing: 4) { Text(item.creatorNickname) .font(.custom(Font.preBold.rawValue, size: 24)) .foregroundColor(.white) HStack(spacing: 4) { Text("콘텐츠") .font(.custom(Font.preRegular.rawValue, size: 18)) .foregroundColor(.white) Text("\(item.contentCount)") .font(.custom(Font.preBold.rawValue, size: 18)) .foregroundColor(.white) } } } .onTapGesture { if !token.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty { AppState.shared .setAppStep(step: .creatorDetail(userId: item.channelId)) } else { AppState.shared .setAppStep(step: .login) } } ForEach(0..