|
|
|
|
@ -1,9 +1,12 @@
|
|
|
|
|
<script lang="ts" setup>
|
|
|
|
|
import type { MenuRecordRaw } from '@vben/types';
|
|
|
|
|
import type { SetupContext } from 'vue';
|
|
|
|
|
|
|
|
|
|
import type { MenuRecordRaw } from '@vben/types';
|
|
|
|
|
|
|
|
|
|
import { computed, useSlots, watch } from 'vue';
|
|
|
|
|
|
|
|
|
|
import { useRefresh } from '@vben/hooks';
|
|
|
|
|
import { $t } from '@vben/locales';
|
|
|
|
|
import { $t, i18n } from '@vben/locales';
|
|
|
|
|
import {
|
|
|
|
|
preferences,
|
|
|
|
|
updatePreferences,
|
|
|
|
|
@ -11,9 +14,9 @@ import {
|
|
|
|
|
} from '@vben/preferences';
|
|
|
|
|
import { useLockStore } from '@vben/stores';
|
|
|
|
|
import { cloneDeep, mapTree } from '@vben/utils';
|
|
|
|
|
|
|
|
|
|
import { VbenAdminLayout } from '@vben-core/layout-ui';
|
|
|
|
|
import { VbenBackTop, VbenLogo } from '@vben-core/shadcn-ui';
|
|
|
|
|
import { computed, useSlots, watch } from 'vue';
|
|
|
|
|
|
|
|
|
|
import { Breadcrumb, CheckUpdates, Preferences } from '../widgets';
|
|
|
|
|
import { LayoutContent, LayoutContentSpinner } from './content';
|
|
|
|
|
@ -160,7 +163,8 @@ watch(
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
// 语言更新后,刷新页面
|
|
|
|
|
watch(() => preferences.app.locale, refresh, { flush: 'post' });
|
|
|
|
|
// i18n.global.locale会在preference.app.locale变更之后才会更新,因此watchpreference.app.locale是不合适的,刷新页面时可能语言配置尚未完全加载完成
|
|
|
|
|
watch(i18n.global.locale, refresh, { flush: 'post' });
|
|
|
|
|
|
|
|
|
|
const slots: SetupContext['slots'] = useSlots();
|
|
|
|
|
const headerSlots = computed(() => {
|
|
|
|
|
|