22 lines
567 B
Swift
22 lines
567 B
Swift
import SwiftUI
|
|
|
|
struct LibraryGridView: View {
|
|
let items: [LibraryItem]
|
|
let onSelect: (LibraryItem) -> Void
|
|
|
|
private let columns = [GridItem(.adaptive(minimum: 180), spacing: 20)]
|
|
|
|
var body: some View {
|
|
ScrollView {
|
|
LazyVGrid(columns: columns, spacing: 20) {
|
|
ForEach(items) { item in
|
|
LibraryItemCell(item: item)
|
|
.contentShape(Rectangle())
|
|
.onTapGesture { onSelect(item) }
|
|
}
|
|
}
|
|
.padding(20)
|
|
}
|
|
}
|
|
}
|