From b49c73de3eded0a39091b24ef638e786500a2d7b Mon Sep 17 00:00:00 2001 From: Ellie Huxtable Date: Tue, 28 May 2024 16:28:09 +0100 Subject: fix(ui): handle being logged out gracefully (#2052) * fix(ui): handle being logged out gracefully * use settings.logged_in --- ui/src/state/models.ts | 2 +- ui/src/state/store.ts | 11 +++++++++-- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'ui/src/state') diff --git a/ui/src/state/models.ts b/ui/src/state/models.ts index 193b994d..57db44ae 100644 --- a/ui/src/state/models.ts +++ b/ui/src/state/models.ts @@ -11,7 +11,7 @@ export const DefaultUser: User = { export interface HomeInfo { historyCount: number; recordCount: number; - lastSyncTime: Date; + lastSyncTime: Date | null; } export const DefaultHomeInfo: HomeInfo = { diff --git a/ui/src/state/store.ts b/ui/src/state/store.ts index 56d7b224..5e2570bb 100644 --- a/ui/src/state/store.ts +++ b/ui/src/state/store.ts @@ -77,7 +77,7 @@ export const useStore = create()((set, get) => ({ homeInfo: { historyCount: res.history_count, recordCount: res.record_count, - lastSyncTime: parseISO(res.last_sync), + lastSyncTime: (res.last_sync && parseISO(res.last_sync)) || null, }, }); }) @@ -88,7 +88,14 @@ export const useStore = create()((set, get) => ({ refreshUser: async () => { let config = await settings(); - let session = await sessionToken(); + let session; + + try { + session = await sessionToken(); + } catch (e) { + console.log("Not logged in, so not refreshing user"); + return; + } let url = config.sync_address + "/api/v0/me"; let res = await fetch(url, { -- cgit v1.3.1