1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- <script lang="ts" setup>
- import { useLayoutMode } from "@/hooks/useLayoutMode"
- import logo from "@/assets/layouts/logo.png?url"
- // import logoText1 from "@/assets/layouts/logo-text-1.png?url"
- // import logoText2 from "@/assets/layouts/logo-text-2.png?url"
- interface Props {
- collapse?: boolean
- }
- const props = withDefaults(defineProps<Props>(), {
- collapse: true
- })
- const { isLeft, isTop } = useLayoutMode()
- </script>
- <template>
- <div class="layout-logo-container" :class="{ collapse: props.collapse, 'layout-mode-top': isTop }">
- <transition name="layout-logo-fade">
- <router-link v-if="props.collapse" key="collapse" to="/">
- <img :src="logo" class="layout-logo" />
- </router-link>
- <router-link v-else key="expand" to="/">
- <div class="layout-logo-text">
- <img class="latout_card" src="@/assets/layouts/logo.png" />
- <span :style="{ color: (!isLeft ? '#000' : '#fff') }">面板组件管理</span>
- </div>
- </router-link>
- </transition>
- </div>
- </template>
- <style lang="scss" scoped>
- .layout-logo-container {
- position: relative;
- width: 100%;
- height: var(--v3-header-height);
- line-height: var(--v3-header-height);
- text-align: center;
- overflow: hidden;
- .layout-logo {
- display: none;
- }
- .layout-logo-text {
- display: flex;
- align-items: center;
- height: 100%;
- vertical-align: middle;
- justify-content: center;
- span {
- margin-left: 10px;
- font-size: 23px;
- }
- }
- }
- .latout_card {
- width: 32px;
- height: 32px;
- }
- .layout-mode-top {
- height: var(--v3-navigationbar-height);
- line-height: var(--v3-navigationbar-height);
- }
- .collapse {
- .layout-logo {
- width: 32px;
- height: 32px;
- vertical-align: middle;
- display: inline-block;
- }
- .layout-logo-text {
- display: none;
- }
- }
- </style>
|