mirror of
https://github.com/fmhy/edit.git
synced 2026-02-19 01:31:41 +11:00
30 lines
734 B
TypeScript
30 lines
734 B
TypeScript
import { NProgress, type Configuration as NProgressConfiguration } from 'nprogress'
|
|
import type { EnhanceAppContext } from 'vitepress'
|
|
|
|
let nProgressInstance: NProgress | null = null
|
|
|
|
export function loadProgress(router: EnhanceAppContext['router']): NProgress {
|
|
if (typeof window === 'undefined') {
|
|
return {
|
|
start: () => {},
|
|
done: () => {},
|
|
configure: () => {},
|
|
} as NProgress
|
|
}
|
|
|
|
if (!nProgressInstance) {
|
|
nProgressInstance = new NProgress((config: NProgressConfiguration) => {
|
|
config.showSpinner = false
|
|
})
|
|
}
|
|
|
|
router.onBeforeRouteUpdate(() => {
|
|
nProgressInstance.start()
|
|
})
|
|
|
|
router.onAfterRouteUpdated(() => {
|
|
nProgressInstance.done()
|
|
})
|
|
|
|
return nProgressInstance
|
|
}
|