diff --git a/src/components/middle/MiddleHeader.tsx b/src/components/middle/MiddleHeader.tsx index 0d3a69e61..062e95eb0 100644 --- a/src/components/middle/MiddleHeader.tsx +++ b/src/components/middle/MiddleHeader.tsx @@ -186,6 +186,12 @@ const MiddleHeader: FC = ({ openChat({ id: chatId, threadId: MAIN_THREAD_ID, type: 'pinned' }); }, [openChat, chatId]); + const setBackButtonActive = useCallback(() => { + setTimeout(() => { + isBackButtonActive.current = true; + }, BACK_BUTTON_INACTIVE_TIME); + }, []); + const handleBackClick = useCallback((e: React.MouseEvent) => { if (!isBackButtonActive.current) return; @@ -200,6 +206,7 @@ const MiddleHeader: FC = ({ if (isSelectModeActive) { exitMessageSelectMode(); + setBackButtonActive(); return; } @@ -211,16 +218,16 @@ const MiddleHeader: FC = ({ toggleLeftColumn(); } + setBackButtonActive(); + return; } openPreviousChat(); - setTimeout(() => { - isBackButtonActive.current = true; - }, BACK_BUTTON_INACTIVE_TIME); + setBackButtonActive(); }, [ threadId, messageListType, currentTransitionKey, isSelectModeActive, openPreviousChat, shouldShowCloseButton, - openChat, toggleLeftColumn, exitMessageSelectMode, + openChat, toggleLeftColumn, exitMessageSelectMode, setBackButtonActive, ]); const unreadCount = useMemo(() => {