diff --git a/frontend/src/lib/editor.svelte b/frontend/src/lib/editor.svelte index 8396fcc..3c3fd5a 100644 --- a/frontend/src/lib/editor.svelte +++ b/frontend/src/lib/editor.svelte @@ -2,33 +2,18 @@ import { getLocalization } from '$lib/i18n'; import * as yup from 'yup'; import { dataSchema } from '$lib/yupSchemas'; + import type { EditorData, Question, Answer } from './quiz_types'; + import Sidebar from '$lib/editor/sidebar.svelte'; + import SettingsCard from '$lib/editor/settings-card.svelte'; const { t } = getLocalization(); let schemaInvalid = false; let yupErrorMessage = ''; - interface Data { - public: boolean; - title: string; - description: string; - questions: Question[]; - } - - interface Question { - question: string; - time: string; - image?: string; - answers: Answer[]; - } - - interface Answer { - right: boolean; - answer: string; - } - - export let data: Data; + export let data: EditorData; export let submit_button_text = 'Create'; + let selected_question = -1; let imgur_links_valid = false; const empty_question: Question = { @@ -43,7 +28,7 @@ ] }; - const validateInput = async (data: Data) => { + const validateInput = async (data: EditorData) => { try { await dataSchema.validate(data, { abortEarly: false }); schemaInvalid = false; @@ -79,189 +64,13 @@ }; - - -