// // ContentMainReplayAllView.swift // SodaLive // // Created by klaus on 2/22/25. // import SwiftUI struct ContentMainReplayAllView: View { @StateObject var viewModel = ContentNewAllViewModel() var body: some View { NavigationView { BaseView(isLoading: $viewModel.isLoading) { VStack(alignment: .leading, spacing: 13.3) { DetailNavigationBar(title: "새로운 라이브 다시듣기") Text("※ 최근 2주간 등록된 새로운 라이브 다시듣기 입니다.") .appFont(size: 14.7, weight: .medium) .foregroundColor(.graybb) .padding(.horizontal, 13.3) .padding(.vertical, 8) .frame(width: screenSize().width, alignment: .leading) .background(Color.gray22) HStack(spacing: 0) { Text("전체") .appFont(size: 13.3, weight: .medium) .foregroundColor(Color(hex: "e2e2e2")) Text("\(viewModel.totalCount)") .appFont(size: 13.3, weight: .medium) .foregroundColor(Color(hex: "ff5c49")) .padding(.leading, 8) Text("개") .appFont(size: 13.3, weight: .medium) .foregroundColor(Color(hex: "e2e2e2")) .padding(.leading, 2) } .padding(.horizontal, 13.3) ScrollView(.vertical, showsIndicators: false) { let horizontalPadding: CGFloat = 16 let gridSpacing: CGFloat = 16 let itemSize = (screenSize().width - (horizontalPadding * 2) - gridSpacing) / 2 LazyVGrid( columns: Array( repeating: GridItem( .flexible(), spacing: gridSpacing, alignment: .topLeading ), count: 2 ), alignment: .leading, spacing: gridSpacing ) { ForEach(0..