// // SearchUnifiedView.swift // SodaLive // // Created by klaus on 3/27/25. // import SwiftUI import Kingfisher struct SearchUnifiedView: View { let creatorList: [SearchResponseItem] let contentList: [SearchResponseItem] let searchList: [SearchResponseItem] let onTapMoreCreator: () -> Void let onTapMoreContent: () -> Void let onTapMoreSeries: () -> Void var body: some View { ScrollView(.vertical, showsIndicators: false) { VStack(spacing: 30) { if !creatorList.isEmpty { SearchUnifiedItemView( title: I18n.Search.tabCreator, itemList: creatorList, onTapMore: onTapMoreCreator ) .frame(maxWidth: .infinity) .padding(.horizontal, 13.3) } if !contentList.isEmpty { SearchUnifiedItemView( title: I18n.Search.tabContent, itemList: contentList, onTapMore: onTapMoreContent ) .frame(maxWidth: .infinity) .padding(.horizontal, 13.3) } if !searchList.isEmpty { SearchUnifiedItemView( title: I18n.Search.tabSeries, itemList: searchList, onTapMore: onTapMoreSeries ) .frame(maxWidth: .infinity) .padding(.horizontal, 13.3) } } } } } struct SearchUnifiedItemView: View { let title: String let itemList: [SearchResponseItem] let onTapMore: () -> Void var body: some View { VStack(alignment: .leading, spacing: 13.3) { Text(title) .appFont(size: 16, weight: .bold) .foregroundColor(.grayee) ForEach(0..