// // AuditionDetailView.swift // SodaLive // // Created by klaus on 1/6/25. // import SwiftUI import Kingfisher struct AuditionDetailView: View { @StateObject var viewModel = AuditionDetailViewModel() let auditionId: Int var body: some View { BaseView(isLoading: $viewModel.isLoading) { VStack(spacing: 0) { DetailNavigationBar(title: viewModel.title) if let response = viewModel.response { ScrollView(.vertical, showsIndicators: false) { VStack(alignment: .leading, spacing: 0) { KFImage(URL(string: response.imageUrl)) .cancelOnDisappear(true) .downsampling(size: CGSize(width: 1000, height: 530)) .resizable() .aspectRatio(1000/530, contentMode: .fit) .frame(maxWidth: .infinity) .cornerRadius(6.7) Text("오디션 정보") .font(.custom(Font.bold.rawValue, size: 14.7)) .foregroundColor(Color.grayee) .padding(.top, 15) ExpandableTextView(text: response.information) .padding(.top, 13.3) Text("오디션 캐릭터") .font(.custom(Font.bold.rawValue, size: 14.7)) .foregroundColor(Color.grayee) .padding(.top, 15) LazyVStack(spacing: 25) { ForEach(0..