feat: 포인트 내역 UI 추가

This commit is contained in:
Yu Sung
2025-05-20 14:07:03 +09:00
parent f30db6c34a
commit 65373ae418
13 changed files with 554 additions and 9 deletions

View File

@@ -0,0 +1,71 @@
//
// PointUseStatusView.swift
// SodaLive
//
// Created by klaus on 5/20/25.
//
import SwiftUI
struct PointUseStatusView: View {
@StateObject var viewModel = PointStatusViewModel()
var body: some View {
ZStack {
VStack(spacing: 13.3) {
ForEach(viewModel.useStatusItems, id: \.self) { item in
PointUseStatusItemView(item: item)
}
}
.padding(.top, 13.3)
if viewModel.isLoading {
LoadingView()
}
}
.onAppear {
viewModel.getPointUseStatus()
}
}
}
struct PointUseStatusItemView: View {
let item: GetPointUseStatusResponse
var body: some View {
HStack(spacing: 0) {
VStack(alignment: .leading, spacing: 6.7) {
Text(item.title)
.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.point)")
.font(.custom(Font.medium.rawValue, size: 13.3))
.foregroundColor(.grayee)
Image("ic_point")
.resizable()
.frame(width: 26.7, height: 26.7)
.padding(.leading, 6.7)
}
.padding(.horizontal, 13.3)
.padding(.vertical, 16)
.background(Color.gray11)
.cornerRadius(16.7)
.padding(.horizontal, 13.3)
.frame(maxWidth: .infinity)
}
}
#Preview {
PointUseStatusView()
}