mirror of
https://github.com/neon443/NearFuture.git
synced 2026-03-11 14:56:15 +00:00
add homeView respect show completed events in home archive view move inot contentview new mac icon remove mac icons from the variants
62 lines
1.3 KiB
Swift
62 lines
1.3 KiB
Swift
//
|
|
// EditEventView.swift
|
|
// NearFuture
|
|
//
|
|
// Created by neon443 on 21/05/2025.
|
|
//
|
|
|
|
import SwiftUI
|
|
|
|
struct EditEventView: View {
|
|
@Environment(\.dismiss) var dismiss
|
|
@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,
|
|
eventName: $event.name,
|
|
eventComplete: $event.complete,
|
|
eventCompleteDesc: $event.completeDesc,
|
|
eventSymbol: $event.symbol,
|
|
eventColor: $event.color.colorBind,
|
|
eventNotes: $event.notes,
|
|
eventDate: $event.date,
|
|
eventRecurrence: $event.recurrence,
|
|
adding: false //bc we editing existing event
|
|
)
|
|
.navigationTitle("Edit Event")
|
|
.toolbar {
|
|
ToolbarItem(placement: .primaryAction) {
|
|
Button() {
|
|
saveEdits()
|
|
} label: {
|
|
Text("Done")
|
|
.bold()
|
|
}
|
|
.disabled(event.name == "")
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Preview {
|
|
EditEventView(
|
|
viewModel: dummyEventViewModel(),
|
|
event: .constant(dummyEventViewModel().template)
|
|
)
|
|
}
|