Show progress on route change

This commit is contained in:
taskylizard
2023-11-17 13:26:59 +05:30
parent ea66ff6c03
commit 3c525af917
5 changed files with 130 additions and 5 deletions

View File

@@ -0,0 +1,23 @@
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;
}