parent
7b24b50582
commit
5c15e7d52f
|
@ -36,13 +36,22 @@
|
||||||
"version" : "5.7.1"
|
"version" : "5.7.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"identity" : "app-check",
|
||||||
|
"kind" : "remoteSourceControl",
|
||||||
|
"location" : "https://github.com/google/app-check.git",
|
||||||
|
"state" : {
|
||||||
|
"revision" : "3e464dad87dad2d29bb29a97836789bf0f8f67d2",
|
||||||
|
"version" : "10.18.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"identity" : "firebase-ios-sdk",
|
"identity" : "firebase-ios-sdk",
|
||||||
"kind" : "remoteSourceControl",
|
"kind" : "remoteSourceControl",
|
||||||
"location" : "https://github.com/firebase/firebase-ios-sdk.git",
|
"location" : "https://github.com/firebase/firebase-ios-sdk.git",
|
||||||
"state" : {
|
"state" : {
|
||||||
"revision" : "df2171b0c6afb9e9d4f7e07669d558c510b9f6be",
|
"revision" : "be49849dcba96f2b5ee550d4eceb2c0fa27dade4",
|
||||||
"version" : "10.13.0"
|
"version" : "10.22.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -50,8 +59,8 @@
|
||||||
"kind" : "remoteSourceControl",
|
"kind" : "remoteSourceControl",
|
||||||
"location" : "https://github.com/google/GoogleAppMeasurement.git",
|
"location" : "https://github.com/google/GoogleAppMeasurement.git",
|
||||||
"state" : {
|
"state" : {
|
||||||
"revision" : "03b9beee1a61f62d32c521e172e192a1663a5e8b",
|
"revision" : "482cfa4e5880f0a29f66ecfd60c5a62af28bd1f0",
|
||||||
"version" : "10.13.0"
|
"version" : "10.22.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -59,8 +68,8 @@
|
||||||
"kind" : "remoteSourceControl",
|
"kind" : "remoteSourceControl",
|
||||||
"location" : "https://github.com/google/GoogleDataTransport.git",
|
"location" : "https://github.com/google/GoogleDataTransport.git",
|
||||||
"state" : {
|
"state" : {
|
||||||
"revision" : "aae45a320fd0d11811820335b1eabc8753902a40",
|
"revision" : "a637d318ae7ae246b02d7305121275bc75ed5565",
|
||||||
"version" : "9.2.5"
|
"version" : "9.4.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -68,8 +77,8 @@
|
||||||
"kind" : "remoteSourceControl",
|
"kind" : "remoteSourceControl",
|
||||||
"location" : "https://github.com/google/GoogleUtilities.git",
|
"location" : "https://github.com/google/GoogleUtilities.git",
|
||||||
"state" : {
|
"state" : {
|
||||||
"revision" : "c38ce365d77b04a9a300c31061c5227589e5597b",
|
"revision" : "26c898aed8bed13b8a63057ee26500abbbcb8d55",
|
||||||
"version" : "7.11.5"
|
"version" : "7.13.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -77,8 +86,8 @@
|
||||||
"kind" : "remoteSourceControl",
|
"kind" : "remoteSourceControl",
|
||||||
"location" : "https://github.com/google/grpc-binary.git",
|
"location" : "https://github.com/google/grpc-binary.git",
|
||||||
"state" : {
|
"state" : {
|
||||||
"revision" : "f1b366129d1125be7db83247e003fc333104b569",
|
"revision" : "a673bc2937fbe886dd1f99c401b01b6d977a9c98",
|
||||||
"version" : "1.50.2"
|
"version" : "1.49.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -90,6 +99,15 @@
|
||||||
"version" : "3.1.1"
|
"version" : "3.1.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"identity" : "interop-ios-for-google-sdks",
|
||||||
|
"kind" : "remoteSourceControl",
|
||||||
|
"location" : "https://github.com/google/interop-ios-for-google-sdks.git",
|
||||||
|
"state" : {
|
||||||
|
"revision" : "2d12673670417654f08f5f90fdd62926dc3a2648",
|
||||||
|
"version" : "100.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"identity" : "kingfisher",
|
"identity" : "kingfisher",
|
||||||
"kind" : "remoteSourceControl",
|
"kind" : "remoteSourceControl",
|
||||||
|
|
|
@ -0,0 +1,65 @@
|
||||||
|
//
|
||||||
|
// ContentDetailInfoLimitedEditionView.swift
|
||||||
|
// SodaLive
|
||||||
|
//
|
||||||
|
// Created by klaus on 3/27/24.
|
||||||
|
//
|
||||||
|
|
||||||
|
import SwiftUI
|
||||||
|
|
||||||
|
struct ContentDetailInfoLimitedEditionView: View {
|
||||||
|
|
||||||
|
let totalContentCount: Int
|
||||||
|
let remainingContentCount: Int
|
||||||
|
let orderSequence: Int?
|
||||||
|
|
||||||
|
var body: some View {
|
||||||
|
HStack(spacing: 0) {
|
||||||
|
Text("한정판")
|
||||||
|
.font(.custom(Font.medium.rawValue, size: 13.3))
|
||||||
|
.foregroundColor(Color.button)
|
||||||
|
|
||||||
|
Spacer()
|
||||||
|
|
||||||
|
if let orderSequence = orderSequence {
|
||||||
|
Text("\(orderSequence)")
|
||||||
|
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||||
|
.foregroundColor(Color.button)
|
||||||
|
.padding(.leading, 5.3)
|
||||||
|
|
||||||
|
Text("/")
|
||||||
|
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||||
|
.foregroundColor(Color.grayd2)
|
||||||
|
.padding(.leading, 2.3)
|
||||||
|
|
||||||
|
Text("\(totalContentCount)")
|
||||||
|
.font(.custom(Font.medium.rawValue, size: 13.3))
|
||||||
|
.foregroundColor(Color.grayd2)
|
||||||
|
.padding(.leading, 2.3)
|
||||||
|
} else {
|
||||||
|
Text("잔여수량")
|
||||||
|
.font(.custom(Font.medium.rawValue, size: 13.3))
|
||||||
|
.foregroundColor(Color.grayd2)
|
||||||
|
|
||||||
|
Text("\(remainingContentCount)")
|
||||||
|
.font(.custom(Font.bold.rawValue, size: 13.3))
|
||||||
|
.foregroundColor(Color.button)
|
||||||
|
.padding(.leading, 5.3)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.padding(.vertical, 8)
|
||||||
|
.padding(.horizontal, 10.3)
|
||||||
|
.background(Color(hex: "14262d"))
|
||||||
|
.cornerRadius(5.3)
|
||||||
|
.padding(.top, 13.3)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
#Preview {
|
||||||
|
ContentDetailInfoLimitedEditionView(
|
||||||
|
totalContentCount: 10,
|
||||||
|
remainingContentCount: 3,
|
||||||
|
orderSequence: 5
|
||||||
|
)
|
||||||
|
}
|
|
@ -142,6 +142,14 @@ struct ContentDetailInfoView: View {
|
||||||
}
|
}
|
||||||
.padding(.top, 13.3)
|
.padding(.top, 13.3)
|
||||||
|
|
||||||
|
if let totalContentCount = audioContent.totalContentCount, let remainingContentCount = audioContent.remainingContentCount {
|
||||||
|
ContentDetailInfoLimitedEditionView(
|
||||||
|
totalContentCount: totalContentCount,
|
||||||
|
remainingContentCount: remainingContentCount,
|
||||||
|
orderSequence: audioContent.orderSequence
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
ZStack {
|
ZStack {
|
||||||
VStack(spacing: 8) {
|
VStack(spacing: 8) {
|
||||||
if audioContent.tag.count > 0 {
|
if audioContent.tag.count > 0 {
|
||||||
|
|
|
@ -18,6 +18,9 @@ struct GetAudioContentDetailResponse: Decodable {
|
||||||
let price: Int
|
let price: Int
|
||||||
let duration: String
|
let duration: String
|
||||||
let releaseDate: String?
|
let releaseDate: String?
|
||||||
|
let totalContentCount: Int?
|
||||||
|
let remainingContentCount: Int?
|
||||||
|
let orderSequence: Int?
|
||||||
let isActivePreview: Bool
|
let isActivePreview: Bool
|
||||||
let isAdult: Bool
|
let isAdult: Bool
|
||||||
let isMosaic: Bool
|
let isMosaic: Bool
|
||||||
|
|
Loading…
Reference in New Issue