From 3f913c831f5e9f5cb469117351f3ab41143f67e8 Mon Sep 17 00:00:00 2001 From: zyronon Date: Thu, 2 Nov 2023 00:05:09 +0800 Subject: [PATCH] Optimize UI interface --- src/App.vue | 22 +- src/assets/css/style.scss | 2 + src/components/Toolbar/SettingModal.vue | 33 +- src/stores/base.ts | 468 ++++++++++++------------ src/stores/setting.ts | 151 ++++---- src/types.ts | 275 +++++++------- src/utils/index.ts | 4 +- 7 files changed, 507 insertions(+), 448 deletions(-) diff --git a/src/App.vue b/src/App.vue index 339e4beb..c0d88faa 100644 --- a/src/App.vue +++ b/src/App.vue @@ -2,14 +2,13 @@ import {onMounted, watch} from "vue"; import {useBaseStore} from "@/stores/base.ts"; -import {DictResource, SaveDictKey} from "@/types.ts" +import {SaveConfig, SaveDict} from "@/types.ts" import Practice from "@/components/Practice/Practice.vue" import {useEventListener, useStartKeyboardEventListener} from "@/hooks/event.ts"; import {useRuntimeStore} from "@/stores/runtime.ts"; import {useSettingStore} from "@/stores/setting.ts"; -import {dictionaryResources} from "@/assets/dictionary.ts"; -import {cloneDeep, groupBy} from "lodash-es"; -import {$ref} from "vue/macros"; +import {cloneDeep} from "lodash-es"; +import Backgorund from "@/components/Backgorund.vue"; const store = useBaseStore() const runtimeStore = useRuntimeStore() @@ -26,9 +25,11 @@ function followSystem() { } watch(store.$state, (n) => { - // console.log('state', JSON.stringify(n.current, null, 2)) - // console.log('state', n) - localStorage.setItem(SaveDictKey, JSON.stringify(n)) + localStorage.setItem(SaveDict.key, JSON.stringify({val: n, version: SaveDict.version})) +}) + +watch(settingStore.$state, (n) => { + localStorage.setItem(SaveConfig.key, JSON.stringify({val: n, version: SaveConfig.version})) }) //检测几个特定词典 @@ -49,6 +50,7 @@ useStartKeyboardEventListener() onMounted(() => { store.init() + settingStore.init() if (settingStore.theme !== 'auto') { document.documentElement.setAttribute('data-theme', settingStore.theme) } @@ -67,7 +69,9 @@ onMounted(() => {