mirror of
https://github.com/zoriya/noctalia-shell.git
synced 2026-06-03 10:56:16 +00:00
fix: load events from cache before syncing
This commit is contained in:
@@ -41,10 +41,15 @@ Singleton {
|
||||
cacheAdapter.cachedCalendars = ([])
|
||||
cacheAdapter.lastUpdate = ""
|
||||
}
|
||||
|
||||
onLoaded: {
|
||||
loadFromCache()
|
||||
}
|
||||
}
|
||||
|
||||
Component.onCompleted: {
|
||||
Logger.log("Calendar", "Service initialized")
|
||||
loadFromCache()
|
||||
checkAvailability()
|
||||
}
|
||||
|
||||
@@ -59,6 +64,23 @@ Singleton {
|
||||
saveDebounce.restart()
|
||||
}
|
||||
|
||||
// Load events and calendars from cache
|
||||
function loadFromCache() {
|
||||
if (cacheAdapter.cachedEvents && cacheAdapter.cachedEvents.length > 0) {
|
||||
root.events = cacheAdapter.cachedEvents
|
||||
Logger.log("Calendar", `Loaded ${cacheAdapter.cachedEvents.length} cached event(s)`)
|
||||
}
|
||||
|
||||
if (cacheAdapter.cachedCalendars && cacheAdapter.cachedCalendars.length > 0) {
|
||||
root.calendars = cacheAdapter.cachedCalendars
|
||||
Logger.log("Calendar", `Loaded ${cacheAdapter.cachedCalendars.length} cached calendar(s)`)
|
||||
}
|
||||
|
||||
if (cacheAdapter.lastUpdate) {
|
||||
Logger.log("Calendar", `Cache last updated: ${cacheAdapter.lastUpdate}`)
|
||||
}
|
||||
}
|
||||
|
||||
// Auto-refresh timer (every 5 minutes)
|
||||
Timer {
|
||||
id: refreshTimer
|
||||
@@ -150,7 +172,11 @@ Singleton {
|
||||
Logger.log("Calendar", `Found ${result.length} calendar(s)`)
|
||||
|
||||
// Auto-load events after discovering calendars
|
||||
if (result.length > 0) {
|
||||
// Only load if we have calendars and no cached events
|
||||
if (result.length > 0 && root.events.length === 0) {
|
||||
loadEvents()
|
||||
} else if (result.length > 0) {
|
||||
// If we already have cached events, load in background
|
||||
loadEvents()
|
||||
}
|
||||
} catch (e) {
|
||||
|
||||
Reference in New Issue
Block a user