fix: 🐛 修复混合布局下侧边栏配色为白色时组件 huamburger 无法显示问题

This commit is contained in:
Ray.Hao
2025-02-21 00:11:01 +08:00
parent 60a4d28162
commit 1787bf36f3

View File

@@ -1,20 +1,38 @@
<template> <template>
<div class="hamburger-wrapper" @click="toggleClick"> <div class="hamburger-wrapper" @click="toggleClick">
<div :class="['i-svg:collapse', { hamburger: true, 'is-active': isActive }]" /> <div :class="['i-svg:collapse', { hamburger: true, 'is-active': isActive }, hamburgerClass]" />
</div> </div>
</template> </template>
<script setup lang="ts"> <script setup lang="ts">
import { useSettingsStore } from "@/store";
import { ThemeEnum, SidebarColorEnum } from "@/enums/ThemeEnum";
import { LayoutEnum } from "@/enums/LayoutEnum";
defineProps({ defineProps({
isActive: { isActive: { type: Boolean, required: true },
required: true,
type: Boolean,
default: false,
},
}); });
const emit = defineEmits(["toggleClick"]); const emit = defineEmits(["toggleClick"]);
const settingsStore = useSettingsStore();
const layout = computed(() => settingsStore.layout);
const hamburgerClass = computed(() => {
// 如果暗黑主题
if (settingsStore.theme === ThemeEnum.DARK) {
return "hamburger--white";
}
// 如果是混合布局 && 侧边栏配色方案是经典蓝
if (
layout.value === LayoutEnum.MIX &&
settingsStore.sidebarColorScheme === SidebarColorEnum.CLASSIC_BLUE
) {
return "hamburger--white";
}
});
function toggleClick() { function toggleClick() {
emit("toggleClick"); emit("toggleClick");
} }
@@ -26,20 +44,20 @@ function toggleClick() {
align-items: center; align-items: center;
justify-content: center; justify-content: center;
padding: 0 15px; padding: 0 15px;
cursor: pointer;
.hamburger { .hamburger {
vertical-align: middle; vertical-align: middle;
cursor: pointer;
transform: scaleX(-1); transform: scaleX(-1);
transition: transform 0.3s ease;
&--white {
color: #fff;
} }
.hamburger.is-active { &.is-active {
transform: scaleX(1); transform: scaleX(1);
} }
} }
.layout-mix {
.hamburger-wrapper {
color: #fff;
}
} }
</style> </style>