|
@@ -1,59 +0,0 @@
|
|
|
-//
|
|
|
|
|
-// ContentView.swift
|
|
|
|
|
-// Todos
|
|
|
|
|
-//
|
|
|
|
|
-// Created by Sam Jaffe on 2/28/26.
|
|
|
|
|
-//
|
|
|
|
|
-
|
|
|
|
|
-import SwiftUI
|
|
|
|
|
-import SwiftData
|
|
|
|
|
-
|
|
|
|
|
-struct ContentView: View {
|
|
|
|
|
- @Environment(\.modelContext) private var modelContext
|
|
|
|
|
- @Query private var items: [Item]
|
|
|
|
|
-
|
|
|
|
|
- var body: some View {
|
|
|
|
|
- NavigationSplitView {
|
|
|
|
|
- List {
|
|
|
|
|
- ForEach(items) { item in
|
|
|
|
|
- NavigationLink {
|
|
|
|
|
- Text("Item at \(item.timestamp, format: Date.FormatStyle(date: .numeric, time: .standard))")
|
|
|
|
|
- } label: {
|
|
|
|
|
- Text(item.timestamp, format: Date.FormatStyle(date: .numeric, time: .standard))
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- .onDelete(perform: deleteItems)
|
|
|
|
|
- }
|
|
|
|
|
- .navigationSplitViewColumnWidth(min: 180, ideal: 200)
|
|
|
|
|
- .toolbar {
|
|
|
|
|
- ToolbarItem {
|
|
|
|
|
- Button(action: addItem) {
|
|
|
|
|
- Label("Add Item", systemImage: "plus")
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- } detail: {
|
|
|
|
|
- Text("Select an item")
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- private func addItem() {
|
|
|
|
|
- withAnimation {
|
|
|
|
|
- let newItem = Item(timestamp: Date())
|
|
|
|
|
- modelContext.insert(newItem)
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- private func deleteItems(offsets: IndexSet) {
|
|
|
|
|
- withAnimation {
|
|
|
|
|
- for index in offsets {
|
|
|
|
|
- modelContext.delete(items[index])
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
-#Preview {
|
|
|
|
|
- ContentView()
|
|
|
|
|
- .modelContainer(for: Item.self, inMemory: true)
|
|
|
|
|
-}
|
|
|