FMHYedit/.vitepress/theme/composables/nprogress.ts

24 lines
678 B
TypeScript
Raw Normal View History

2023-11-17 07:56:59 +00:00
import nprogress, { type NProgress } from "nprogress";
import type { EnhanceAppContext } from "vitepress";
export function loadProgress(router: EnhanceAppContext["router"]): NProgress {
if (typeof window === "undefined") return;
setTimeout(() => {
nprogress.configure({ showSpinner: false });
const cacheBeforeRouteChange = router.onBeforeRouteChange;
const cacheAfterRouteChange = router.onAfterRouteChanged;
router.onBeforeRouteChange = (to) => {
nprogress.start();
cacheBeforeRouteChange?.(to);
};
router.onAfterRouteChanged = (to) => {
nprogress.done();
cacheAfterRouteChange?.(to);
};
});
return nprogress;
}