fix editing events on mac - they now reload on he fly

add search on mac
fix symbolspicker on mac
This commit is contained in:
neon443
2025-06-14 10:24:03 +01:00
parent 659f14d5a3
commit 6e5b7adbc4
5 changed files with 28 additions and 14 deletions

View File

@@ -31,7 +31,7 @@ struct NearFutureApp: App {
NearFutureCommands() NearFutureCommands()
} }
WindowGroup("edit Event", for: Event.ID.self) { $eventID in WindowGroup("Edit Event", for: Event.ID.self) { $eventID in
EditEventView( EditEventView(
viewModel: viewModel, viewModel: viewModel,
event: Binding( event: Binding(

View File

@@ -11,20 +11,33 @@ struct HomeView: View {
@StateObject var viewModel: EventViewModel @StateObject var viewModel: EventViewModel
@StateObject var settingsModel: SettingsViewModel @StateObject var settingsModel: SettingsViewModel
@State private var searchInput: String = ""
var filteredEvents: [Event] { var filteredEvents: [Event] {
switch settingsModel.settings.showCompletedInHome { if searchInput.isEmpty {
case true: if settingsModel.settings.showCompletedInHome {
return viewModel.events return viewModel.events
case false: } else {
return viewModel.events.filter { !$0.complete } return viewModel.events.filter() { !$0.complete }
}
} else {
return viewModel.events.filter {
$0.name.localizedCaseInsensitiveContains(searchInput) ||
$0.notes.localizedCaseInsensitiveContains(searchInput)
} }
} }
}
var body: some View { var body: some View {
ScrollView { ScrollView {
ForEach(filteredEvents) { event in ForEach(viewModel.events) { event in
if filteredEvents.contains(event) {
EventListView(viewModel: viewModel, event: event) EventListView(viewModel: viewModel, event: event)
.id(event)
} }
} }
}
.searchable(text: $searchInput)
.scrollContentBackground(.hidden) .scrollContentBackground(.hidden)
} }
} }

View File

@@ -59,6 +59,7 @@ struct AddEventView: View {
searchLabel: "Search...", searchLabel: "Search...",
autoDismiss: true) autoDismiss: true)
.presentationDetents([.medium]) .presentationDetents([.medium])
.presentationSizing(.form)
} }
TextField("Event Name", text: $event.name) TextField("Event Name", text: $event.name)
.textFieldStyle(.roundedBorder) .textFieldStyle(.roundedBorder)

View File

@@ -13,7 +13,7 @@ import UIKit
import AppKit import AppKit
#endif #endif
struct ColorCodable: Codable, Equatable { struct ColorCodable: Codable, Equatable, Hashable {
init(_ color: Color) { init(_ color: Color) {
var r: CGFloat = 0, g: CGFloat = 0, b: CGFloat = 0, a: CGFloat = 1 var r: CGFloat = 0, g: CGFloat = 0, b: CGFloat = 0, a: CGFloat = 1

View File

@@ -24,7 +24,7 @@ import AppKit
// } // }
//} //}
struct Event: Identifiable, Codable, Equatable, Animatable { struct Event: Identifiable, Codable, Equatable, Animatable, Hashable {
var id = UUID() var id = UUID()
var name: String var name: String
var complete: Bool var complete: Bool