mirror of
https://github.com/neon443/NearFuture.git
synced 2026-03-11 06:49:12 +00:00
fix editing events
This commit is contained in:
@@ -28,10 +28,8 @@ struct AddEventView: View {
|
|||||||
var isMac: Bool {
|
var isMac: Bool {
|
||||||
if #available(iOS 1, *) {
|
if #available(iOS 1, *) {
|
||||||
return false
|
return false
|
||||||
} else if #available(macOS 10, *) {
|
|
||||||
return true
|
|
||||||
} else {
|
} 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")
|
.navigationTitle("Editing \(event.name) - Ne")
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,19 +12,6 @@ struct EditEventView: View {
|
|||||||
@ObservedObject var viewModel: EventViewModel
|
@ObservedObject var viewModel: EventViewModel
|
||||||
@Binding var event: Event
|
@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 {
|
var body: some View {
|
||||||
AddEventView(
|
AddEventView(
|
||||||
viewModel: viewModel,
|
viewModel: viewModel,
|
||||||
@@ -32,18 +19,6 @@ struct EditEventView: View {
|
|||||||
adding: false //bc we editing existing event
|
adding: false //bc we editing existing event
|
||||||
)
|
)
|
||||||
.navigationTitle("Edit Event")
|
.navigationTitle("Edit Event")
|
||||||
.toolbar {
|
|
||||||
ToolbarItem(placement: .confirmationAction) {
|
|
||||||
Button() {
|
|
||||||
saveEdits()
|
|
||||||
} label: {
|
|
||||||
Text("Done")
|
|
||||||
.bold()
|
|
||||||
.foregroundStyle(.blue)
|
|
||||||
}
|
|
||||||
.disabled(event.name == "")
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -222,6 +222,13 @@ class EventViewModel: ObservableObject, @unchecked Sendable {
|
|||||||
saveEvents() //sync with icloud
|
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) {
|
func completeEvent(_ event: inout Event) {
|
||||||
withAnimation { event.complete.toggle() }
|
withAnimation { event.complete.toggle() }
|
||||||
let eventToModify = self.events.firstIndex() { currEvent in
|
let eventToModify = self.events.firstIndex() { currEvent in
|
||||||
|
|||||||
Reference in New Issue
Block a user