// // 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})) }