| | |
| | | <template> |
| | | <section class="app-main"> |
| | | <section :class="['app-main', {'no-decoration': route.meta.decoration === false}]"> |
| | | <router-view v-slot="{ Component, route }"> |
| | | <transition name="fade-transform" mode="out-in"> |
| | | <keep-alive :include="cachedViews"> |
| | | <component :is="Component" :key="route.fullPath" /> |
| | | <component :is="Component" :key="route.name" /> |
| | | </keep-alive> |
| | | </transition> |
| | | </router-view> |
| | |
| | | import { defineComponent } from 'vue'; |
| | | import { useTagsViewStore } from '@/store/tagsView'; |
| | | import { storeToRefs } from 'pinia'; |
| | | import { useRoute, useRouter } from "vue-router"; |
| | | const route = useRoute(); |
| | | const router = useRouter(); |
| | | |
| | | const tagsViewStore = useTagsViewStore(); |
| | | const { cachedViews } = storeToRefs(tagsViewStore); |
| | | |
| | |
| | | |
| | | .hasTagsView { |
| | | .app-main { |
| | | /* 84 = navbar + tags-view = 50 + 34 */ |
| | | // height: 100vh; |
| | | |
| | | height: calc(100vh - 148px); |
| | | // height: calc(100vh - 148px); |
| | | background: url("@/assets/images/bg-side.png") calc(100% + 8px) top e('/') auto 80% no-repeat; |
| | | // position: relative; |
| | | z-index: 0; |
| | |
| | | transform: scaleX(-1); |
| | | background: url("@/assets/images/bg-side.png") calc(100% + 8px) top e('/') auto 80% no-repeat; |
| | | } |
| | | &.no-decoration { |
| | | background: transparent; |
| | | &::before { |
| | | background: transparent; |
| | | } |
| | | } |
| | | } |
| | | |
| | | // .fixed-header+.app-main { |