From 3c7c7835fde45cdb164250280e839a4bcb11b099 Mon Sep 17 00:00:00 2001 From: Nick Mitchell Date: Mon, 3 Feb 2025 17:25:41 -0500 Subject: [PATCH] fix: in react ui, sidebar may re-close when navigating This is related to #361, which only fixed half of the problem. Signed-off-by: Nick Mitchell --- pdl-live-react/src/page/PageBreadcrumbs.tsx | 10 ++++++++-- pdl-live-react/src/page/Sidebar.tsx | 13 ++++++++----- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/pdl-live-react/src/page/PageBreadcrumbs.tsx b/pdl-live-react/src/page/PageBreadcrumbs.tsx index cbd6e062e..7890bea80 100644 --- a/pdl-live-react/src/page/PageBreadcrumbs.tsx +++ b/pdl-live-react/src/page/PageBreadcrumbs.tsx @@ -1,4 +1,4 @@ -import { Link } from "react-router" +import { useSearchParams, Link } from "react-router" import { useCallback } from "react" import { Breadcrumb, BreadcrumbItem } from "@patternfly/react-core" @@ -14,7 +14,13 @@ export default function PageBreadcrumbs({ breadcrumb1, breadcrumb2, }: PageBreadcrumbProps) { - const renderHome = useCallback(() => Home, []) + const [searchParams] = useSearchParams() + const s = searchParams.toString() + const search = s.length > 0 ? "?" + s : "" + const renderHome = useCallback( + () => Home, + [search], + ) return ( diff --git a/pdl-live-react/src/page/Sidebar.tsx b/pdl-live-react/src/page/Sidebar.tsx index 3412d89c6..b2de0eecc 100644 --- a/pdl-live-react/src/page/Sidebar.tsx +++ b/pdl-live-react/src/page/Sidebar.tsx @@ -12,9 +12,12 @@ import Demos from "./DemoNavItems" import MyTraces from "./MyTracesNavItems" export default function Sidebar() { - const [searchParams] = useSearchParams() const { hash, pathname: activeItem } = useLocation() + const [searchParams] = useSearchParams() + const s = searchParams.toString() + const search = (s.length > 0 ? "?" + s : "") + hash + return ( @@ -24,19 +27,19 @@ export default function Sidebar() { itemId="welcome" isActive={activeItem === "" || activeItem === "/welcome"} > - Welcome + Welcome - Upload a Trace + Upload a Trace - + - About PDL + About PDL