diff --git a/AutoCat/Screens/EventsScreen/EventsScreen.swift b/AutoCat/Screens/EventsScreen/EventsScreen.swift index edaee12..2554dad 100644 --- a/AutoCat/Screens/EventsScreen/EventsScreen.swift +++ b/AutoCat/Screens/EventsScreen/EventsScreen.swift @@ -14,6 +14,8 @@ struct EventsScreen: View { @State var viewModel: EventsViewModel @State var selectedEvent: EventModel? + @State var deleteConfirmationPresented: Bool = false + @State var eventToDelete: EventModel? init(viewModel: EventsViewModel) { self.viewModel = viewModel @@ -58,6 +60,18 @@ struct EventsScreen: View { } message: { event in Text(viewModel.getConfirmMessge(from: event)) } + .confirmationDialog(eventToDelete?.address ?? "", + isPresented: $deleteConfirmationPresented, + titleVisibility: .visible) { + + Button("Delete", role: .destructive) { + if let eventToDelete { + Task { await viewModel.deleteEvent(eventToDelete) } + } + } + } message: { + Text("Are you sure you want to delete this event?") + } } @@ -131,7 +145,8 @@ struct EventsScreen: View { } Button(role: .destructive) { - Task { await viewModel.deleteEvent(event) } + eventToDelete = event + deleteConfirmationPresented = true } label: { Label(useLabels ? "Delete" : "", systemImage: "trash") } diff --git a/AutoCat/ru.lproj/Localizable.strings b/AutoCat/ru.lproj/Localizable.strings index 8143a19..8b2327f 100644 --- a/AutoCat/ru.lproj/Localizable.strings +++ b/AutoCat/ru.lproj/Localizable.strings @@ -419,3 +419,5 @@ "Open in Maps" = "Открыть на карте"; "Something went wrong" = "Что-то пошло не так"; + +"Are you sure you want to delete this event?" = "Вы уверены, что хотите удалить это событие?";