ソースを参照

fix(@vben/layouts): correct logo theme in semi-dark sidebar (#7785) (#7902)

MistyMoon 1 ヶ月 前
コミット
ba60bc3c14
1 ファイル変更11 行追加1 行削除
  1. 11 1
      packages/effects/layouts/src/basic/layout.vue

+ 11 - 1
packages/effects/layouts/src/basic/layout.vue

@@ -43,6 +43,7 @@ const {
   isHeaderNav,
   isMixedNav,
   isMobile,
+  isSideMode,
   isSideMixedNav,
   isHeaderMixedNav,
   isHeaderSidebarNav,
@@ -108,6 +109,15 @@ const showHeaderNav = computed(() => {
   );
 });
 
+const logoTheme = computed(() => {
+  const showLogoInHeader =
+    !isSideMode.value ||
+    isHeaderSidebarNav.value ||
+    isMixedNav.value ||
+    isMobile.value;
+  return showLogoInHeader ? headerTheme.value : sidebarTheme.value;
+});
+
 const {
   handleMenuSelect,
   handleMenuOpen,
@@ -282,7 +292,7 @@ const headerSlots = computed(() => {
         :src="preferences.logo.source"
         :src-dark="preferences.logo.sourceDark"
         :text="preferences.app.name"
-        :theme="showHeaderNav ? headerTheme : theme"
+        :theme="logoTheme"
         @click="clickLogo"
       >
         <template v-if="$slots['logo-text']" #text>