Skip to content

Commit 441cc1e

Browse files
committed
fix: keep leftsidebar present across page changes for inkeep persistency
1 parent d498c71 commit 441cc1e

File tree

2 files changed

+10
-4
lines changed

2 files changed

+10
-4
lines changed

src/components/Layout/Layout.tsx

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,13 @@ const Layout: React.FC<LayoutProps> = ({ children, pageContext }) => {
4242
return (
4343
<GlobalLoading template={template}>
4444
<Header />
45-
<div className="flex pt-16 px-12 md:px-0 md:gap-12 lg:gap-16 xl:gap-20 justify-center">
46-
{leftSidebar ? <LeftSidebar /> : <div />}
45+
<div
46+
className={cn(
47+
'flex pt-16 px-12 md:px-0 md:gap-12 lg:gap-16 xl:gap-20 justify-center',
48+
!leftSidebar && 'md:px-12',
49+
)}
50+
>
51+
<LeftSidebar className={cn(!leftSidebar && 'md:hidden')} />
4752
<div className="flex-1 flex justify-center min-w-0">
4853
<div className="max-w-screen-lg w-full flex md:gap-12 lg:gap-16 xl:gap-20">
4954
<Container as="main" className={cn('flex-1 px-4 -mx-4', { 'overflow-x-auto': !isRedocPage })}>

src/components/Layout/LeftSidebar.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { useLayoutContext } from 'src/contexts/layout-context';
1111
import { interactiveButtonClassName } from './utils/styles';
1212

1313
type LeftSidebarProps = {
14+
className?: string;
1415
inHeader?: boolean;
1516
};
1617

@@ -113,7 +114,7 @@ const ChildAccordion = ({ content, tree }: { content: (NavProductPage | NavProdu
113114
);
114115
};
115116

116-
const LeftSidebar = ({ inHeader = false }: LeftSidebarProps) => {
117+
const LeftSidebar = ({ className, inHeader = false }: LeftSidebarProps) => {
117118
const { activePage } = useLayoutContext();
118119
const [openProduct, setOpenProduct] = useState<string | null>(`item-${activePage.tree[0]?.index}`);
119120
const {
@@ -133,7 +134,7 @@ const LeftSidebar = ({ inHeader = false }: LeftSidebarProps) => {
133134
`);
134135

135136
return (
136-
<div className={cn('sticky top-16 h-full', inHeader ? 'w-full' : 'w-[280px] hidden md:block')}>
137+
<div className={cn('sticky top-16 h-full', inHeader ? 'w-full' : 'w-[280px] hidden md:block', className)}>
137138
<div
138139
id={inHeader ? 'inkeep-search-mobile-mount' : 'inkeep-search-mount'}
139140
className={cn(

0 commit comments

Comments
 (0)