diff --git a/packages/docusaurus-theme-classic/src/theme/Navbar/Content/index.tsx b/packages/docusaurus-theme-classic/src/theme/Navbar/Content/index.tsx index a71cd478fa..987d0af87e 100644 --- a/packages/docusaurus-theme-classic/src/theme/Navbar/Content/index.tsx +++ b/packages/docusaurus-theme-classic/src/theme/Navbar/Content/index.tsx @@ -14,10 +14,10 @@ import { splitNavbarItems, useNavbarMobileSidebar, useThemeConfig, + useWindowSize, } from '@docusaurus/theme-common'; import NavbarMobileSidebarToggle from '@theme/Navbar/MobileSidebar/Toggle'; import NavbarLogo from '@theme/Navbar/Logo'; -import styles from './styles.module.css'; function useNavbarItems() { // TODO temporary casting until ThemeConfig type is improved @@ -51,11 +51,27 @@ function NavbarContentLayout({ export default function NavbarContent(): JSX.Element { const mobileSidebar = useNavbarMobileSidebar(); + const windowSize = useWindowSize(); + const isMobile = windowSize === 'mobile'; const items = useNavbarItems(); const [leftItems, rightItems] = splitNavbarItems(items); + const isSearchItem = (item: NavbarItemConfig) => item.type === 'search'; + const hasExplicitSearchItem = items.some(isSearchItem); - const autoAddSearchBar = !items.some((item) => item.type === 'search'); + const rightMostItems = [ + , + !hasExplicitSearchItem || isMobile ? : null, + ]; + if (isMobile) { + [rightMostItems[0], rightMostItems[1]] = [ + rightMostItems[1]!, + rightMostItems[0]!, + ]; + } return ( {!mobileSidebar.disabled && } - + !isSearchItem(item)) + : leftItems + } + /> } right={ @@ -72,8 +94,7 @@ export default function NavbarContent(): JSX.Element { // Ask the user to add the respective navbar items => more flexible <> - - {autoAddSearchBar && } + {rightMostItems} } /> diff --git a/packages/docusaurus-theme-classic/src/theme/Navbar/Content/styles.module.css b/packages/docusaurus-theme-classic/src/theme/Navbar/Content/styles.module.css deleted file mode 100644 index 3cbe701f24..0000000000 --- a/packages/docusaurus-theme-classic/src/theme/Navbar/Content/styles.module.css +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Copyright (c) Facebook, Inc. and its affiliates. - * - * This source code is licensed under the MIT license found in the - * LICENSE file in the root directory of this source tree. - */ - -/* -Hide color mode toggle in small viewports - */ -@media (max-width: 996px) { - .colorModeToggle { - display: none; - } -} diff --git a/packages/docusaurus-theme-classic/src/theme/Navbar/MobileSidebar/Header/index.tsx b/packages/docusaurus-theme-classic/src/theme/Navbar/MobileSidebar/Header/index.tsx index c58b42eb01..382ba2525d 100644 --- a/packages/docusaurus-theme-classic/src/theme/Navbar/MobileSidebar/Header/index.tsx +++ b/packages/docusaurus-theme-classic/src/theme/Navbar/MobileSidebar/Header/index.tsx @@ -6,7 +6,6 @@ */ import React from 'react'; -import NavbarColorModeToggle from '@theme/Navbar/ColorModeToggle'; import IconClose from '@theme/IconClose'; import NavbarLogo from '@theme/Navbar/Logo'; import {useNavbarMobileSidebar} from '@docusaurus/theme-common'; @@ -27,7 +26,6 @@ export default function NavbarMobileSidebarHeader(): JSX.Element { return (
-
); diff --git a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.module.css b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.module.css index ca386bb12d..91db5adf8d 100644 --- a/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.module.css +++ b/packages/docusaurus-theme-search-algolia/src/theme/SearchBar/styles.module.css @@ -5,13 +5,6 @@ * LICENSE file in the root directory of this source tree. */ -@media (max-width: 996px) { - .searchBox { - position: absolute; - right: var(--ifm-navbar-padding-horizontal); - } -} - @media (min-width: 997px) { .searchBox { padding: var(--ifm-navbar-item-padding-vertical)