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

File "use-navigate.ts"

Full Path: /home/markqprx/iniasli.pro/resources/client/utils/hooks/use-navigate.ts
File size: 682 bytes
MIME-type: text/plain
Charset: utf-8

import {
  createPath,
  NavigateFunction,
  resolvePath,
  useLocation,
  useNavigate as useRouterNavigate
} from 'react-router-dom';
import {useCallback} from 'react';

export function useNavigate() {
  const routerNavigate = useRouterNavigate();
  const location = useLocation();

  return useCallback(
    (to, options) => {
      // prevent duplicates in history when navigating to the same url
      const replace =
        createPath(location) === createPath(resolvePath(to, location.pathname));

      routerNavigate(to, {
        ...options,
        replace: options?.replace !== false && replace,
      });
    },
    [routerNavigate, location]
  ) as NavigateFunction;
}