sodalive-ios/SodaLive/Sources/Content/Playlist/Create/PlaylistCreateContentView.s...

67 lines
2.5 KiB
Swift

//
// PlaylistCreateContentView.swift
// SodaLive
//
// Created by klaus on 12/8/24.
//
import SwiftUI
import Kingfisher
struct PlaylistCreateContentView: View {
let content: AudioContentPlaylistContent
var body: some View {
HStack(spacing: 13.3) {
KFImage(URL(string: content.coverUrl))
.cancelOnDisappear(true)
.downsampling(size: CGSize(width: 40, height: 40))
.resizable()
.scaledToFill()
.frame(width: 40, height: 40, alignment: .center)
.cornerRadius(5.3)
VStack(alignment: .leading, spacing: 6.7) {
HStack(spacing: 8) {
Text(content.category)
.font(.custom(Font.medium.rawValue, size: 8))
.foregroundColor(Color(hex: "3bac6a"))
.padding(2.6)
.background(Color(hex: "28312b"))
.cornerRadius(2.6)
Text(content.duration)
.font(.custom(Font.medium.rawValue, size: 8))
.foregroundColor(Color.gray77)
.padding(2.6)
.background(Color.gray22)
.cornerRadius(2.6)
}
Text(content.title)
.font(.custom(Font.medium.rawValue, size: 12))
.foregroundColor(Color.grayd2)
.multilineTextAlignment(.leading)
.lineLimit(3)
.truncationMode(.tail)
.fixedSize(horizontal: false, vertical: true)
}
}
}
}
#Preview {
PlaylistCreateContentView(
content: AudioContentPlaylistContent(
id: 1,
title: "안녕하세요 오늘은 커버곡을 들려드리려고 해요안녕하세요 오늘은 커버곡을 들려드리려고 해요안녕하세요 오늘은 커버곡을 들려드리려고 해요안녕하세요 오늘은 커버곡을 들려드리려고 해요안녕하세요 오늘은 커버곡을 들려드리려고 해요안녕하세요 오늘은 커버곡을 들려드리려고 해요",
category: "커버곡",
coverUrl: "https://test-cf.sodalive.net/profile/default-profile.png",
duration: "00:30:20",
creatorNickname: "유저1",
creatorProfileUrl: "https://test-cf.sodalive.net/profile/default-profile.png"
)
)
}