mirror of
https://github.com/facebook/docusaurus.git
synced 2025-07-27 13:38:33 +02:00
fix(theme-classic): fix collapsed sidebar category expansion when navigating to another link within that category (#11338)
Co-authored-by: qqq614 <heeje.cho@navercorp.com>
This commit is contained in:
parent
c81808459d
commit
12bcad9837
1 changed files with 20 additions and 3 deletions
|
@ -37,18 +37,30 @@ function useAutoExpandActiveCategory({
|
|||
isActive,
|
||||
collapsed,
|
||||
updateCollapsed,
|
||||
activePath,
|
||||
}: {
|
||||
isActive: boolean;
|
||||
collapsed: boolean;
|
||||
updateCollapsed: (b: boolean) => void;
|
||||
activePath: string;
|
||||
}) {
|
||||
const wasActive = usePrevious(isActive);
|
||||
const previousActivePath = usePrevious(activePath);
|
||||
useEffect(() => {
|
||||
const justBecameActive = isActive && !wasActive;
|
||||
if (justBecameActive && collapsed) {
|
||||
const stillActiveButPathChanged =
|
||||
isActive && wasActive && activePath !== previousActivePath;
|
||||
if ((justBecameActive || stillActiveButPathChanged) && collapsed) {
|
||||
updateCollapsed(false);
|
||||
}
|
||||
}, [isActive, wasActive, collapsed, updateCollapsed]);
|
||||
}, [
|
||||
isActive,
|
||||
wasActive,
|
||||
collapsed,
|
||||
updateCollapsed,
|
||||
activePath,
|
||||
previousActivePath,
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -150,7 +162,12 @@ export default function DocSidebarItemCategory({
|
|||
setExpandedItem(toCollapsed ? null : index);
|
||||
setCollapsed(toCollapsed);
|
||||
};
|
||||
useAutoExpandActiveCategory({isActive, collapsed, updateCollapsed});
|
||||
useAutoExpandActiveCategory({
|
||||
isActive,
|
||||
collapsed,
|
||||
updateCollapsed,
|
||||
activePath,
|
||||
});
|
||||
useEffect(() => {
|
||||
if (
|
||||
collapsible &&
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue