Refactored image in TrashEvent

This commit is contained in:
2024-01-13 00:07:14 +01:00
parent f153b26d2d
commit 01381f9f25
8 changed files with 154 additions and 77 deletions

View File

@@ -1,24 +0,0 @@
//
// ContentView.swift
// TrashTrack
//
// Created by Oliver Hnát on 12.01.2024.
//
import SwiftUI
struct ContentView: View {
var body: some View {
VStack {
Image(systemName: "globe")
.imageScale(.large)
.foregroundStyle(.tint)
Text("Hello, world!")
}
.padding()
}
}
#Preview {
ContentView()
}

View File

@@ -8,26 +8,25 @@
import SwiftUI
struct DayWidgetInfo {
var image: Image
var dayOfTheWeek: String
var date: Int
var color: Color
}
struct DayView: View {
var day: DayWidgetInfo
var image: String
var dayOfTheWeek: String
var date: Int
var color: Color
var body: some View {
ZStack {
Color.init(day.color)
Color.init(color)
.cornerRadius(10)
.scaledToFit()
.frame(maxWidth: .infinity)
VStack {
Text("\(day.dayOfTheWeek)")
Text("\(dayOfTheWeek)")
.frame(maxWidth: .infinity, alignment: .leading)
Text("\(day.date).")
Text("\(date).")
.font(.headline)
day.image
Image(systemName: image)
.font(.caption)
}
}
@@ -37,44 +36,44 @@ struct DayView: View {
#Preview {
VStack {
HStack {
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mon", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "newspaper"), dayOfTheWeek: "Tue", date: 31, color: .blue))
DayView(day: DayWidgetInfo(image: Image(systemName: "waterbottle"), dayOfTheWeek: "Wed", date: 31, color: .orange))
DayView(day: DayWidgetInfo(image: Image(systemName: "trash"), dayOfTheWeek: "Thu", date: 31, color: .gray))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(image: "tree", dayOfTheWeek: "Mon", date: 31, color: .green)
DayView(image: "newspaper", dayOfTheWeek: "Tue", date: 31, color: .blue)
DayView(image: "waterbottle", dayOfTheWeek: "Wed", date: 31, color: .orange)
DayView(image: "trash", dayOfTheWeek: "Thu", date: 31, color: .gray)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
}
HStack {
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
}
HStack {
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
}
HStack {
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
}
HStack {
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(day: DayWidgetInfo(image: Image(systemName: "tree"), dayOfTheWeek: "Mo", date: 31, color: .green))
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
DayView(image: "tree", dayOfTheWeek: "Mo", date: 31, color: .green)
}
}
}

32
TrashTrack/MainView.swift Normal file
View File

@@ -0,0 +1,32 @@
//
// ContentView.swift
// TrashTrack
//
// Created by Oliver Hnát on 12.01.2024.
//
import SwiftUI
struct MainView: View {
var model = TrashModelView()
var body: some View {
VStack {
ForEach(model.getTrashEvents()) { trashEvent in
HStack {
Image(systemName: trashEvent.trash.image)
.imageScale(.large)
.foregroundStyle(.tint)
VStack {
Text(trashEvent.trash.type)
Text(trashEvent.date.ISO8601Format())
}
}
}
}
.padding()
}
}
#Preview {
MainView()
}

View File

@@ -11,7 +11,7 @@ import SwiftUI
struct Trash {
var type: String
var color: Color
var image: Image
var image: String
}
struct TrashEvent: Identifiable {
@@ -21,15 +21,15 @@ struct TrashEvent: Identifiable {
}
struct TrashModel {
var trashTypes: [Trash]
var trashEvents: [TrashEvent]
private (set) var trashTypes: [Trash]
private var trashEvents: [TrashEvent]
init() {
self.trashTypes = [
Trash(type: "plastic", color: Color.orange, image: Image(systemName: "waterbottle")),
Trash(type: "paper", color: Color.orange, image: Image(systemName: "newspaper")),
Trash(type: "bio", color: Color.orange, image: Image(systemName: "tree")),
Trash(type: "residual", color: Color.orange, image: Image(systemName: "trash"))
Trash(type: "plastic", color: Color.orange, image: "waterbottle"),
Trash(type: "paper", color: Color.orange, image: "newspaper"),
Trash(type: "bio", color: Color.orange, image: "tree"),
Trash(type: "residual", color: Color.orange, image: "trash")
]
self.trashEvents = []
@@ -69,7 +69,7 @@ struct TrashModel {
TrashEvent(
id: i + 6 + 7,
trash: self.trashTypes[3],
date: Calendar.current.date(byAdding: .day, value: 6 + 7 + 7*i, to: Date())!
date: Calendar.current.date(byAdding: .day, value: 6 + 7 + 7*i, to: Date())!
)
)
}

View File

@@ -11,7 +11,7 @@ class TrashModelView {
let model = TrashModel()
func getTrashEvents() -> [TrashEvent] {
return model.trashEvents
return model.getTrashEvents()
}
}

View File

@@ -11,7 +11,7 @@ import SwiftUI
struct TrashTrackApp: App {
var body: some Scene {
WindowGroup {
ContentView()
MainView()
}
}
}