fix: 🐛 主题首次切换无效问题修复
Former-commit-id: 1a5028c4e94d8ed28ca567ac2767fdbc8a8516f1
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
|
import defaultSettings from "@/settings";
|
||||||
import { useSettingsStore } from "@/store/modules/settings";
|
import { useSettingsStore } from "@/store/modules/settings";
|
||||||
|
|
||||||
const settingsStore = useSettingsStore();
|
const settingsStore = useSettingsStore();
|
||||||
@@ -35,7 +36,7 @@ const logo = ref(new URL(`../../../assets/logo.png`, import.meta.url).href);
|
|||||||
>
|
>
|
||||||
<img v-if="settingsStore.sidebarLogo" :src="logo" class="w-5 h-5" />
|
<img v-if="settingsStore.sidebarLogo" :src="logo" class="w-5 h-5" />
|
||||||
<span class="ml-3 text-white text-sm font-bold">
|
<span class="ml-3 text-white text-sm font-bold">
|
||||||
{{ $t("login.title") }}</span
|
{{ defaultSettings.title }}</span
|
||||||
>
|
>
|
||||||
</router-link>
|
</router-link>
|
||||||
</transition>
|
</transition>
|
||||||
|
|||||||
@@ -45,7 +45,9 @@ export const useSettingsStore = defineStore("setting", () => {
|
|||||||
break;
|
break;
|
||||||
case "theme":
|
case "theme":
|
||||||
theme.value = value;
|
theme.value = value;
|
||||||
if (theme.value !== "dark") {
|
if (theme.value === "dark") {
|
||||||
|
document.documentElement.classList.add("dark");
|
||||||
|
} else {
|
||||||
document.documentElement.classList.remove("dark");
|
document.documentElement.classList.remove("dark");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="login-container">
|
<div class="login-container">
|
||||||
<!-- 顶部 -->
|
<!-- 顶部 -->
|
||||||
<div class="absolute top-0 flex items-center justify-end px-25 h-20 w-full">
|
<div class="absolute top-0 flex items-center justify-end px-5 h-20 w-full">
|
||||||
<el-switch
|
<el-switch
|
||||||
v-model="isDark"
|
v-model="isDark"
|
||||||
inline-prompt
|
inline-prompt
|
||||||
@@ -11,16 +11,18 @@
|
|||||||
inactive-color="var(--el-color-primary)"
|
inactive-color="var(--el-color-primary)"
|
||||||
@change="handleThemeChange"
|
@change="handleThemeChange"
|
||||||
/>
|
/>
|
||||||
<lang-select class="ml-4 cursor-pointer" />
|
<lang-select class="ml-2 cursor-pointer" />
|
||||||
</div>
|
</div>
|
||||||
<!-- 登录表单 -->
|
<!-- 登录表单 -->
|
||||||
<el-card
|
<el-card
|
||||||
class="z-1 !border-none w-100 !bg-transparent !rounded-4% <sm:w-83"
|
class="z-1 !border-none w-100 !bg-transparent !rounded-4% <sm:w-83"
|
||||||
>
|
>
|
||||||
<h2 class="text-center">
|
<div class="text-center relative">
|
||||||
{{ defaultSettings.title }}
|
<h2>{{ defaultSettings.title }}</h2>
|
||||||
<el-tag class="ml-2">{{ defaultSettings.version }}</el-tag>
|
<el-tag class="ml-2 absolute top-0 right-0">{{
|
||||||
</h2>
|
defaultSettings.version
|
||||||
|
}}</el-tag>
|
||||||
|
</div>
|
||||||
<el-form
|
<el-form
|
||||||
ref="loginFormRef"
|
ref="loginFormRef"
|
||||||
:model="loginData"
|
:model="loginData"
|
||||||
@@ -145,17 +147,18 @@ import { LoginData } from "@/api/auth/types";
|
|||||||
import defaultSettings from "@/settings";
|
import defaultSettings from "@/settings";
|
||||||
|
|
||||||
const appStore = useAppStore();
|
const appStore = useAppStore();
|
||||||
|
const settingsStore = useSettingsStore();
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
const route = useRoute();
|
const route = useRoute();
|
||||||
|
|
||||||
const isDark = useDark();
|
const isDark = ref<boolean>(settingsStore.theme === "dark");
|
||||||
const toggleDark = () => useToggle(isDark);
|
|
||||||
|
|
||||||
function handleThemeChange() {
|
function handleThemeChange(isDark: boolean) {
|
||||||
toggleDark();
|
console.log("登录页面主题切换", isDark);
|
||||||
useSettingsStore().changeSetting({
|
useToggle(isDark);
|
||||||
|
settingsStore.changeSetting({
|
||||||
key: "theme",
|
key: "theme",
|
||||||
value: isDark.value ? "dark" : "light",
|
value: isDark ? "dark" : "light",
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user