Files
beautifier-web/src/layout/components/AppMain.vue
T
2026-04-03 16:45:16 +08:00

57 lines
1.1 KiB
Vue

<template>
<section class="app-main">
<router-view v-slot="{ Component, route }">
<transition name="router-fade" mode="out-in">
<keep-alive :include="cachedViews">
<component :is="Component" :key="route.fullPath" />
</keep-alive>
</transition>
</router-view>
</section>
</template>
<script setup lang="ts">
import { computed } from 'vue';
import useStore from '@/store';
const { tagsView } = useStore();
const cachedViews = computed(() => tagsView.cachedViews);
</script>
<style lang="scss" scoped>
@import '@/styles/variables.module.scss';
$fixed-header-offset: $navbarHeight + $tagsBarHeight;
.app-main {
min-height: calc(100vh - #{$navbarHeight});
width: 100%;
position: relative;
overflow: hidden;
}
.fixed-header + .app-main {
padding-top: $navbarHeight;
}
.hasTagsView {
.app-main {
min-height: calc(100vh - #{$fixed-header-offset});
}
.fixed-header + .app-main {
padding-top: $fixed-header-offset;
}
}
</style>
<style lang="scss">
// fix css style bug in open el-dialog
.el-popup-parent--hidden {
.fixed-header {
padding-right: 15px;
}
}
</style>