From 2e79597f83f93abbdeb9434dda2b3bd796882717 Mon Sep 17 00:00:00 2001 From: Joshua Chen Date: Wed, 30 Mar 2022 09:15:54 +0800 Subject: [PATCH] feat(theme-classic): show blog sidebar on mobile (#7012) * feat(theme-classic): show blog sidebar on mobile * fix * oops * docs * add a little margin * Update display.tsx * Update content.tsx * reformat --- .../src/theme/BlogSidebar/index.tsx | 33 +++- .../src/theme/BlogSidebar/styles.module.css | 6 +- .../src/contexts/navbarMobileSidebar.tsx | 6 +- .../src/contexts/navbarSecondaryMenu.tsx | 170 ------------------ .../contexts/navbarSecondaryMenu/content.tsx | 110 ++++++++++++ .../contexts/navbarSecondaryMenu/display.tsx | 102 +++++++++++ packages/docusaurus-theme-common/src/index.ts | 4 +- .../src/utils/navbarUtils.tsx | 17 +- 8 files changed, 260 insertions(+), 188 deletions(-) delete mode 100644 packages/docusaurus-theme-common/src/contexts/navbarSecondaryMenu.tsx create mode 100644 packages/docusaurus-theme-common/src/contexts/navbarSecondaryMenu/content.tsx create mode 100644 packages/docusaurus-theme-common/src/contexts/navbarSecondaryMenu/display.tsx diff --git a/packages/docusaurus-theme-classic/src/theme/BlogSidebar/index.tsx b/packages/docusaurus-theme-classic/src/theme/BlogSidebar/index.tsx index 23cb7b4737..ad478860fe 100644 --- a/packages/docusaurus-theme-classic/src/theme/BlogSidebar/index.tsx +++ b/packages/docusaurus-theme-classic/src/theme/BlogSidebar/index.tsx @@ -8,17 +8,21 @@ import React from 'react'; import clsx from 'clsx'; import Link from '@docusaurus/Link'; +import {translate} from '@docusaurus/Translate'; +import { + NavbarSecondaryMenuFiller, + useWindowSize, +} from '@docusaurus/theme-common'; import type {Props} from '@theme/BlogSidebar'; import styles from './styles.module.css'; -import {translate} from '@docusaurus/Translate'; -export default function BlogSidebar({sidebar}: Props): JSX.Element | null { - if (sidebar.items.length === 0) { - return null; - } +function BlogSidebarContent({ + sidebar, + className, +}: Props & {className?: string}): JSX.Element { return (