reiji-h 2 лет назад
Родитель
Сommit
70604f30b1
1 измененных файлов с 13 добавлено и 5 удалено
  1. 13 5
      apps/app/src/components/Common/PagePathNav/PagePathNav.tsx

+ 13 - 5
apps/app/src/components/Common/PagePathNav/PagePathNav.tsx

@@ -120,15 +120,23 @@ export const PagePathNavSticky = (props: PagePathNavStickyProps): JSX.Element =>
   const { data: pageControlsX } = usePageControlsX();
   const { data: sidebarWidth } = useCurrentProductNavWidth();
   const { data: sidebarMode } = useSidebarMode();
-  const pagePathNavRef = useRef<HTMLDivElement | null>(null);
+  const pagePathNavRef = useRef<HTMLDivElement>(null);
 
   const [navMaxWidth, setNavMaxWidth] = useState<number | undefined>();
 
   useEffect(() => {
-    if (pageControlsX == null || pagePathNavRef.current == null || sidebarWidth == null || sidebarMode == null) {
-      return;
-    }
-    setNavMaxWidth(pageControlsX - pagePathNavRef.current.getBoundingClientRect().x - 10);
+
+    // wait for the end of the animation of the opening and closing of the sidebar
+    const timeout = setTimeout(() => {
+      if (pageControlsX == null || pagePathNavRef.current == null || sidebarWidth == null || sidebarMode == null) {
+        return;
+      }
+      setNavMaxWidth(pageControlsX - pagePathNavRef.current.getBoundingClientRect().x - 10);
+    }, 200);
+
+    return () => {
+      clearTimeout(timeout);
+    };
   }, [pageControlsX, pagePathNavRef, sidebarWidth, sidebarMode]);
 
   return (