내 보관함, 재생목록 리스트 UI 추가
This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
//
|
||||
// ContentPlaylistItemView.swift
|
||||
// SodaLive
|
||||
//
|
||||
// Created by klaus on 12/7/24.
|
||||
//
|
||||
|
||||
import SwiftUI
|
||||
import Kingfisher
|
||||
|
||||
struct ContentPlaylistItemView: View {
|
||||
|
||||
let item: GetPlaylistsItem
|
||||
|
||||
var body: some View {
|
||||
VStack(alignment: .leading, spacing: 8) {
|
||||
HStack(spacing: 11) {
|
||||
KFImage(URL(string: item.coverImageUrl))
|
||||
.cancelOnDisappear(true)
|
||||
.downsampling(size: CGSize(width: 66.7, height: 66.7))
|
||||
.resizable()
|
||||
.scaledToFill()
|
||||
.frame(width: 66.7, height: 66.7, alignment: .center)
|
||||
.cornerRadius(5.3)
|
||||
.clipped()
|
||||
|
||||
VStack(alignment: .leading, spacing: 7) {
|
||||
Text(item.title)
|
||||
.font(.custom(Font.bold.rawValue, size: 14.7))
|
||||
.foregroundColor(Color.grayd2)
|
||||
.lineLimit(1)
|
||||
|
||||
if !item.desc.trimmingCharacters(in: .whitespacesAndNewlines).isEmpty {
|
||||
Text(item.desc)
|
||||
.font(.custom(Font.medium.rawValue, size: 12))
|
||||
.foregroundColor(Color.gray90)
|
||||
.lineLimit(1)
|
||||
}
|
||||
|
||||
Text("총 \(item.contentCount)개")
|
||||
.font(.custom(Font.medium.rawValue, size: 12))
|
||||
.foregroundColor(Color.gray90)
|
||||
.lineLimit(1)
|
||||
}
|
||||
}
|
||||
|
||||
Rectangle()
|
||||
.frame(height: 1)
|
||||
.foregroundColor(Color.gray55)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Preview {
|
||||
ContentPlaylistItemView(
|
||||
item: GetPlaylistsItem(
|
||||
id: 1,
|
||||
title: "토스트",
|
||||
desc: "테슬라 네",
|
||||
contentCount: 2,
|
||||
coverImageUrl: "https://test-cf.sodalive.net/profile/default-profile.png"
|
||||
)
|
||||
)
|
||||
}
|
||||
Reference in New Issue
Block a user