import type { Router } from 'vue-router';

import { useRouter } from 'vue-router';

import { preferences } from '@vben/preferences';

function handleError(e: Error) {
  console.error(e);
}

/**
 * page switch
 */
export function useGo(_router?: Router) {
  const { push, replace } = _router || useRouter();
  function go(opt = preferences.app.defaultHomePath, isReplace = false) {
    if (!opt) {
      return;
    }
    isReplace ? replace(opt).catch(handleError) : push(opt).catch(handleError);
  }
  return go;
}
