From 6a929e292a41f1b66b88b0e3e986c94d8802dd7b Mon Sep 17 00:00:00 2001 From: Eric Bailey Date: Sat, 13 Apr 2024 13:36:36 -0500 Subject: [PATCH] Add readLastActiveAccount to use accounts[] as source of truth --- src/App.native.tsx | 4 ++-- src/App.web.tsx | 4 ++-- src/state/session/util/readLastActiveAccount.ts | 6 ++++++ 3 files changed, 10 insertions(+), 4 deletions(-) create mode 100644 src/state/session/util/readLastActiveAccount.ts diff --git a/src/App.native.tsx b/src/App.native.tsx index ede587c899..cf96781b73 100644 --- a/src/App.native.tsx +++ b/src/App.native.tsx @@ -16,8 +16,8 @@ import {useQueryClient} from '@tanstack/react-query' import {Provider as StatsigProvider} from '#/lib/statsig/statsig' import {init as initPersistedState} from '#/state/persisted' -import * as persisted from '#/state/persisted' import {Provider as LabelDefsProvider} from '#/state/preferences/label-defs' +import {readLastActiveAccount} from '#/state/session/util/readLastActiveAccount' import {useIntentHandler} from 'lib/hooks/useIntentHandler' import {useNotificationsListener} from 'lib/notifications/notifications' import {QueryProvider} from 'lib/react-query' @@ -64,7 +64,7 @@ function InnerApp() { Toast.show(_(msg`Sorry! Your session expired. Please log in again.`)) }) - const account = persisted.get('session').currentAccount + const account = readLastActiveAccount() resumeSession(account) }, [resumeSession, _]) diff --git a/src/App.web.tsx b/src/App.web.tsx index ccf7ecb491..639fbfafc5 100644 --- a/src/App.web.tsx +++ b/src/App.web.tsx @@ -7,8 +7,8 @@ import {SafeAreaProvider} from 'react-native-safe-area-context' import {Provider as StatsigProvider} from '#/lib/statsig/statsig' import {init as initPersistedState} from '#/state/persisted' -import * as persisted from '#/state/persisted' import {Provider as LabelDefsProvider} from '#/state/preferences/label-defs' +import {readLastActiveAccount} from '#/state/session/util/readLastActiveAccount' import {useIntentHandler} from 'lib/hooks/useIntentHandler' import {QueryProvider} from 'lib/react-query' import {ThemeProvider} from 'lib/ThemeContext' @@ -42,7 +42,7 @@ function InnerApp() { // init useEffect(() => { - const account = persisted.get('session').currentAccount + const account = readLastActiveAccount() resumeSession(account) }, [resumeSession]) diff --git a/src/state/session/util/readLastActiveAccount.ts b/src/state/session/util/readLastActiveAccount.ts new file mode 100644 index 0000000000..e0768b8a83 --- /dev/null +++ b/src/state/session/util/readLastActiveAccount.ts @@ -0,0 +1,6 @@ +import * as persisted from '#/state/persisted' + +export function readLastActiveAccount() { + const {currentAccount, accounts} = persisted.get('session') + return accounts.find(a => a.did === currentAccount?.did) +}