mirror of
https://github.com/yattee/yattee.git
synced 2024-12-15 06:40:32 +05:30
32 lines
745 B
Swift
32 lines
745 B
Swift
|
import SwiftUI
|
||
|
|
||
|
struct ListView: View {
|
||
|
var items: [ContentItem]
|
||
|
var limit: Int? = 10
|
||
|
|
||
|
var body: some View {
|
||
|
LazyVStack(alignment: .leading) {
|
||
|
ForEach(limitedItems) { item in
|
||
|
ContentItemView(item: item)
|
||
|
.environment(\.listingStyle, .list)
|
||
|
.environment(\.noListingDividers, limit == 1)
|
||
|
.transition(.opacity)
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
var limitedItems: [ContentItem] {
|
||
|
if let limit, limit >= 0 {
|
||
|
return Array(items.prefix(limit))
|
||
|
}
|
||
|
|
||
|
return items
|
||
|
}
|
||
|
}
|
||
|
|
||
|
struct ListView_Previews: PreviewProvider {
|
||
|
static var previews: some View {
|
||
|
ListView(items: [.init(video: .fixture)])
|
||
|
}
|
||
|
}
|