시리즈 상세 추가
This commit is contained in:
@@ -0,0 +1,140 @@
|
||||
//
|
||||
// SeriesContentListItemView.swift
|
||||
// SodaLive
|
||||
//
|
||||
// Created by klaus on 4/30/24.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
import Kingfisher
|
||||
|
||||
struct SeriesContentListItemView: View {
|
||||
|
||||
let item: GetSeriesContentListItem
|
||||
|
||||
var body: some View {
|
||||
VStack(spacing: 12) {
|
||||
HStack(spacing: 11) {
|
||||
KFImage(URL(string: item.coverImage))
|
||||
.resizable()
|
||||
.scaledToFit()
|
||||
.frame(width: 66.7, height: 66.7)
|
||||
.cornerRadius(5.3)
|
||||
|
||||
VStack(alignment: .leading, spacing: 2.7) {
|
||||
Text(item.duration)
|
||||
.font(.custom(Font.medium.rawValue, size: 10))
|
||||
.foregroundColor(Color.gray77)
|
||||
.padding(2.7)
|
||||
.background(Color.gray22)
|
||||
.cornerRadius(2.6)
|
||||
|
||||
Text(item.title)
|
||||
.font(.custom(Font.medium.rawValue, size: 12))
|
||||
.foregroundColor(Color.grayd2)
|
||||
}
|
||||
|
||||
Spacer()
|
||||
|
||||
if item.isOwned {
|
||||
Text("소장중")
|
||||
.font(.custom(Font.medium.rawValue, size: 13.3))
|
||||
.foregroundColor(Color.gray11)
|
||||
.padding(.horizontal, 5.3)
|
||||
.padding(.vertical, 2.7)
|
||||
.background(Color(hex: "b1ef2c"))
|
||||
.cornerRadius(2.6)
|
||||
} else if item.isRented {
|
||||
Text("대여중")
|
||||
.font(.custom(Font.medium.rawValue, size: 13.3))
|
||||
.foregroundColor(Color.white)
|
||||
.padding(.horizontal, 5.3)
|
||||
.padding(.vertical, 2.7)
|
||||
.background(Color(hex: "660fd4"))
|
||||
.cornerRadius(2.6)
|
||||
} else if item.price > 0 {
|
||||
HStack(spacing: 5.3) {
|
||||
Image("ic_can")
|
||||
|
||||
Text("\(item.price)")
|
||||
.font(.custom(Font.medium.rawValue, size: 13.3))
|
||||
.foregroundColor(Color(hex: "909090"))
|
||||
}
|
||||
} else {
|
||||
Text("무료")
|
||||
.font(.custom(Font.medium.rawValue, size: 13.3))
|
||||
.foregroundColor(Color.white)
|
||||
.padding(.horizontal, 5.3)
|
||||
.padding(.vertical, 2.7)
|
||||
.background(Color(hex: "cf5c37"))
|
||||
.cornerRadius(2.6)
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle()
|
||||
.foregroundColor(Color.grayd8)
|
||||
.frame(maxWidth: .infinity)
|
||||
.frame(height: 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Preview("무료") {
|
||||
SeriesContentListItemView(
|
||||
item: GetSeriesContentListItem(
|
||||
contentId: 1,
|
||||
title: "[무료] 두근두근 연애 연구부 EP1",
|
||||
coverImage: "https://test-cf.sodalive.net/profile/default-profile.png",
|
||||
releaseDate: "",
|
||||
duration: "00:14:59",
|
||||
price: 0,
|
||||
isRented: false,
|
||||
isOwned: false
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
#Preview("유료") {
|
||||
SeriesContentListItemView(
|
||||
item: GetSeriesContentListItem(
|
||||
contentId: 1,
|
||||
title: "두근두근 연애 연구부 EP1",
|
||||
coverImage: "https://test-cf.sodalive.net/profile/default-profile.png",
|
||||
releaseDate: "",
|
||||
duration: "00:14:59",
|
||||
price: 100,
|
||||
isRented: false,
|
||||
isOwned: false
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
#Preview("대여") {
|
||||
SeriesContentListItemView(
|
||||
item: GetSeriesContentListItem(
|
||||
contentId: 1,
|
||||
title: "두근두근 연애 연구부 EP1",
|
||||
coverImage: "https://test-cf.sodalive.net/profile/default-profile.png",
|
||||
releaseDate: "",
|
||||
duration: "00:14:59",
|
||||
price: 200,
|
||||
isRented: true,
|
||||
isOwned: false
|
||||
)
|
||||
)
|
||||
}
|
||||
|
||||
#Preview("소장") {
|
||||
SeriesContentListItemView(
|
||||
item: GetSeriesContentListItem(
|
||||
contentId: 1,
|
||||
title: "두근두근 연애 연구부 EP1",
|
||||
coverImage: "https://test-cf.sodalive.net/profile/default-profile.png",
|
||||
releaseDate: "",
|
||||
duration: "00:14:59",
|
||||
price: 300,
|
||||
isRented: false,
|
||||
isOwned: true
|
||||
)
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user