···2import {msg} from '@lingui/macro'
3import {useLingui} from '@lingui/react'
45-import {useAnalytics} from '#/lib/analytics/analytics'
6import {logger} from '#/logger'
7import {isWeb} from '#/platform/detection'
8import {SessionAccount, useSessionApi} from '#/state/session'
···14export function useAccountSwitcher() {
15 const [pendingDid, setPendingDid] = useState<string | null>(null)
16 const {_} = useLingui()
17- const {track} = useAnalytics()
18 const {resumeSession} = useSessionApi()
19 const {requestSwitchToAccount} = useLoggedOutViewControls()
20···23 account: SessionAccount,
24 logContext: LogEvents['account:loggedIn']['logContext'],
25 ) => {
26- track('Settings:SwitchAccountButtonClicked')
27 if (pendingDid) {
28 // The session API isn't resilient to race conditions so let's just ignore this.
29 return
···62 setPendingDid(null)
63 }
64 },
65- [_, track, resumeSession, requestSwitchToAccount, pendingDid],
66 )
6768 return {onPressSwitchAccount, pendingDid}
···2import {msg} from '@lingui/macro'
3import {useLingui} from '@lingui/react'
405import {logger} from '#/logger'
6import {isWeb} from '#/platform/detection'
7import {SessionAccount, useSessionApi} from '#/state/session'
···13export function useAccountSwitcher() {
14 const [pendingDid, setPendingDid] = useState<string | null>(null)
15 const {_} = useLingui()
016 const {resumeSession} = useSessionApi()
17 const {requestSwitchToAccount} = useLoggedOutViewControls()
18···21 account: SessionAccount,
22 logContext: LogEvents['account:loggedIn']['logContext'],
23 ) => {
024 if (pendingDid) {
25 // The session API isn't resilient to race conditions so let's just ignore this.
26 return
···59 setPendingDid(null)
60 }
61 },
62+ [_, resumeSession, requestSwitchToAccount, pendingDid],
63 )
6465 return {onPressSwitchAccount, pendingDid}
+11-13
src/lib/hooks/useNotificationHandler.ts
···3import {CommonActions, useNavigation} from '@react-navigation/native'
4import {useQueryClient} from '@tanstack/react-query'
50006import {logger} from '#/logger'
7-import {track} from 'lib/analytics/analytics'
8-import {useAccountSwitcher} from 'lib/hooks/useAccountSwitcher'
9-import {NavigationProp} from 'lib/routes/types'
10-import {logEvent} from 'lib/statsig/statsig'
11-import {isAndroid} from 'platform/detection'
12-import {useCurrentConvoId} from 'state/messages/current-convo-id'
13-import {RQKEY as RQKEY_NOTIFS} from 'state/queries/notifications/feed'
14-import {invalidateCachedUnreadPage} from 'state/queries/notifications/unread'
15-import {truncateAndInvalidate} from 'state/queries/util'
16-import {useSession} from 'state/session'
17-import {useLoggedOutViewControls} from 'state/shell/logged-out'
18-import {useCloseAllActiveElements} from 'state/util'
19import {resetToTab} from '#/Navigation'
2021type NotificationReason =
···228 {},
229 logger.DebugContext.notifications,
230 )
231- track('Notificatons:OpenApp')
232 logEvent('notifications:openApp', {})
233 invalidateCachedUnreadPage()
234 truncateAndInvalidate(queryClient, RQKEY_NOTIFS())
···3import {CommonActions, useNavigation} from '@react-navigation/native'
4import {useQueryClient} from '@tanstack/react-query'
56+import {useAccountSwitcher} from '#/lib/hooks/useAccountSwitcher'
7+import {NavigationProp} from '#/lib/routes/types'
8+import {logEvent} from '#/lib/statsig/statsig'
9import {logger} from '#/logger'
10+import {isAndroid} from '#/platform/detection'
11+import {useCurrentConvoId} from '#/state/messages/current-convo-id'
12+import {RQKEY as RQKEY_NOTIFS} from '#/state/queries/notifications/feed'
13+import {invalidateCachedUnreadPage} from '#/state/queries/notifications/unread'
14+import {truncateAndInvalidate} from '#/state/queries/util'
15+import {useSession} from '#/state/session'
16+import {useLoggedOutViewControls} from '#/state/shell/logged-out'
17+import {useCloseAllActiveElements} from '#/state/util'
000018import {resetToTab} from '#/Navigation'
1920type NotificationReason =
···227 {},
228 logger.DebugContext.notifications,
229 )
0230 logEvent('notifications:openApp', {})
231 invalidateCachedUnreadPage()
232 truncateAndInvalidate(queryClient, RQKEY_NOTIFS())