Files
2024-03-13 16:47:34 +08:00

43 lines
928 B
Vue

<template>
<el-config-provider :locale="locale_el">
<router-view />
</el-config-provider>
</template>
<script setup>
import ru from "element-plus/dist/locale/ru";
import zhCn from "element-plus/dist/locale/zh-cn";
import useSettingsStore from "@/store/modules/settings";
import { handleThemeStyle } from "@/utils/theme";
import { computed, watch } from "vue";
import { useI18n } from "vue-i18n";
const settingsStore = useSettingsStore();
const { locale } = useI18n();
const locale_el = computed(() => {
let locale = zhCn;
if (settingsStore.locale === "zh") {
locale = zhCn;
} else if (settingsStore.locale === "ru") {
locale = ru;
}
return locale;
});
watch(
() => settingsStore.locale,
(newVal) => {
locale.value = newVal;
},
{ immediate: true },
);
onMounted(() => {
nextTick(() => {
// 初始化主题样式
handleThemeStyle(useSettingsStore().theme);
});
});
</script>