import { useCssVar } from '@vueuse/core' import type { NProgressOptions } from 'nprogress' import NProgress from 'nprogress' import 'nprogress/nprogress.css' const primaryColor = useCssVar('--el-color-primary', document.documentElement) export const useNProgress = () => { NProgress.configure({ showSpinner: false } as NProgressOptions) const initColor = async () => { await nextTick() const bar = document.getElementById('nprogress')?.getElementsByClassName('bar')[0] as ElRef if (bar) { bar.style.background = unref(primaryColor.value) } } initColor() const start = () => { NProgress.start() } const done = () => { NProgress.done() } return { start, done } }