mirror of
https://github.com/FBukovina/Atoll.git
synced 2026-10-27 15:14:33 +00:00
Hide all day events thingy
This commit is contained in:
parent
27e6172e99
commit
efc1c7b422
3 changed files with 39 additions and 8 deletions
|
|
@ -2734,6 +2734,10 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"All-Day Events" : {
|
||||||
|
"comment" : "A section header that allows the user to hide all-day events from the calendar view.",
|
||||||
|
"isCommentAutoGenerated" : true
|
||||||
|
},
|
||||||
"Allow Access" : {
|
"Allow Access" : {
|
||||||
"localizations" : {
|
"localizations" : {
|
||||||
"ar" : {
|
"ar" : {
|
||||||
|
|
@ -19127,6 +19131,10 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"Turn this off to include all-day entries in the notch calendar and reminder live activity." : {
|
||||||
|
"comment" : "A description of why the user can disable the \"Hide all-day events\" toggle.",
|
||||||
|
"isCommentAutoGenerated" : true
|
||||||
|
},
|
||||||
"Two-finger swipe up on notch to close, two-finger swipe down on notch to open when **Open notch on hover** option is disabled" : {
|
"Two-finger swipe up on notch to close, two-finger swipe down on notch to open when **Open notch on hover** option is disabled" : {
|
||||||
"comment" : "A footer text explaining the gesture control functionality.",
|
"comment" : "A footer text explaining the gesture control functionality.",
|
||||||
"isCommentAutoGenerated" : true,
|
"isCommentAutoGenerated" : true,
|
||||||
|
|
|
||||||
|
|
@ -173,6 +173,8 @@ struct CalendarView: View {
|
||||||
@EnvironmentObject var vm: DynamicIslandViewModel
|
@EnvironmentObject var vm: DynamicIslandViewModel
|
||||||
@ObservedObject private var calendarManager = CalendarManager.shared
|
@ObservedObject private var calendarManager = CalendarManager.shared
|
||||||
@State private var selectedDate = Date()
|
@State private var selectedDate = Date()
|
||||||
|
@Default(.hideAllDayEvents) private var hideAllDayEvents
|
||||||
|
@Default(.hideCompletedReminders) private var hideCompletedReminders
|
||||||
|
|
||||||
var body: some View {
|
var body: some View {
|
||||||
VStack(spacing: 0) {
|
VStack(spacing: 0) {
|
||||||
|
|
@ -205,7 +207,9 @@ struct CalendarView: View {
|
||||||
}
|
}
|
||||||
|
|
||||||
let filteredEvents = EventListView.filteredEvents(
|
let filteredEvents = EventListView.filteredEvents(
|
||||||
events: calendarManager.events
|
events: calendarManager.events,
|
||||||
|
hideCompletedReminders: hideCompletedReminders,
|
||||||
|
hideAllDayEvents: hideAllDayEvents
|
||||||
)
|
)
|
||||||
if filteredEvents.isEmpty {
|
if filteredEvents.isEmpty {
|
||||||
EmptyEventsView(selectedDate: selectedDate)
|
EmptyEventsView(selectedDate: selectedDate)
|
||||||
|
|
@ -260,15 +264,21 @@ struct EventListView: View {
|
||||||
let events: [EventModel]
|
let events: [EventModel]
|
||||||
@Default(.autoScrollToNextEvent) private var autoScrollToNextEvent
|
@Default(.autoScrollToNextEvent) private var autoScrollToNextEvent
|
||||||
@Default(.showFullEventTitles) private var showFullEventTitles
|
@Default(.showFullEventTitles) private var showFullEventTitles
|
||||||
|
@Default(.hideCompletedReminders) private var hideCompletedReminders
|
||||||
|
@Default(.hideAllDayEvents) private var hideAllDayEvents
|
||||||
|
|
||||||
static func filteredEvents(events: [EventModel]) -> [EventModel] {
|
static func filteredEvents(
|
||||||
|
events: [EventModel],
|
||||||
|
hideCompletedReminders: Bool,
|
||||||
|
hideAllDayEvents: Bool
|
||||||
|
) -> [EventModel] {
|
||||||
events.filter { event in
|
events.filter { event in
|
||||||
if event.type.isReminder {
|
if event.type.isReminder {
|
||||||
if case .reminder(let completed) = event.type {
|
if case .reminder(let completed) = event.type {
|
||||||
return !completed || !Defaults[.hideCompletedReminders]
|
return !completed || !hideCompletedReminders
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if event.isAllDay && Defaults[.hideAllDayEvents] {
|
if event.isAllDay && hideAllDayEvents {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
return true
|
return true
|
||||||
|
|
@ -276,7 +286,11 @@ struct EventListView: View {
|
||||||
}
|
}
|
||||||
|
|
||||||
private var filteredEvents: [EventModel] {
|
private var filteredEvents: [EventModel] {
|
||||||
Self.filteredEvents(events: events)
|
Self.filteredEvents(
|
||||||
|
events: events,
|
||||||
|
hideCompletedReminders: hideCompletedReminders,
|
||||||
|
hideAllDayEvents: hideAllDayEvents
|
||||||
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
private func scrollToRelevantEvent(proxy: ScrollViewProxy) {
|
private func scrollToRelevantEvent(proxy: ScrollViewProxy) {
|
||||||
|
|
|
||||||
|
|
@ -1731,8 +1731,6 @@ struct CalendarSettings: View {
|
||||||
.settingsHighlight(id: highlightID("Show calendar"))
|
.settingsHighlight(id: highlightID("Show calendar"))
|
||||||
|
|
||||||
Section(header: Text("Event List")) {
|
Section(header: Text("Event List")) {
|
||||||
Toggle("Hide all-day events", isOn: $hideAllDayEvents)
|
|
||||||
.settingsHighlight(id: highlightID("Hide all-day events"))
|
|
||||||
Toggle("Hide completed reminders", isOn: $hideCompletedReminders)
|
Toggle("Hide completed reminders", isOn: $hideCompletedReminders)
|
||||||
.settingsHighlight(id: highlightID("Hide completed reminders"))
|
.settingsHighlight(id: highlightID("Hide completed reminders"))
|
||||||
Toggle("Show full event titles", isOn: $showFullEventTitles)
|
Toggle("Show full event titles", isOn: $showFullEventTitles)
|
||||||
|
|
@ -1740,6 +1738,17 @@ struct CalendarSettings: View {
|
||||||
Toggle("Auto-scroll to next event", isOn: $autoScrollToNextEvent)
|
Toggle("Auto-scroll to next event", isOn: $autoScrollToNextEvent)
|
||||||
.settingsHighlight(id: highlightID("Auto-scroll to next event"))
|
.settingsHighlight(id: highlightID("Auto-scroll to next event"))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Section(header: Text("All-Day Events")) {
|
||||||
|
Toggle("Hide all-day events", isOn: $hideAllDayEvents)
|
||||||
|
.settingsHighlight(id: highlightID("Hide all-day events"))
|
||||||
|
.disabled(!showCalendar)
|
||||||
|
|
||||||
|
Text("Turn this off to include all-day entries in the notch calendar and reminder live activity.")
|
||||||
|
.font(.caption)
|
||||||
|
.foregroundStyle(.secondary)
|
||||||
|
.fixedSize(horizontal: false, vertical: true)
|
||||||
|
}
|
||||||
|
|
||||||
Section(header: Text("Reminder Live Activity")) {
|
Section(header: Text("Reminder Live Activity")) {
|
||||||
Defaults.Toggle("Enable reminder live activity", key: .enableReminderLiveActivity)
|
Defaults.Toggle("Enable reminder live activity", key: .enableReminderLiveActivity)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue