From ece7399d2e08683c68c8ddc98ea2c13fbc31303e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Thu, 24 Feb 2022 11:27:16 +0100 Subject: [PATCH] fix(theme-classic): fix breadcrumb home link bug with new useHomePageRoute() hook (#6749) --- .../src/index.d.ts | 2 +- .../src/theme/DocBreadcrumbs/index.tsx | 9 ++- packages/docusaurus-theme-common/package.json | 2 +- packages/docusaurus-theme-common/src/index.ts | 2 + .../src/utils/__tests__/routesUtils.test.ts | 73 +++++++++++++++++++ .../src/utils/routesUtils.ts | 39 ++++++++++ 6 files changed, 123 insertions(+), 4 deletions(-) create mode 100644 packages/docusaurus-theme-common/src/utils/__tests__/routesUtils.test.ts create mode 100644 packages/docusaurus-theme-common/src/utils/routesUtils.ts diff --git a/packages/docusaurus-module-type-aliases/src/index.d.ts b/packages/docusaurus-module-type-aliases/src/index.d.ts index 1e7bb27d6d..bcb5ae96c3 100644 --- a/packages/docusaurus-module-type-aliases/src/index.d.ts +++ b/packages/docusaurus-module-type-aliases/src/index.d.ts @@ -37,7 +37,7 @@ declare module '@generated/registry' { declare module '@generated/routes' { import type {RouteConfig} from 'react-router-config'; - type Route = { + export type Route = { readonly path: string; readonly component: RouteConfig['component']; readonly exact?: boolean; diff --git a/packages/docusaurus-theme-classic/src/theme/DocBreadcrumbs/index.tsx b/packages/docusaurus-theme-classic/src/theme/DocBreadcrumbs/index.tsx index 8eecbe5417..f912aac438 100644 --- a/packages/docusaurus-theme-classic/src/theme/DocBreadcrumbs/index.tsx +++ b/packages/docusaurus-theme-classic/src/theme/DocBreadcrumbs/index.tsx @@ -6,7 +6,11 @@ */ import React, {type ReactNode} from 'react'; -import {ThemeClassNames, useSidebarBreadcrumbs} from '@docusaurus/theme-common'; +import { + ThemeClassNames, + useSidebarBreadcrumbs, + useHomePageRoute, +} from '@docusaurus/theme-common'; import styles from './styles.module.css'; import clsx from 'clsx'; import Link from '@docusaurus/Link'; @@ -59,6 +63,7 @@ function HomeBreadcrumbItem() { export default function DocBreadcrumbs(): JSX.Element | null { const breadcrumbs = useSidebarBreadcrumbs(); + const homePageRoute = useHomePageRoute(); if (!breadcrumbs) { return null; @@ -72,7 +77,7 @@ export default function DocBreadcrumbs(): JSX.Element | null { )} aria-label="breadcrumbs">