diff options
Diffstat (limited to 'src/state')
-rw-r--r-- | src/state/session/index.tsx | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/state/session/index.tsx b/src/state/session/index.tsx index d4cd2fcd2..56208bc70 100644 --- a/src/state/session/index.tsx +++ b/src/state/session/index.tsx @@ -28,6 +28,7 @@ export function getAgent() { export type SessionAccount = persisted.PersistedAccount export type SessionState = { + isInitialLoad: boolean isSwitchingAccounts: boolean accounts: SessionAccount[] currentAccount: SessionAccount | undefined @@ -75,6 +76,7 @@ export type ApiContext = { } const StateContext = React.createContext<StateContext>({ + isInitialLoad: true, isSwitchingAccounts: false, accounts: [], currentAccount: undefined, @@ -150,6 +152,7 @@ export function Provider({children}: React.PropsWithChildren<{}>) { const queryClient = useQueryClient() const isDirty = React.useRef(false) const [state, setState] = React.useState<SessionState>({ + isInitialLoad: true, isSwitchingAccounts: false, accounts: persisted.get('session').accounts, currentAccount: undefined, // assume logged out to start @@ -434,6 +437,11 @@ export function Provider({children}: React.PropsWithChildren<{}>) { } } catch (e) { logger.error(`session: resumeSession failed`, {error: e}) + } finally { + setState(s => ({ + ...s, + isInitialLoad: false, + })) } }, [initSession], |