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()
}
WindowGroup("edit Event", for: Event.ID.self) { $eventID in
WindowGroup("Edit Event", for: Event.ID.self) { $eventID in
EditEventView(
viewModel: viewModel,
event: Binding(

View File

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

View File

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

View File

@@ -13,7 +13,7 @@ import UIKit
import AppKit
#endif
struct ColorCodable: Codable, Equatable {
struct ColorCodable: Codable, Equatable, Hashable {
init(_ color: Color) {
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 name: String
var complete: Bool