From d0a5de3720b42e271b0076af1983bc89b866eb47 Mon Sep 17 00:00:00 2001 From: yuetsh <517252939@qq.com> Date: Mon, 17 Apr 2023 20:39:41 +0800 Subject: [PATCH] fix. --- src/oj/problem/components/Editor.vue | 21 +++++++++++++++------ src/oj/problem/components/Form.vue | 6 ++---- 2 files changed, 17 insertions(+), 10 deletions(-) diff --git a/src/oj/problem/components/Editor.vue b/src/oj/problem/components/Editor.vue index e78ddfc..bcee3e8 100644 --- a/src/oj/problem/components/Editor.vue +++ b/src/oj/problem/components/Editor.vue @@ -13,7 +13,8 @@ const route = useRoute() const contestID = !!route.params.contestID ? route.params.contestID : null const storageKey = computed( - () => `problem_${problem.value!._id}_contest_${contestID}` + () => + `problem_${problem.value!._id}_contest_${contestID}_lang_${code.language}` ) onMounted(() => { @@ -29,18 +30,26 @@ const editorHeight = computed(() => isDesktop.value ? "calc(100vh - 133px)" : "calc(100vh - 172px)" ) -function reset() { - storage.remove(storageKey.value) -} - function changeCode(v: string) { storage.set(storageKey.value, v) } + +function changeLanguage(v: string) { + if ( + storage.get(storageKey.value) && + storageKey.value.split("_").pop() === v + ) { + code.value = storage.get(storageKey.value) + } else { + code.value = + problem.value!.template[code.language] || SOURCES[code.language] + } +}