내 보관함, 재생목록 리스트 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