From 0916de60f3c6b7d34e5183aee582bdabfc751d73 Mon Sep 17 00:00:00 2001 From: James Magahern Date: Sat, 15 Nov 2025 18:20:03 -0800 Subject: [PATCH] error alert cleanup --- ios/QueueCube/Views/PlaylistView.swift | 30 +++++++++++--------------- 1 file changed, 12 insertions(+), 18 deletions(-) diff --git a/ios/QueueCube/Views/PlaylistView.swift b/ios/QueueCube/Views/PlaylistView.swift index 310aab0..2a7c24e 100644 --- a/ios/QueueCube/Views/PlaylistView.swift +++ b/ios/QueueCube/Views/PlaylistView.swift @@ -58,6 +58,7 @@ struct MediaListView: View { @Binding var model: MediaListViewModel @State private var errorAlertItem: MediaListItem? = nil + @State private var isShowingErrorAlert: Bool = false var body: some View { VStack { @@ -76,6 +77,7 @@ struct MediaListView: View Button { if let _ = item.playbackError { errorAlertItem = item + isShowingErrorAlert = true } else { switch model.mode { case .playlist: @@ -135,28 +137,20 @@ struct MediaListView: View } } } - .alert(.playbackError, isPresented: Binding(get: { - errorAlertItem != nil - }, set: { newValue in - if !newValue { errorAlertItem = nil } - }), actions: { + .alert(.playbackError, isPresented: $isShowingErrorAlert, presenting: errorAlertItem) { item in Button(.cancel, role: .cancel) { errorAlertItem = nil + isShowingErrorAlert = false } - if let item = errorAlertItem { - Button(.delete, role: .destructive) { - model.items.removeAll { $0.id == item.id } - model.onDelete(item) - errorAlertItem = nil - } + Button(.delete, role: .destructive) { + model.items.removeAll { $0.id == item.id } + model.onDelete(item) + errorAlertItem = nil + isShowingErrorAlert = false } - }, message: { - if let message = errorAlertItem?.playbackError { - Text(message) - } else { - Text("Unknown error") - } - }) + } message: { item in + Text(item.playbackError ?? "Unknown error") + } } } }