import SwiftUI struct MainContentVoiceOnOnlySection: View { let title: String let items: [OriginalSeriesResponse] let onTapSeries: (Int) -> Void var body: some View { if !items.isEmpty { VStack(alignment: .leading, spacing: SodaSpacing.s12) { SectionTitle(title: title) ScrollView(.horizontal, showsIndicators: false) { HStack(alignment: .top, spacing: SodaSpacing.s14) { ForEach(items) { item in Button { onTapSeries(item.seriesId) } label: { ZStack(alignment: .topLeading) { DownsampledKFImage( url: URL(string: item.coverImageUrl), size: CGSize(width: 122, height: 172) ) .background(Color.gray800) originalTag } .frame(width: 122, height: 172) .clipShape(RoundedRectangle(cornerRadius: SodaSpacing.s14, style: .continuous)) } .buttonStyle(.plain) } } .padding(.horizontal, SodaSpacing.s20) } } } } private var originalTag: some View { HStack(spacing: SodaSpacing.s4) { Image("ic_series_original") .resizable() .scaledToFit() .frame(width: 14, height: 14) Image("img_new_only") .resizable() .scaledToFit() .frame(height: 14) } .padding(.horizontal, SodaSpacing.s8) .padding(.vertical, 5) .background(Color.gray900) } }