64 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
//
 | 
						|
//  ContentMainRecommendSeriesView.swift
 | 
						|
//  SodaLive
 | 
						|
//
 | 
						|
//  Created by klaus on 5/7/24.
 | 
						|
//
 | 
						|
 | 
						|
import SwiftUI
 | 
						|
 | 
						|
struct ContentMainRecommendSeriesView: View {
 | 
						|
    
 | 
						|
    @StateObject private var viewModel = ContentMainRecommendSeriesViewModel()
 | 
						|
    
 | 
						|
    var body: some View {
 | 
						|
        ZStack {
 | 
						|
            if !viewModel.seriesList.isEmpty {
 | 
						|
                VStack(alignment: .leading, spacing: 13.3) {
 | 
						|
                    Text("추천 시리즈")
 | 
						|
                        .font(.custom(Font.bold.rawValue, size: 18.3))
 | 
						|
                        .foregroundColor(Color.grayee)
 | 
						|
                    
 | 
						|
                    ScrollView(.horizontal, showsIndicators: false) {
 | 
						|
                        HStack(alignment: .top, spacing: 13.3) {
 | 
						|
                            ForEach(0..<viewModel.seriesList.count, id: \.self) {
 | 
						|
                                let item = viewModel.seriesList[$0]
 | 
						|
                                SeriesListBigItemView(item: item, isVisibleCreator: true)
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                    
 | 
						|
                    HStack(spacing: 8) {
 | 
						|
                        Image("ic_refresh")
 | 
						|
                        
 | 
						|
                        Text("새로고침")
 | 
						|
                            .font(.custom(Font.medium.rawValue, size: 14.7))
 | 
						|
                            .foregroundColor(Color.grayd2)
 | 
						|
                    }
 | 
						|
                    .padding(.vertical, 11)
 | 
						|
                    .frame(maxWidth: .infinity)
 | 
						|
                    .contentShape(Rectangle())
 | 
						|
                    .overlay(
 | 
						|
                        RoundedRectangle(cornerRadius: 26.7)
 | 
						|
                            .stroke(Color.gray90, lineWidth: 1)
 | 
						|
                    )
 | 
						|
                    .onTapGesture {
 | 
						|
                        viewModel.getRecommendSeriesList()
 | 
						|
                    }
 | 
						|
                }
 | 
						|
                .padding(.bottom, 26.7)
 | 
						|
                .padding(.horizontal, 13.3)
 | 
						|
            } else {
 | 
						|
                EmptyView()
 | 
						|
            }
 | 
						|
        }
 | 
						|
        .onAppear {
 | 
						|
            viewModel.getRecommendSeriesList()
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 | 
						|
 | 
						|
#Preview {
 | 
						|
    ContentMainRecommendSeriesView()
 | 
						|
}
 |