diff options
-rw-r--r-- | src/App.web.tsx | 5 | ||||
-rw-r--r-- | src/state/shell/composer/useComposerKeyboardShortcut.tsx | 15 | ||||
-rw-r--r-- | src/view/shell/index.web.tsx | 10 |
3 files changed, 21 insertions, 9 deletions
diff --git a/src/App.web.tsx b/src/App.web.tsx index 0d500908f..53ca41873 100644 --- a/src/App.web.tsx +++ b/src/App.web.tsx @@ -9,7 +9,6 @@ import {SafeAreaProvider} from 'react-native-safe-area-context' import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' -import {useIntentHandler} from '#/lib/hooks/useIntentHandler' import {QueryProvider} from '#/lib/react-query' import {Provider as StatsigProvider} from '#/lib/statsig/statsig' import {ThemeProvider} from '#/lib/ThemeContext' @@ -42,7 +41,6 @@ import { import {readLastActiveAccount} from '#/state/session/util' import {Provider as ShellStateProvider} from '#/state/shell' import {Provider as ComposerProvider} from '#/state/shell/composer' -import {useComposerKeyboardShortcut} from '#/state/shell/composer/useComposerKeyboardShortcut' import {Provider as LoggedOutViewProvider} from '#/state/shell/logged-out' import {Provider as ProgressGuideProvider} from '#/state/shell/progress-guide' import {Provider as SelectedFeedProvider} from '#/state/shell/selected-feed' @@ -72,11 +70,8 @@ function InnerApp() { const {resumeSession} = useSessionApi() const theme = useColorModeTheme() const {_} = useLingui() - useIntentHandler() const hasCheckedReferrer = useStarterPackEntry() - useComposerKeyboardShortcut() - // init useEffect(() => { async function onLaunch(account?: SessionAccount) { diff --git a/src/state/shell/composer/useComposerKeyboardShortcut.tsx b/src/state/shell/composer/useComposerKeyboardShortcut.tsx index 01306e36e..cfec5c445 100644 --- a/src/state/shell/composer/useComposerKeyboardShortcut.tsx +++ b/src/state/shell/composer/useComposerKeyboardShortcut.tsx @@ -3,6 +3,7 @@ import React from 'react' import {useDialogStateContext} from '#/state/dialogs' import {useLightbox} from '#/state/lightbox' import {useModals} from '#/state/modals' +import {useSession} from '#/state/session' import {useIsDrawerOpen} from '#/state/shell/drawer-open' import {useComposerControls} from './' @@ -43,8 +44,13 @@ export function useComposerKeyboardShortcut() { const {isModalActive} = useModals() const {activeLightbox} = useLightbox() const isDrawerOpen = useIsDrawerOpen() + const {hasSession} = useSession() React.useEffect(() => { + if (!hasSession) { + return + } + function handler(event: KeyboardEvent) { if (shouldIgnore(event)) return if ( @@ -60,5 +66,12 @@ export function useComposerKeyboardShortcut() { } document.addEventListener('keydown', handler) return () => document.removeEventListener('keydown', handler) - }, [openComposer, isModalActive, openDialogs, activeLightbox, isDrawerOpen]) + }, [ + openComposer, + isModalActive, + openDialogs, + activeLightbox, + isDrawerOpen, + hasSession, + ]) } diff --git a/src/view/shell/index.web.tsx b/src/view/shell/index.web.tsx index 9dab23671..2c7cd7b08 100644 --- a/src/view/shell/index.web.tsx +++ b/src/view/shell/index.web.tsx @@ -4,12 +4,14 @@ import {msg} from '@lingui/macro' import {useLingui} from '@lingui/react' import {useNavigation} from '@react-navigation/native' +import {useColorSchemeStyle} from '#/lib/hooks/useColorSchemeStyle' +import {useIntentHandler} from '#/lib/hooks/useIntentHandler' import {useWebBodyScrollLock} from '#/lib/hooks/useWebBodyScrollLock' +import {NavigationProp} from '#/lib/routes/types' +import {colors, s} from '#/lib/styles' import {useIsDrawerOpen, useSetDrawerOpen} from '#/state/shell' +import {useComposerKeyboardShortcut} from '#/state/shell/composer/useComposerKeyboardShortcut' import {useCloseAllActiveElements} from '#/state/util' -import {useColorSchemeStyle} from 'lib/hooks/useColorSchemeStyle' -import {NavigationProp} from 'lib/routes/types' -import {colors, s} from 'lib/styles' import {MutedWordsDialog} from '#/components/dialogs/MutedWords' import {SigninDialog} from '#/components/dialogs/Signin' import {Outlet as PortalOutlet} from '#/components/Portal' @@ -30,6 +32,8 @@ function ShellInner() { const {_} = useLingui() useWebBodyScrollLock(isDrawerOpen) + useComposerKeyboardShortcut() + useIntentHandler() useEffect(() => { const unsubscribe = navigator.addListener('state', () => { |