84 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.3 KiB
		
	
	
	
		
			Swift
		
	
	
	
	
	
| //
 | |
| //  TrashModel.swift
 | |
| //  TrashTrack
 | |
| //
 | |
| //  Created by Oliver Hnát on 12.01.2024.
 | |
| //
 | |
| 
 | |
| import Foundation
 | |
| import SwiftUI
 | |
| 
 | |
| struct Trash {
 | |
|     var type: String
 | |
|     var color: Color
 | |
|     var image: Image
 | |
| }
 | |
| 
 | |
| struct TrashEvent: Identifiable {
 | |
|     var id: Int
 | |
|     var trash: Trash
 | |
|     var date: Date
 | |
| }
 | |
| 
 | |
| struct TrashModel {
 | |
|     var trashTypes: [Trash]
 | |
|     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"))
 | |
|         ]
 | |
|         
 | |
|         self.trashEvents = []
 | |
|         let numberOfEvents = 3
 | |
|         for i in 0..<numberOfEvents {
 | |
|             self.trashEvents.append(
 | |
|                 TrashEvent(
 | |
|                     id: i,
 | |
|                     trash: self.trashTypes[0],
 | |
|                     date: Calendar.current.date(byAdding: .day, value: 3 + 7*i, to: Date())!
 | |
|                 )
 | |
|             )
 | |
|         }
 | |
|         
 | |
|         for i in 0..<numberOfEvents {
 | |
|             self.trashEvents.append(
 | |
|                 TrashEvent(
 | |
|                     id: i + 4 + 7,
 | |
|                     trash: self.trashTypes[1],
 | |
|                     date: Calendar.current.date(byAdding: .day, value: 4 + 7 + 7*i, to: Date())!
 | |
|                 )
 | |
|             )
 | |
|         }
 | |
|         
 | |
|         for i in 0..<numberOfEvents {
 | |
|             self.trashEvents.append(
 | |
|                 TrashEvent(
 | |
|                     id: i + 5,
 | |
|                     trash: self.trashTypes[2],
 | |
|                     date: Calendar.current.date(byAdding: .day, value: 5 + 7*i, to: Date())!
 | |
|                 )
 | |
|             )
 | |
|         }
 | |
|         
 | |
|         for i in 0..<numberOfEvents {
 | |
|             self.trashEvents.append(
 | |
|                 TrashEvent(
 | |
|                     id: i + 6 + 7,
 | |
|                     trash: self.trashTypes[3],
 | |
|                     date: Calendar.current.date(byAdding: .day, value: 6 + 7 + 7*i, to: Date())!
 | |
|                 )
 | |
|             )
 | |
|         }
 | |
|         
 | |
|         print(self.trashEvents)
 | |
|     }
 | |
|     
 | |
|     func getTrashEvents() -> [TrashEvent] {
 | |
|         return self.trashEvents
 | |
|     }
 | |
| }
 |