fix editing events

This commit is contained in:
neon443
2025-06-15 15:41:37 +01:00
parent 5c667679d5
commit 6533fb85ed
3 changed files with 21 additions and 28 deletions

View File

@@ -28,10 +28,8 @@ struct AddEventView: View {
var isMac: Bool {
if #available(iOS 1, *) {
return false
} else if #available(macOS 10, *) {
return true
} else {
return false
return true
}
}
@@ -180,6 +178,19 @@ struct AddEventView: View {
}
}
}
ToolbarItem(placement: .confirmationAction) {
if !adding {
Button() {
viewModel.editEvent(event)
dismiss()
} label: {
Text("Done")
.bold()
.foregroundStyle(.blue)
}
.disabled(event.name == "")
}
}
}
.navigationTitle("Editing \(event.name) - Ne")
}

View File

@@ -12,19 +12,6 @@ struct EditEventView: View {
@ObservedObject var viewModel: EventViewModel
@Binding var event: Event
fileprivate func saveEdits() {
//if there is an event in vM.events with the id of the event we r editing,
//firstindex - loops through the arr and finds first element where that events id matches editing event's id
if let index = viewModel.events.firstIndex(where: { xEvent in
xEvent.id == event.id
}) {
viewModel.events[index] = event
}
viewModel.saveEvents()
dismiss()
}
var body: some View {
AddEventView(
viewModel: viewModel,
@@ -32,18 +19,6 @@ struct EditEventView: View {
adding: false //bc we editing existing event
)
.navigationTitle("Edit Event")
.toolbar {
ToolbarItem(placement: .confirmationAction) {
Button() {
saveEdits()
} label: {
Text("Done")
.bold()
.foregroundStyle(.blue)
}
.disabled(event.name == "")
}
}
}
}

View File

@@ -222,6 +222,13 @@ class EventViewModel: ObservableObject, @unchecked Sendable {
saveEvents() //sync with icloud
}
func editEvent(_ editedEvent: Event) {
if let index = events.firstIndex(where: { editedEvent.id == $0.id }) {
self.events[index] = editedEvent
saveEvents()
}
}
func completeEvent(_ event: inout Event) {
withAnimation { event.complete.toggle() }
let eventToModify = self.events.firstIndex() { currEvent in