* docs: added features and guides overview page * added image * added version 2 * added version 3 * added version 4 * docs: implemented new color scheme * docs: redesigned sidebar (#3193) * docs: redesigned navbar for restructure (#3199) * docs: redesigned footer (#3209) * docs: redesigned cards (#3230) * docs: redesigned admonitions (#3231) * docs: redesign announcement bar (#3236) * docs: redesigned large cards (#3239) * docs: redesigned code blocks (#3253) * docs: redesigned search modal and page (#3264) * docs: redesigned doc footer (#3268) * docs: added new sidebars + refactored css and assets (#3279) * docs: redesigned api reference sidebar * docs: refactored css * docs: added code tabs transition * docs: added new sidebars * removed unused assets * remove unusued assets * Fix deploy errors * fix incorrect link * docs: fixed code responsivity + missing icons (#3283) * docs: changed icons (#3296) * docs: design fixes to the sidebar (#3297) * redesign fixes * docs: small design fixes * docs: several design fixes after restructure (#3299) * docs: bordered icon fixes * docs: desgin fixes * fixes to code blocks and sidebar scroll * design adjustments * docs: restructured homepage (#3305) * docs: restructured homepage * design fixes * fixed core concepts icon * docs: added core concepts page (#3318) * docs: restructured homepage * design fixes * docs: added core concepts page * changed text of different components * docs: added architecture link * added missing prop for user guide * docs: added regions overview page (#3327) * docs: added regions overview * moved region pages to new structure * docs: fixed description of regions architecture page * small changes * small fix * docs: added customers overview page (#3331) * docs: added regions overview * moved region pages to new structure * docs: fixed description of regions architecture page * small changes * small fix * docs: added customers overview page * fix link * resolve link issues * docs: updated regions architecture image * docs: second-iteration fixes (#3347) * docs: redesigned document * design fixes * docs: added products overview page (#3354) * docs: added carts overview page (#3363) * docs: added orders overview (#3364) * docs: added orders overview * added links in overview * docs: added vercel redirects * docs: added soon badge for cards (#3389) * docs: resolved feedback changes + organized troubleshooting pages (#3409) * docs: resolved feedback changes * added extra line * docs: changed icons for restructure (#3421) * docs: added taxes overview page (#3422) * docs: added taxes overview page * docs: fix sidebar label * added link to taxes overview page * fixed link * docs: fixed sidebar scroll (#3429) * docs: added discounts overview (#3432) * docs: added discounts overview * fixed links * docs: added gift cards overview (#3433) * docs: added price lists overview page (#3440) * docs: added price lists overview page * fixed links * docs: added sales channels overview page (#3441) * docs: added sales overview page * fixed links * docs: added users overview (#3443) * docs: fixed sidebar border height (#3444) * docs: fixed sidebar border height * fixed svg markup * docs: added possible solutions to feedback component (#3449) * docs: added several overview pages + restructured files (#3463) * docs: added several overview pages * fixed links * docs: added feature flags + PAK overview pages (#3464) * docs: added feature flags + PAK overview pages * fixed links * fix link * fix link * fixed links colors * docs: added strategies overview page (#3468) * docs: automated upgrade guide (#3470) * docs: automated upgrade guide * fixed vercel redirect * docs: restructured files in docs codebase (#3475) * docs: restructured files * docs: fixed eslint exception * docs: finished restructure loose-ends (#3493) * fixed uses of backend * docs: finished loose ends * eslint fixes * fixed links * merged master * added update instructions for v1.7.12
85 lines
2.9 KiB
JavaScript
85 lines
2.9 KiB
JavaScript
import React, {useState, useCallback, useRef} from 'react';
|
|
import clsx from 'clsx';
|
|
import {ThemeClassNames} from '@docusaurus/theme-common';
|
|
import {useDocsSidebar} from '@docusaurus/theme-common/internal';
|
|
import {useLocation} from '@docusaurus/router';
|
|
import DocSidebar from '@theme/DocSidebar';
|
|
import ExpandButton from '@theme/DocPage/Layout/Sidebar/ExpandButton';
|
|
import styles from './styles.module.css';
|
|
import { SwitchTransition, CSSTransition } from 'react-transition-group';
|
|
// Reset sidebar state when sidebar changes
|
|
// Use React key to unmount/remount the children
|
|
// See https://github.com/facebook/docusaurus/issues/3414
|
|
function ResetOnSidebarChange({children}) {
|
|
const sidebar = useDocsSidebar();
|
|
return (
|
|
<React.Fragment key={sidebar?.name ?? 'noSidebar'}>
|
|
{children}
|
|
</React.Fragment>
|
|
);
|
|
}
|
|
export default function DocPageLayoutSidebar({
|
|
sidebar,
|
|
hiddenSidebarContainer,
|
|
setHiddenSidebarContainer,
|
|
}) {
|
|
const {pathname} = useLocation();
|
|
const [hiddenSidebar, setHiddenSidebar] = useState(false);
|
|
const toggleSidebar = useCallback(() => {
|
|
if (hiddenSidebar) {
|
|
setHiddenSidebar(false);
|
|
}
|
|
setHiddenSidebarContainer((value) => !value);
|
|
}, [setHiddenSidebarContainer, hiddenSidebar]);
|
|
const {name} = useDocsSidebar()
|
|
const sidebarRef = useRef(null)
|
|
return (
|
|
<aside
|
|
className={clsx(
|
|
ThemeClassNames.docs.docSidebarContainer,
|
|
styles.docSidebarContainer,
|
|
hiddenSidebarContainer && styles.docSidebarContainerHidden,
|
|
)}
|
|
onTransitionEnd={(e) => {
|
|
if (!e.currentTarget.classList.contains(styles.docSidebarContainer)) {
|
|
return;
|
|
}
|
|
if (hiddenSidebarContainer) {
|
|
setHiddenSidebar(true);
|
|
}
|
|
}}>
|
|
<SwitchTransition>
|
|
<CSSTransition
|
|
key={name}
|
|
nodeRef={sidebarRef}
|
|
classNames={{
|
|
enter: 'animate__animated animate__fadeInLeft',
|
|
exit: 'animate__animated animate__fadeOutLeft'
|
|
}}
|
|
timeout={200}
|
|
>
|
|
<div
|
|
className={styles.sidebarViewportWrapper}
|
|
ref={sidebarRef}>
|
|
<ResetOnSidebarChange>
|
|
<div
|
|
className={clsx(
|
|
styles.sidebarViewport,
|
|
hiddenSidebar && styles.sidebarViewportHidden,
|
|
)}>
|
|
<DocSidebar
|
|
sidebar={sidebar}
|
|
path={pathname}
|
|
onCollapse={toggleSidebar}
|
|
isHidden={hiddenSidebar}
|
|
/>
|
|
{hiddenSidebar && <ExpandButton toggleSidebar={toggleSidebar} />}
|
|
</div>
|
|
</ResetOnSidebarChange>
|
|
</div>
|
|
</CSSTransition>
|
|
</SwitchTransition>
|
|
</aside>
|
|
);
|
|
}
|