Explorar o código

refactor: remove Project.timestamp

Sam Jaffe hai 2 semanas
pai
achega
cc2ea05010

+ 2 - 6
Todos/Model/Project.swift

@@ -15,14 +15,12 @@ final class Project: Codable, Ordered, Aggregate {
 
   var uuid: UUID = UUID()
   var sortOrder: Int = 0
-  var timestamp: Date
   var name: String = "New Project"
   var category: String = ""
   @Relationship(deleteRule: .cascade, inverse: \Task.project)
   var tasks: [Task] = []
 
-  init(timestamp: Date, sortOrder: Int = 0) {
-    self.timestamp = timestamp
+  init(sortOrder: Int = 0) {
     self.sortOrder = sortOrder
   }
 
@@ -52,11 +50,10 @@ final class Project: Codable, Ordered, Aggregate {
     return rval
   }
 
-  enum CodingKeys: CodingKey { case timestamp, category, name, tasks }
+  enum CodingKeys: CodingKey { case category, name, tasks }
 
   required init(from decoder: any Decoder) throws {
     let container = try decoder.container(keyedBy: CodingKeys.self)
-    timestamp = try container.decode(Date.self, forKey: .timestamp)
     category = try container.decode(String.self, forKey: .category)
     name = try container.decode(String.self, forKey: .name)
     tasks = try container.decode([Task].self, forKey: .tasks)
@@ -65,7 +62,6 @@ final class Project: Codable, Ordered, Aggregate {
 
   func encode(to encoder: any Encoder) throws {
     var container = encoder.container(keyedBy: CodingKeys.self)
-    try container.encode(timestamp, forKey: .timestamp)
     try container.encode(category, forKey: .category)
     try container.encode(tasks, forKey: .tasks)
     try container.encode(name, forKey: .name)

+ 1 - 1
Todos/View/ContentView.swift

@@ -51,7 +51,7 @@ struct ContentView: View {
 
   private func addItem() {
     withAnimation {
-      let newItem = Project(timestamp: Date(), sortOrder: items.count)
+      let newItem = Project(sortOrder: items.count)
       modelContext.insert(newItem)
     }
   }

+ 1 - 3
Todos/View/ProjectPanelView.swift

@@ -17,7 +17,6 @@ struct ProjectPanelView: View {
   @State private var move = false
 
   var body: some View {
-    let style = Date.FormatStyle(date: .numeric, time: .standard)
     HStack {
       TextField("", text: $item.name)
         .font(.title)
@@ -41,7 +40,6 @@ struct ProjectPanelView: View {
           Text(group.name)
         }
       }.help("Default category for new Tasks")
-      Text("Created on \(item.timestamp, format: style)")
     }
     List {
       ForEach($item.tasks.sorted(by: Task.less)) { task in
@@ -91,6 +89,6 @@ struct ProjectPanelView: View {
 }
 
 #Preview {
-  @Previewable @State var item = Project(timestamp: Date())
+  @Previewable @State var item = Project()
   ProjectPanelView(item: item)
 }