//
//  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()
}
