fix: persist burn history across launches; show sparkline from first refresh
This commit is contained in:
@@ -37,6 +37,9 @@ class UsageViewModel: ObservableObject {
|
|||||||
let saved = UserDefaults.standard.double(forKey: "refresh_interval")
|
let saved = UserDefaults.standard.double(forKey: "refresh_interval")
|
||||||
refreshInterval = saved > 0 ? saved : 60
|
refreshInterval = saved > 0 ? saved : 60
|
||||||
showInMenuBar = UserDefaults.standard.object(forKey: "show_in_menubar") as? Bool ?? true
|
showInMenuBar = UserDefaults.standard.object(forKey: "show_in_menubar") as? Bool ?? true
|
||||||
|
if let saved = UserDefaults.standard.object(forKey: "burn_history") as? [String: [Double]] {
|
||||||
|
burnHistoryStore = saved
|
||||||
|
}
|
||||||
loadPlaceholderData()
|
loadPlaceholderData()
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -84,8 +87,9 @@ class UsageViewModel: ObservableObject {
|
|||||||
history.append(limits[i].usedPercent)
|
history.append(limits[i].usedPercent)
|
||||||
if history.count > maxHistorySamples { history.removeFirst() }
|
if history.count > maxHistorySamples { history.removeFirst() }
|
||||||
burnHistoryStore[key] = history
|
burnHistoryStore[key] = history
|
||||||
if history.count > 1 { limits[i].burnHistory = history }
|
limits[i].burnHistory = history
|
||||||
}
|
}
|
||||||
|
UserDefaults.standard.set(burnHistoryStore, forKey: "burn_history")
|
||||||
checkLimitNotifications(for: limits)
|
checkLimitNotifications(for: limits)
|
||||||
} catch AppError.notAuthenticated {
|
} catch AppError.notAuthenticated {
|
||||||
isNotAuthenticated = true
|
isNotAuthenticated = true
|
||||||
@@ -313,3 +317,4 @@ extension Notification.Name {
|
|||||||
static let limitReset = Notification.Name("limitReset")
|
static let limitReset = Notification.Name("limitReset")
|
||||||
static let openUpdateSheet = Notification.Name("openUpdateSheet")
|
static let openUpdateSheet = Notification.Name("openUpdateSheet")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user