From 300c1849fb5eb7dea7b23862766f66e0ecb13779 Mon Sep 17 00:00:00 2001 From: Christoph Hagen Date: Tue, 24 Oct 2023 20:59:15 +0200 Subject: [PATCH] Fix cap deletion --- Caps/ContentView.swift | 6 +++++- Caps/Data/Database.swift | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Caps/ContentView.swift b/Caps/ContentView.swift index 3c81003..8e46f26 100644 --- a/Caps/ContentView.swift +++ b/Caps/ContentView.swift @@ -295,7 +295,7 @@ struct ContentView: View { .alert(Text("Delete cap"), isPresented: $showDeleteCapAlert, actions: { - Button("Delete", role: .destructive, action: saveNewCapName) + Button("Delete", role: .destructive, action: startDeleteCap) Button("Cancel", role: .cancel, action: {}) }, message: { Text("Confirm the deletion of cap \(selectedCapId ?? 0)") @@ -420,12 +420,16 @@ struct ContentView: View { private func startDeleteCap() { guard let cap = selectedCapId else { + print("No cap to delete") return } Task { + print("Deleting cap \(cap)") guard await database.delete(cap: cap) else { + print("Failed to delete cap \(cap)") return } + print("Deleted cap \(cap)") } } } diff --git a/Caps/Data/Database.swift b/Caps/Data/Database.swift index 6beac4b..a26b692 100644 --- a/Caps/Data/Database.swift +++ b/Caps/Data/Database.swift @@ -800,7 +800,9 @@ final class Database: ObservableObject { // Delete cached images images.removeCachedImages(for: cap) // Delete cap - caps[cap] = nil + DispatchQueue.main.async { + self.caps[cap] = nil + } log("Deleted cap \(cap)") return true } catch {