JFIFxxC      C  " }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr{ gilour

File "use-scroll-to-top.ts"

Full Path: /home/markqprx/iniasli.pro/client/ui/navigation/use-scroll-to-top.ts
File size: 653 bytes
MIME-type: text/html
Charset: utf-8

import {useLocation} from 'react-router-dom';
import {RefObject, useEffect} from 'react';
import {usePrevious} from '@common/utils/hooks/use-previous';
import {getScrollParent} from '@react-aria/utils';

export function useScrollToTop(ref?: RefObject<HTMLElement>) {
  const {pathname} = useLocation();

  const previousPathname = usePrevious(pathname);

  useEffect(() => {
    if (previousPathname !== pathname) {
      const scrollParent = ref?.current
        ? getScrollParent(ref.current)
        : document.documentElement;
      scrollParent.scrollTo({
        top: 0,
        left: 0,
      });
    }
  }, [pathname, previousPathname, ref]);
}