From 99a778ac9fe78facde50c5aaf497de1c4b84a8f4 Mon Sep 17 00:00:00 2001 From: Kevin Lee Date: Tue, 12 Jan 2021 12:45:10 -0800 Subject: [PATCH 1/2] Use history.pushState for hash link navigation in techdocs --- .changeset/small-berries-travel.md | 5 +++++ plugins/techdocs/src/reader/components/Reader.tsx | 10 +++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 .changeset/small-berries-travel.md diff --git a/.changeset/small-berries-travel.md b/.changeset/small-berries-travel.md new file mode 100644 index 0000000000..af77ee2a17 --- /dev/null +++ b/.changeset/small-berries-travel.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-techdocs': patch +--- + +Use `history.pushState` for hash link navigation. diff --git a/plugins/techdocs/src/reader/components/Reader.tsx b/plugins/techdocs/src/reader/components/Reader.tsx index fb49b90096..1264e2b6eb 100644 --- a/plugins/techdocs/src/reader/components/Reader.tsx +++ b/plugins/techdocs/src/reader/components/Reader.tsx @@ -115,7 +115,15 @@ export const Reader = ({ entityId, onReady }: Props) => { baseUrl: window.location.origin, onClick: (_: MouseEvent, url: string) => { const parsedUrl = new URL(url); - navigate(`${parsedUrl.pathname}${parsedUrl.hash}`); + if (parsedUrl.hash) { + history.pushState( + null, + '', + `${parsedUrl.pathname}${parsedUrl.hash}`, + ); + } else { + navigate(parsedUrl.pathname); + } shadowRoot?.querySelector(parsedUrl.hash)?.scrollIntoView(); }, From e5d12f705b34e00611ee2b0f46c132f7f265c5e5 Mon Sep 17 00:00:00 2001 From: Himanshu Mishra Date: Wed, 13 Jan 2021 23:22:16 +0100 Subject: [PATCH 2/2] techdocs: update changeset to unblock from maintainers review --- .../{small-berries-travel.md => techdocs-small-berries-travel.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .changeset/{small-berries-travel.md => techdocs-small-berries-travel.md} (100%) diff --git a/.changeset/small-berries-travel.md b/.changeset/techdocs-small-berries-travel.md similarity index 100% rename from .changeset/small-berries-travel.md rename to .changeset/techdocs-small-berries-travel.md