chore: lazy load layout preferences
This commit is contained in:
@@ -4,7 +4,13 @@ import type { RouteLocationNormalizedLoaded } from 'vue-router';
|
|||||||
|
|
||||||
import type { MenuRecordRaw } from '@vben/types';
|
import type { MenuRecordRaw } from '@vben/types';
|
||||||
|
|
||||||
import { computed, onMounted, useSlots, watch } from 'vue';
|
import {
|
||||||
|
computed,
|
||||||
|
defineAsyncComponent,
|
||||||
|
onMounted,
|
||||||
|
useSlots,
|
||||||
|
watch,
|
||||||
|
} from 'vue';
|
||||||
import { useRoute } from 'vue-router';
|
import { useRoute } from 'vue-router';
|
||||||
|
|
||||||
import { useRefresh } from '@vben/hooks';
|
import { useRefresh } from '@vben/hooks';
|
||||||
@@ -18,9 +24,11 @@ import { useAccessStore } from '@vben/stores';
|
|||||||
import { cloneDeep, mapTree } from '@vben/utils';
|
import { cloneDeep, mapTree } from '@vben/utils';
|
||||||
|
|
||||||
import { VbenAdminLayout } from '@vben-core/layout-ui';
|
import { VbenAdminLayout } from '@vben-core/layout-ui';
|
||||||
import { VbenBackTop, VbenLogo } from '@vben-core/shadcn-ui';
|
|
||||||
|
|
||||||
import { Breadcrumb, CheckUpdates, Preferences } from '../widgets';
|
import VbenBackTop from '../../../../@core/ui-kit/shadcn-ui/src/components/back-top/back-top.vue';
|
||||||
|
import VbenLogo from '../../../../@core/ui-kit/shadcn-ui/src/components/logo/logo.vue';
|
||||||
|
import Breadcrumb from '../widgets/breadcrumb.vue';
|
||||||
|
import CheckUpdates from '../widgets/check-updates/check-updates.vue';
|
||||||
import { LayoutContent, LayoutContentSpinner } from './content';
|
import { LayoutContent, LayoutContentSpinner } from './content';
|
||||||
import { Copyright } from './copyright';
|
import { Copyright } from './copyright';
|
||||||
import { LayoutFooter } from './footer';
|
import { LayoutFooter } from './footer';
|
||||||
@@ -36,6 +44,10 @@ import { LayoutTabbar } from './tabbar';
|
|||||||
|
|
||||||
defineOptions({ name: 'BasicLayout' });
|
defineOptions({ name: 'BasicLayout' });
|
||||||
|
|
||||||
|
const Preferences = defineAsyncComponent(
|
||||||
|
() => import('../widgets/preferences/preferences.vue'),
|
||||||
|
);
|
||||||
|
|
||||||
const emit = defineEmits<{ clearPreferencesAndLogout: []; clickLogo: [] }>();
|
const emit = defineEmits<{ clearPreferencesAndLogout: []; clickLogo: [] }>();
|
||||||
|
|
||||||
const {
|
const {
|
||||||
|
|||||||
@@ -1,14 +1,14 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import type { BreadcrumbStyleType } from '@vben/types';
|
import type { BreadcrumbStyleType } from '@vben/types';
|
||||||
|
|
||||||
import type { IBreadcrumb } from '@vben-core/shadcn-ui';
|
import type { IBreadcrumb } from '../../../../@core/ui-kit/shadcn-ui/src/components/breadcrumb/types';
|
||||||
|
|
||||||
import { computed } from 'vue';
|
import { computed } from 'vue';
|
||||||
import { useRoute, useRouter } from 'vue-router';
|
import { useRoute, useRouter } from 'vue-router';
|
||||||
|
|
||||||
import { $t } from '@vben/locales';
|
import { $t } from '@vben/locales';
|
||||||
|
|
||||||
import { VbenBreadcrumbView } from '@vben-core/shadcn-ui';
|
import VbenBreadcrumbView from '../../../../@core/ui-kit/shadcn-ui/src/components/breadcrumb/breadcrumb-view.vue';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
hideWhenOnlyOne?: boolean;
|
hideWhenOnlyOne?: boolean;
|
||||||
|
|||||||
Reference in New Issue
Block a user