// // LiveRoomHeartRankingDialog.swift // SodaLive // // Created by klaus on 11/11/24. // import SwiftUI struct LiveRoomHeartRankingDialog: View { @Binding var isShowing: Bool @Binding var isShowPopup: Bool let errorMessage: String let isLoading: Bool let columns = [GridItem(.flexible())] let heartStatus: GetLiveRoomHeartListResponse? let getHeartStatus: () -> Void var body: some View { ZStack { VStack(spacing: 0) { HStack(spacing: 0) { Text("현재 라이브 하트랭킹") .appFont(size: 14.7, weight: .bold) .foregroundColor(Color.grayee) Spacer() Image("ic_close_white") .onTapGesture { isShowing = false } } if let heartStatus = heartStatus { HStack(alignment: .center, spacing: 0) { Text("합계") .appFont(size: 13.3, weight: .bold) .foregroundColor(Color.grayd2) Spacer() Text("\(heartStatus.totalHeart)") .appFont(size: 14, weight: .medium) .foregroundColor(Color.button) Text("하트") .appFont(size: 10.7, weight: .medium) .foregroundColor(Color.graybb) .padding(.leading, 4) } .padding(.horizontal, 18.7) .padding(.vertical, 10.7) .background(Color.bg) .cornerRadius(8) .padding(.top, 25) HStack(spacing: 0) { Text("전체") .appFont(size: 14.7, weight: .medium) .foregroundColor(Color.grayee) Text(" \(heartStatus.totalCount)") .appFont(size: 12, weight: .medium) .foregroundColor(Color.button) .padding(.leading, 6.7) Text("명") .appFont(size: 12, weight: .medium) .foregroundColor(Color.gray77) Spacer() } .padding(.top, 13.3) ScrollView(showsIndicators: false) { LazyVGrid(columns: columns, spacing: 0) { ForEach(0..