|
|
|
@ -14,7 +14,7 @@ import { |
|
|
|
updatePreferences, |
|
|
|
usePreferences, |
|
|
|
} from '@vben/preferences'; |
|
|
|
import { useAccessStore } from '@vben/stores'; |
|
|
|
import { useAccessStore, useTabbarStore, useTimezoneStore } from '@vben/stores'; |
|
|
|
import { cloneDeep, mapTree } from '@vben/utils'; |
|
|
|
|
|
|
|
import { VbenAdminLayout } from '@vben-core/layout-ui'; |
|
|
|
@ -52,6 +52,7 @@ const { |
|
|
|
theme, |
|
|
|
} = usePreferences(); |
|
|
|
const accessStore = useAccessStore(); |
|
|
|
const timezoneStore = useTimezoneStore(); |
|
|
|
const { refresh } = useRefresh(); |
|
|
|
|
|
|
|
const sidebarTheme = computed(() => { |
|
|
|
@ -187,9 +188,19 @@ watch( |
|
|
|
}, |
|
|
|
); |
|
|
|
|
|
|
|
const tabbarStore = useTabbarStore(); |
|
|
|
|
|
|
|
function refreshAll() { |
|
|
|
tabbarStore.cachedTabs.clear(); |
|
|
|
refresh(); |
|
|
|
} |
|
|
|
|
|
|
|
// 语言更新后,刷新页面 |
|
|
|
// i18n.global.locale会在preference.app.locale变更之后才会更新,因此watchpreference.app.locale是不合适的,刷新页面时可能语言配置尚未完全加载完成 |
|
|
|
watch(i18n.global.locale, refresh, { flush: 'post' }); |
|
|
|
watch(i18n.global.locale, refreshAll, { flush: 'post' }); |
|
|
|
|
|
|
|
// 时区更新后,刷新页面 |
|
|
|
watch(() => timezoneStore.timezone, refreshAll, { flush: 'post' }); |
|
|
|
|
|
|
|
const slots: SetupContext['slots'] = useSlots(); |
|
|
|
const headerSlots = computed(() => { |
|
|
|
|