diff --git a/.changes/refactor-submit.md b/.changes/refactor-submit.md new file mode 100644 index 0000000..757cd86 --- /dev/null +++ b/.changes/refactor-submit.md @@ -0,0 +1,5 @@ +--- +"algohub": patch:refactor +--- + +Refactor and enable code submission in monaco editor. diff --git a/src/components/MonacoEditor.vue b/src/components/MonacoEditor.vue index 172778c..f6817dc 100644 --- a/src/components/MonacoEditor.vue +++ b/src/components/MonacoEditor.vue @@ -11,9 +11,10 @@ import htmlWorker from 'monaco-editor/esm/vs/language/html/html.worker?worker'; import tsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker'; import { useThemeStore } from '@/scripts/store'; import type { SelectChangeEvent } from 'primevue'; +import { Language } from '@/scripts/types'; -const code = defineModel('code', { required: true }); -const language = defineModel('language', { default: 'rust' }); +const language = defineModel('language', { default: Language.Rust }); +const emit = defineEmits(['submit']) const themeStore = useThemeStore(); @@ -55,7 +56,7 @@ onMounted(async () => { } loader.config({ monaco }) editor.value = await loader.init().then((monaco) => monaco.editor.create(editorContainer.value, { - value: code.value, + value: '', language: 'rust', theme: themeStore.dark ? 'vs-dark' : 'vs', fontFamily: 'Cascadia Code, Consolas, Menlo, Monaco, "Courier New", monospace', @@ -77,10 +78,10 @@ onBeforeUnmount(disposeEditor) onBeforeRouteLeave(disposeEditor) const languageOptions = [ - { name: 'Rust', value: 'rust' }, - { name: 'Python', value: 'python' }, - { name: 'C', value: 'c' }, - { name: 'C++', value: 'cpp' }, + { name: 'Rust', value: Language.Rust }, + { name: 'Python', value: Language.Python }, + { name: 'C', value: Language.C }, + { name: 'C++', value: Language.Cpp }, ] const onChangeLanguage = (value: SelectChangeEvent) => { @@ -97,7 +98,8 @@ const onChangeLanguage = (value: SelectChangeEvent) => {