From 8b224c145aae0c7b56216a6d02197a7fdda87935 Mon Sep 17 00:00:00 2001 From: zyronon Date: Sun, 3 Dec 2023 03:25:03 +0800 Subject: [PATCH] save --- src/App.vue | 2 +- src/hooks/dict.ts | 4 ++++ src/pages/dict/components/WordDictDetail.vue | 11 ++++++++--- src/pages/practice/index.vue | 3 +++ src/stores/base.ts | 2 +- src/types.ts | 2 +- 6 files changed, 18 insertions(+), 6 deletions(-) diff --git a/src/App.vue b/src/App.vue index a6055606..14943b3a 100644 --- a/src/App.vue +++ b/src/App.vue @@ -12,6 +12,7 @@ import useTheme from "@/hooks/theme.ts"; import * as localforage from "localforage"; import SettingDialog from "@/components/dialog/SettingDialog.vue"; import ArticleContentDialog from "@/components/dialog/ArticleContentDialog.vue"; +import {useStartKeyboardEventListener} from "@/hooks/event.ts"; const store = useBaseStore() const runtimeStore = useRuntimeStore() @@ -61,7 +62,6 @@ onMounted(() => { init() }) -// useStartKeyboardEventListener() diff --git a/src/hooks/dict.ts b/src/hooks/dict.ts index 27289415..cbb8befd 100644 --- a/src/hooks/dict.ts +++ b/src/hooks/dict.ts @@ -25,6 +25,8 @@ export function useWordOptions() { } store.collect.originWords.push(val) } + + store.collect.length = store.collect.originWords.length } function isWordSimple(val: Word) { @@ -42,6 +44,8 @@ export function useWordOptions() { } store.simple.originWords.push(val) } + + store.simple.length = store.simple.originWords.length } function delWrongWord(val: Word) { diff --git a/src/pages/dict/components/WordDictDetail.vue b/src/pages/dict/components/WordDictDetail.vue index aa8200c0..fa1bd137 100644 --- a/src/pages/dict/components/WordDictDetail.vue +++ b/src/pages/dict/components/WordDictDetail.vue @@ -58,6 +58,7 @@ let chapterWordList: Word[] = $computed({ }, set(newValue) { runtimeStore.editDict.chapterWords[chapterIndex] = newValue + syncMyDictList(runtimeStore.editDict) } }) @@ -67,6 +68,7 @@ let residueWordList: Word[] = $computed({ }, set(newValue) { runtimeStore.editDict.residueWords = newValue + syncMyDictList(runtimeStore.editDict) } }) @@ -413,7 +415,7 @@ function changeSort(v: Sort) { resetChapterList() } -function resetChapterList(num?: number) { +function resetChapterList(num?: number, sync?: boolean) { if (num !== undefined) { runtimeStore.editDict.chapterWordNumber = num } @@ -423,6 +425,9 @@ function resetChapterList(num?: number) { runtimeStore.editDict.chapterWords = chunk(runtimeStore.editDict.words, runtimeStore.editDict.chapterWordNumber) runtimeStore.editDict.length = runtimeStore.editDict.words.length chapterList2 = runtimeStore.editDict.chapterWords.map((v, i) => ({id: i})) + if (sync!==undefined){ + syncMyDictList(runtimeStore.editDict) + } } async function resetDict() { @@ -711,7 +716,7 @@ defineExpose({getDictDetail, add: addWord, editDict})
@@ -733,7 +738,7 @@ defineExpose({getDictDetail, add: addWord, editDict})
最小:10 - 最大:{{ runtimeStore.editDict.words.length}} + 最大:{{ runtimeStore.editDict.words.length }}
diff --git a/src/pages/practice/index.vue b/src/pages/practice/index.vue index 3c0c964c..c6f4f305 100644 --- a/src/pages/practice/index.vue +++ b/src/pages/practice/index.vue @@ -17,6 +17,7 @@ import {ShortcutKey} from "@/types.ts"; import useTheme from "@/hooks/theme.ts"; import SettingDialog from "@/components/dialog/SettingDialog.vue"; import DictModal from "@/components/dialog/DictDiglog.vue"; +import {useStartKeyboardEventListener} from "@/hooks/event.ts"; const practiceStore = usePracticeStore() const store = useBaseStore() @@ -154,6 +155,8 @@ onUnmounted(() => { emitter.off(ShortcutKey.TogglePanel, togglePanel) }) +useStartKeyboardEventListener() +