v2.0.6 — Auth section shows sign-in status, re-authenticate and sign out buttons

This commit is contained in:
superdooper86
2026-05-07 15:17:11 +02:00
parent d3ec3f5dd7
commit a1c3c0b314
5 changed files with 56 additions and 16 deletions
+17
View File
@@ -13,6 +13,7 @@ class UsageViewModel: ObservableObject {
@Published var overageSpendLimit: OverageSpendLimit?
@Published var planLabel: String = "Claude"
@Published var isNotAuthenticated: Bool = false
@Published var isSignedIn: Bool = false
@Published var triggerLogin: Bool = false
@Published var showInMenuBar: Bool = true {
didSet { UserDefaults.standard.set(showInMenuBar, forKey: "show_in_menubar") }
@@ -36,6 +37,21 @@ class UsageViewModel: ObservableObject {
loadPlaceholderData()
}
func signOut() async {
let store = WKWebsiteDataStore.default()
let types = WKWebsiteDataStore.allWebsiteDataTypes()
let records = await store.dataRecords(ofTypes: types)
let claudeRecords = records.filter { $0.displayName.contains("claude.ai") }
await store.removeData(ofTypes: types, for: claudeRecords)
isSignedIn = false
isNotAuthenticated = true
lastUpdated = nil
limits = []
extraUsage = nil
prepaidCredits = nil
overageSpendLimit = nil
}
func refresh() async {
isLoading = true
errorMessage = nil
@@ -54,6 +70,7 @@ class UsageViewModel: ObservableObject {
overageSpendLimit = overage
planLabel = "Pro"
lastUpdated = Date()
isSignedIn = true
for i in limits.indices {
let key = limits[i].window.rawValue