import AppConfig from '@/config' import NProgress from 'nprogress' import 'nprogress/nprogress.css' import i18n, { $t } from '@/locales' const configureNProgress = () => { NProgress.configure({ easing: 'ease', speed: 600, showSpinner: false, parent: 'body' }) } const setPageTitle = (to) => { const { title } = to.meta if (title) { setTimeout(() => { document.title = `${formatMenuTitle(String(title))} - ${AppConfig.systemInfo.name}` }, 150) } } const formatMenuTitle = (title) => { if (title) { if (title.startsWith('menus.') || title.startsWith('menu.')) { if (i18n.global.te(title)) { return $t(title) } else { const fallbackTitle = title.startsWith('menus.') && title.split('.').pop() ? `menu.${title.split('.').pop()}` : '' if (fallbackTitle && i18n.global.te(fallbackTitle)) { return $t(fallbackTitle) } return title.split('.').pop() || title } } return title } return '' } export { configureNProgress, formatMenuTitle, setPageTitle }