// // PlaylistRowView.swift // Yattee // // Row view for displaying a playlist in lists. // import SwiftUI import NukeUI struct PlaylistRowView: View { let playlist: LocalPlaylist var style: VideoRowStyle = .regular private var titleFont: Font { style == .compact ? .subheadline : .headline } var body: some View { HStack(spacing: 12) { // Thumbnail LazyImage(url: playlist.thumbnailURL) { state in if let image = state.image { image .resizable() .aspectRatio(contentMode: .fill) } else { Rectangle() .fill(.quaternary) .overlay { Image(systemName: "music.note.list") .foregroundStyle(.secondary) } } } .frame(width: style.thumbnailWidth, height: style.thumbnailHeight) .clipShape(RoundedRectangle(cornerRadius: 6)) // Info VStack(alignment: .leading, spacing: 4) { Text(playlist.title) .font(titleFont) .lineLimit(style == .large ? 2 : 1) Text("playlist.videoCountDuration \(playlist.videoCount) \(playlist.formattedTotalDuration)") .font(.caption.monospacedDigit()) .foregroundStyle(.secondary) } } } }