Files
MindDump/MindDump/Views/ListDetailView.swift

48 lines
1.5 KiB
Swift

import SwiftUI
struct ListDetailView: View {
@Environment(ListStore.self) private var store
let listID: UUID
@State private var editorItem: TodoItem?
@State private var moveItem: TodoItem?
private var todoList: TodoList? {
store.lists.first { $0.id == listID }
}
var body: some View {
Group {
if let todoList {
if todoList.sortedItems.isEmpty {
ContentUnavailableView("Keine Einträge", systemImage: "tray")
} else {
List {
TodoListView(
items: todoList.sortedItems,
onToggle: { item in
store.toggleItemCompleted(item.id, in: listID)
},
onTap: { item in
editorItem = item
},
onDelete: { item in
store.deleteItem(item.id, from: listID)
},
onMove: { item in
moveItem = item
}
)
}
}
}
}
.navigationTitle(todoList?.name ?? "")
.sheet(item: $editorItem) { item in
TodoEditorView(listID: listID, item: item)
}
.sheet(item: $moveItem) { item in
MoveToListView(itemID: item.id, currentListID: listID)
}
}
}