diff --git a/src/components/sidebar-menu.tsx b/src/components/sidebar-menu.tsx index e606067bf..a862372ee 100644 --- a/src/components/sidebar-menu.tsx +++ b/src/components/sidebar-menu.tsx @@ -1,6 +1,6 @@ /* eslint-disable jsx-a11y/interactive-supports-focus */ import clsx from 'clsx'; -import React, { useCallback } from 'react'; +import React, { useCallback, useState } from 'react'; import { defineMessages, useIntl, FormattedMessage } from 'react-intl'; import { Link, NavLink } from 'react-router-dom'; @@ -80,6 +80,7 @@ const SidebarMenu: React.FC = (): JSX.Element | null => { const settings = useAppSelector((state) => getSettings(state)); const followRequestsCount = useAppSelector((state) => state.user_lists.follow_requests.items.count()); const draftCount = useAppSelector((state) => state.draft_statuses.size); + const [sidebarVisible, setSidebarVisible] = useState(sidebarOpen); const closeButtonRef = React.useRef(null); @@ -122,6 +123,13 @@ const SidebarMenu: React.FC = (): JSX.Element | null => { dispatch(fetchOwnAccounts()); }, []); + React.useEffect(() => { + // eslint-disable-next-line compat/compat + requestAnimationFrame(() => { + setSidebarVisible(sidebarOpen); + }); + }, [sidebarOpen]); + if (!account) return null; return ( @@ -135,7 +143,10 @@ const SidebarMenu: React.FC = (): JSX.Element | null => { } >
@@ -144,8 +155,8 @@ const SidebarMenu: React.FC = (): JSX.Element | null => {