You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
paopao-ce/web/src/App.vue

56 lines
1.9 KiB

3 years ago
<template>
<n-config-provider :theme="theme">
<n-message-provider>
<n-dialog-provider>
<div
class="app-container"
:class="{ dark: theme?.name === 'dark', mobile: !store.state.desktopModelShow }"
>
<div has-sider class="main-wrap" position="static" >
<!-- -->
<div v-if="store.state.desktopModelShow">
<sidebar />
</div>
3 years ago
<div class="content-wrap">
<router-view
class="app-wrap"
v-slot="{ Component }"
>
<keep-alive>
<component
v-if="$route.meta.keepAlive"
:is="Component"
/>
</keep-alive>
3 years ago
<component
v-if="!$route.meta.keepAlive"
3 years ago
:is="Component"
/>
</router-view>
</div>
3 years ago
<!-- -->
<rightbar />
</div>
<!-- / -->
<auth />
3 years ago
</div>
</n-dialog-provider>
3 years ago
</n-message-provider>
<n-global-style />
</n-config-provider>
</template>
<script setup lang="ts">
3 years ago
import { computed } from 'vue';
import { useStore } from 'vuex';
import { darkTheme } from 'naive-ui';
const store = useStore();
const theme = computed(() => (store.state.theme === 'dark' ? darkTheme : null));
</script>
<style lang="less">
@import '@/assets/css/main.less';
</style>