Files
TrashBack/TrashTrack/CalendarView.swift

44 lines
1.2 KiB
Swift

//
// CalendarView.swift
// TrashTrack
//
// Created by Oliver Hnát on 12.01.2024.
//
import SwiftUI
extension Color {
init(r: Double, g: Double, b: Double) {
self.init(red: r / 255, green: g / 255, blue: b / 255)
}
}
struct CalendarView: View {
var events: [TrashEvent]
let columns = [GridItem(), GridItem(), GridItem(), GridItem(), GridItem(), GridItem(), GridItem()]
var body: some View {
GeometryReader { geometry in
VStack {
let width = geometry.size.width / 7.5
LazyVGrid(columns: [adaptiveGridItem(width: width)], spacing: 0) {
ForEach(events) { event in
DayView(image: event.trash.image, dayOfTheWeek: "TBD", date: event.id, color: event.trash.color)
.border(Color(r: 217, g: 185, b: 155), 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}))
}