커뮤니티 유료 게시글 조회, 구매 기능 추가
This commit is contained in:
92
SodaLive/Sources/Dialog/CommunityPostPurchaseDialog.swift
Normal file
92
SodaLive/Sources/Dialog/CommunityPostPurchaseDialog.swift
Normal file
@@ -0,0 +1,92 @@
|
||||
//
|
||||
// CommunityPostPurchaseDialog.swift
|
||||
// SodaLive
|
||||
//
|
||||
// Created by klaus on 5/24/24.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
|
||||
struct CommunityPostPurchaseDialog: View {
|
||||
|
||||
@Binding var isShowing: Bool
|
||||
|
||||
let can: Int
|
||||
let confirmAction: () -> Void
|
||||
|
||||
var body: some View {
|
||||
GeometryReader { geo in
|
||||
ZStack {
|
||||
Color.black
|
||||
.opacity(0.5)
|
||||
.frame(width: geo.size.width, height: geo.size.height)
|
||||
|
||||
VStack(spacing: 0) {
|
||||
Text("게시글 보기")
|
||||
.font(.custom(Font.bold.rawValue, size: 18.3))
|
||||
.foregroundColor(Color.graybb)
|
||||
.padding(.top, 40)
|
||||
|
||||
Text("게시글을\n확인하시겠습니까?")
|
||||
.font(.custom(Font.medium.rawValue, size: 15))
|
||||
.foregroundColor(Color.graybb)
|
||||
.multilineTextAlignment(.center)
|
||||
.padding(.top, 12)
|
||||
.padding(.horizontal, 13.3)
|
||||
|
||||
HStack(spacing: 13.3) {
|
||||
Text("취소")
|
||||
.font(.custom(Font.bold.rawValue, size: 15.3))
|
||||
.foregroundColor(Color.button)
|
||||
.padding(.vertical, 16)
|
||||
.frame(width: (geo.size.width - 66.7) / 3)
|
||||
.background(Color.bg)
|
||||
.cornerRadius(8)
|
||||
.overlay(
|
||||
RoundedRectangle(cornerRadius: 8)
|
||||
.stroke(Color.button, lineWidth: 1)
|
||||
)
|
||||
.onTapGesture {
|
||||
isShowing = false
|
||||
}
|
||||
|
||||
HStack(spacing: 0) {
|
||||
Text("\(can)")
|
||||
.font(.custom(Font.bold.rawValue, size: 15.3))
|
||||
.foregroundColor(Color.white)
|
||||
|
||||
Image("ic_can")
|
||||
.resizable()
|
||||
.frame(width: 20, height: 20)
|
||||
|
||||
Text("으로 보기")
|
||||
.font(.custom(Font.bold.rawValue, size: 15.3))
|
||||
.foregroundColor(Color.white)
|
||||
}
|
||||
.padding(.vertical, 16)
|
||||
.frame(width: (geo.size.width - 66.7) * 2 / 3)
|
||||
.background(Color.button)
|
||||
.cornerRadius(8)
|
||||
.onTapGesture {
|
||||
confirmAction()
|
||||
isShowing = false
|
||||
}
|
||||
}
|
||||
.padding(.top, 26.7)
|
||||
.padding(.bottom, 16.7)
|
||||
}
|
||||
.frame(width: geo.size.width - 26.7, alignment: .center)
|
||||
.background(Color.gray22)
|
||||
.cornerRadius(10)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Preview {
|
||||
CommunityPostPurchaseDialog(
|
||||
isShowing: .constant(true),
|
||||
can: 10,
|
||||
confirmAction: {}
|
||||
)
|
||||
}
|
Reference in New Issue
Block a user