Browse Source

fix: 修复隐藏标签页问题 (#69)

* fix: 修复隐藏标签页问题
一万 3 years ago
parent
commit
70af35dbf5

+ 11 - 0
src/layout/components/setting/index.vue

@@ -1,5 +1,6 @@
 <script setup lang="ts">
 import { split } from "lodash-es";
+import { nextTick } from "vue";
 import panel from "../panel/index.vue";
 import { useRouter } from "vue-router";
 import { emitter } from "/@/utils/mitt";
@@ -47,6 +48,16 @@ settings.weekVal === null
   ? localOperate("weekVal", false, "set")
   : document.querySelector("html")?.setAttribute("class", "html-weakness");
 
+if (settings.tagsVal === null) {
+  localOperate("tagsVal", false, "set");
+  settings.tagsVal = false;
+}
+nextTick(() => {
+  window.document
+    .querySelector(".app-main")
+    ?.setAttribute("data-show-tag", settings.tagsVal);
+});
+
 function toggleClass(flag: boolean, clsName: string, target?: HTMLElement) {
   const targetEl = target || document.body;
   let { className } = targetEl;

+ 3 - 0
src/layout/components/tag/index.vue

@@ -447,6 +447,9 @@ onBeforeMount(() => {
   emitter.on("tagViewsChange", key => {
     if (unref(showTags) === key) return;
     showTags.value = key;
+    window.document
+      .querySelector(".app-main")
+      ?.setAttribute("data-show-tag", key);
   });
 
   // 改变标签风格

+ 11 - 3
src/style/sidebar.scss

@@ -513,10 +513,14 @@
 }
 
 body[data-layout="vertical"] {
-  .fixed-header + .app-main {
+  .fixed-header + .app-main[data-show-tag="false"] {
     padding-top: 85px;
   }
 
+  .fixed-header + .app-main[data-show-tag="true"] {
+    padding-top: 48px;
+  }
+
   .hideSidebar {
     .fixed-header {
       width: calc(100% - 54px) !important;
@@ -573,8 +577,12 @@ body[data-layout="horizontal"] {
     transition: none !important;
   }
 
-  .fixed-header + .app-main {
-    padding-top: 98px;
+  .fixed-header + .app-main[data-show-tag="false"] {
+    padding-top: 100px;
+  }
+
+  .fixed-header + .app-main[data-show-tag="true"] {
+    padding-top: 62px;
   }
 }