Files
sodalive-ios/SodaLive/Sources/MyPage/Point/Reward/PointRewardStatusView.swift
2025-05-20 14:07:03 +09:00

67 lines
1.6 KiB
Swift

//
// PointRewardStatusView.swift
// SodaLive
//
// Created by klaus on 5/20/25.
//
import SwiftUI
struct PointRewardStatusView: View {
@StateObject var viewModel = PointStatusViewModel()
var body: some View {
ZStack {
VStack(spacing: 13.3) {
ForEach(viewModel.rewardStatusItems, id: \.self) { item in
PointRewardStatusItemView(item: item)
}
}
.padding(.top, 13.3)
if viewModel.isLoading {
LoadingView()
}
}
.onAppear {
viewModel.getPointRewardStatus()
}
}
}
struct PointRewardStatusItemView: View {
let item: GetPointRewardStatusResponse
var body: some View {
HStack(spacing: 0) {
VStack(alignment: .leading, spacing: 6.7) {
Text(item.rewardPoint)
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(.grayee)
Text(item.date)
.font(.custom(Font.medium.rawValue, size: 12))
.foregroundColor(.gray77)
}
Spacer()
Text(item.method)
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(.grayee)
}
.padding(.horizontal, 13.3)
.padding(.vertical, 16)
.background(Color.gray11)
.cornerRadius(16.7)
.padding(.horizontal, 13.3)
.frame(maxWidth: .infinity)
}
}
#Preview {
PointRewardStatusView()
}