From 5dddc31bfaf920652edbaee7813fbc0ef1a95f18 Mon Sep 17 00:00:00 2001 From: chaos-zhu Date: Sat, 17 Aug 2024 23:48:22 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E6=94=AF=E6=8C=81=E6=9A=97?= =?UTF-8?q?=E9=BB=91=E4=B8=BB=E9=A2=98=E5=88=87=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/assets/scss/element/dark.scss | 18 ++++++++-------- web/src/components/top-bar.vue | 6 ++---- web/src/store/index.js | 6 +++++- web/src/views/index.vue | 2 +- .../views/server/components/host-table.vue | 21 ++++--------------- web/src/views/server/index.vue | 19 +++++++---------- 6 files changed, 28 insertions(+), 44 deletions(-) diff --git a/web/src/assets/scss/element/dark.scss b/web/src/assets/scss/element/dark.scss index cac72df..71a626a 100644 --- a/web/src/assets/scss/element/dark.scss +++ b/web/src/assets/scss/element/dark.scss @@ -14,7 +14,7 @@ html.dark { // * admin --bg-color: #000; - --v-main-bg-color: #181818; + --main-bg-color: #181818; --v-border-light: 1px solid #4c4c4d; body { @@ -24,20 +24,20 @@ html.dark { .login_container { // background: rgba(171, 181, 196, 0.3); .login_box { - background-color: var(--v-main-bg-color) !important; + background-color: var(--main-bg-color) !important; } } .top_bar_container { - background-color: var(--bg-color) !important; + background-color: var(--main-bg-color) !important; } .router_box { - background-color: var(--v-main-bg-color) !important; + background-color: var(--main-bg-color) !important; } .aside_container { - background-color: var(--v-main-bg-color) !important; + background-color: var(--main-bg-color) !important; } .terminal_top { @@ -66,7 +66,7 @@ html.dark { } .app-main-container { - background-color: var(--v-main-bg-color) !important; + background-color: var(--main-bg-color) !important; .card { background-color: var(--bg-color) !important; @@ -75,7 +75,7 @@ html.dark { .layout-footer-container { color: var(--el-text-color-regular) !important; - background-color: var(--v-main-bg-color) !important; + background-color: var(--main-bg-color) !important; } .fold-unfold { @@ -128,7 +128,7 @@ html.dark { .el-tabs__item.is-active { color: var(--el-color-primary); - background-color: var(--v-main-bg-color) !important; + background-color: var(--main-bg-color) !important; .el-icon { color: var(--el-color-primary) !important; @@ -136,7 +136,7 @@ html.dark { } .el-tabs__item:not(.is_active):hover { - background-color: var(--v-main-bg-color) !important; + background-color: var(--main-bg-color) !important; .el-icon { color: var(--el-color-primary) !important; diff --git a/web/src/components/top-bar.vue b/web/src/components/top-bar.vue index a8b3c0f..22fbbec 100644 --- a/web/src/components/top-bar.vue +++ b/web/src/components/top-bar.vue @@ -9,7 +9,6 @@ :active-icon="Moon" :inactive-icon="Sunny" class="dark_switch" - @change="setTheme" /> latestVersion.value && latestVersion.value !== currentVersion.value) let user = computed(() => $store.user) let title = computed(() => $store.title) let isDark = computed({ get: () => $store.isDark, - set: (value) => { - $store.setTheme({ isDark: value }) + set: (isDark) => { + $store.setTheme(isDark) } }) diff --git a/web/src/store/index.js b/web/src/store/index.js index 75eadc0..6fecdfb 100644 --- a/web/src/store/index.js +++ b/web/src/store/index.js @@ -114,6 +114,10 @@ const useStore = defineStore({ setTheme(isDark) { // $store.setThemeConfig({ isDark: val }) const html = document.documentElement + document.startViewTransition(() => { + // 在 startViewTransition 中修改 DOM 状态产生动画 + document.documentElement.classList.toggle('dark') + }) if (isDark) html.setAttribute('class', 'dark') else html.setAttribute('class', '') localStorage.setItem('isDark', isDark) @@ -126,7 +130,7 @@ const useStore = defineStore({ } else { const prefersDarkScheme = window.matchMedia('(prefers-color-scheme: dark)') const systemTheme = prefersDarkScheme.matches - // console.log('当前系统使用的是深色模式:', systemTheme ? '是' : '否') + console.log('当前系统使用的是深色模式:', systemTheme ? '是' : '否') isDark = systemTheme } this.setTheme(isDark) diff --git a/web/src/views/index.vue b/web/src/views/index.vue index 970673d..637ef75 100644 --- a/web/src/views/index.vue +++ b/web/src/views/index.vue @@ -52,7 +52,7 @@ onBeforeMount(async () => { min-height: calc(100vh - 60px - 20px); background-color: #fff; border-radius: 6px; - margin: 0 10px 10px; + margin: 10px; } } } diff --git a/web/src/views/server/components/host-table.vue b/web/src/views/server/components/host-table.vue index eb0393a..24be4c1 100644 --- a/web/src/views/server/components/host-table.vue +++ b/web/src/views/server/components/host-table.vue @@ -1,5 +1,5 @@