41 lines
1.3 KiB
Swift
41 lines
1.3 KiB
Swift
//
|
|
// CalendarView.swift
|
|
// TrashTrack
|
|
//
|
|
// Created by Oliver Hnát on 12.01.2024.
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
struct CalendarView: View {
|
|
var events: [TrashEvent]
|
|
let columns: [GridItem] = Array(repeating: .init(.adaptive(minimum: 50, maximum: 50)), count: 7)
|
|
var body: some View {
|
|
GeometryReader { geometry in
|
|
VStack {
|
|
let width: CGFloat = geometry.size.width / 8
|
|
LazyVGrid(columns: [adaptiveGridItem(width: width)], spacing: 0) {
|
|
ForEach(0..<events.count) { i in
|
|
let event = events[i]
|
|
DayView(image: event.trash.image, dayOfTheWeek: "TBD", date: event.id, color: event.trash.color)
|
|
// Text(String(event.id))
|
|
.frame(minWidth: 50, minHeight: 50)
|
|
.border(.black, width: 1)
|
|
}
|
|
}
|
|
Spacer(minLength: 0)
|
|
}
|
|
}
|
|
}
|
|
|
|
private func adaptiveGridItem(width: CGFloat) -> GridItem {
|
|
var gridItem = GridItem(.adaptive(minimum: width))
|
|
gridItem.spacing = 0
|
|
return gridItem
|
|
}
|
|
}
|
|
|
|
#Preview {
|
|
CalendarView(events: TrashModel().getTrashEvents().sorted(by: {$0.id < $1.id}))
|
|
}
|