diff --git a/website/src/theme/DocSidebar/index.js b/website/src/theme/DocSidebar/index.js index e2af770f..61e7d2de 100644 --- a/website/src/theme/DocSidebar/index.js +++ b/website/src/theme/DocSidebar/index.js @@ -10,9 +10,10 @@ import { useThemeConfig, useAnnouncementBar, MobileSecondaryMenuFiller, + ThemeClassNames, + useScrollPosition, } from '@docusaurus/theme-common'; import useWindowSize from '@theme/hooks/useWindowSize'; -import useScrollPosition from '@theme/hooks/useScrollPosition'; import Logo from '@theme/Logo'; import IconArrow from '@theme/IconArrow'; import {translate} from '@docusaurus/Translate'; @@ -21,14 +22,17 @@ import styles from './styles.module.css'; import SidebarAd from '../../components/SidebarAd'; function useShowAnnouncementBar() { - const {isClosed} = useAnnouncementBar(); - const [showAnnouncementBar, setShowAnnouncementBar] = useState(!isClosed); - useScrollPosition(({scrollY}) => { - if (!isClosed) { - setShowAnnouncementBar(scrollY === 0); - } - }); - return showAnnouncementBar; + const {isActive} = useAnnouncementBar(); + const [showAnnouncementBar, setShowAnnouncementBar] = useState(isActive); + useScrollPosition( + ({scrollY}) => { + if (isActive) { + setShowAnnouncementBar(scrollY === 0); + } + }, + [isActive], + ); + return isActive && showAnnouncementBar; } function HideableSidebarButton({onClick}) { @@ -61,7 +65,6 @@ function DocSidebarDesktop({path, sidebar, onCollapse, isHidden}) { navbar: {hideOnScroll}, hideableSidebar, } = useThemeConfig(); - const {isClosed: isAnnouncementBarClosed} = useAnnouncementBar(); return (
} {hideableSidebar && } @@ -85,11 +87,12 @@ function DocSidebarDesktop({path, sidebar, onCollapse, isHidden}) { const DocSidebarMobileSecondaryMenu = ({toggleSidebar, sidebar, path}) => { return ( -