mirror of
https://github.com/neon443/NearFuture.git
synced 2026-03-11 06:49:12 +00:00
fix editing events on mac - they now reload on he fly
add search on mac fix symbolspicker on mac
This commit is contained in:
@@ -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(
|
||||||
|
|||||||
@@ -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 {
|
||||||
var body: some View {
|
return viewModel.events.filter {
|
||||||
ScrollView {
|
$0.name.localizedCaseInsensitiveContains(searchInput) ||
|
||||||
ForEach(filteredEvents) { event in
|
$0.notes.localizedCaseInsensitiveContains(searchInput)
|
||||||
EventListView(viewModel: viewModel, event: event)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
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)
|
.scrollContentBackground(.hidden)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user