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; }