✨ Added new range-answer type
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
<!--
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
-->
|
||||
<script context="module">
|
||||
/** @type {import('@sveltejs/kit').Load} */ export function load({ error, status }) {
|
||||
return {
|
||||
props: {
|
||||
status,
|
||||
message: error.message
|
||||
}
|
||||
};
|
||||
}
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
import { navbarVisible } from '$lib/stores';
|
||||
navbarVisible.set(true);
|
||||
export let status: number;
|
||||
export let message: string;
|
||||
</script>
|
||||
|
||||
<!--
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
-->
|
||||
|
||||
<svelte:head>
|
||||
<title>Error - {status}</title>
|
||||
</svelte:head>
|
||||
<h1 class="text-6xl text-center">{status}</h1>
|
||||
|
||||
{#if status === 404}
|
||||
<p class="text-center">
|
||||
The page you were looking for is gone or never even existed. Who knows?
|
||||
</p>
|
||||
{:else}
|
||||
<p>
|
||||
That shouldn't happen. It's probably my fault, not yours, but maybe you have a magical power
|
||||
to break stuff...
|
||||
</p>
|
||||
{/if}
|
||||
|
||||
<div class="flex justify-center mt-8">
|
||||
<img
|
||||
class="rounded-lg"
|
||||
src="https://http.cat/{status}"
|
||||
alt="Cat representing the {status}-http error code"
|
||||
/>
|
||||
</div>
|
||||
@@ -36,6 +36,7 @@
|
||||
import Editor from '$lib/editor.svelte';
|
||||
import { getLocalization } from '$lib/i18n';
|
||||
import { navbarVisible } from '$lib/stores';
|
||||
import { QuizQuestionType } from '../lib/quiz_types';
|
||||
|
||||
navbarVisible.set(false);
|
||||
|
||||
@@ -72,7 +73,16 @@
|
||||
if (response.status === 404) {
|
||||
throw new Error('Quiz not found');
|
||||
} else if (response.status === 200) {
|
||||
data = await response.json();
|
||||
let temp_data = await response.json();
|
||||
for (let i = 0; i < temp_data.questions.length; i++) {
|
||||
let question = temp_data.questions[i];
|
||||
if (question.type === undefined) {
|
||||
temp_data.questions[i].type = QuizQuestionType.ABCD;
|
||||
} else {
|
||||
temp_data.questions[i].type = QuizQuestionType[question.type];
|
||||
}
|
||||
}
|
||||
data = temp_data;
|
||||
return;
|
||||
}
|
||||
};
|
||||
|
||||
@@ -15,6 +15,8 @@
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
import { navbarVisible } from '$lib/stores';
|
||||
navbarVisible.set(true);
|
||||
import SearchCard from '$lib/search-card.svelte';
|
||||
const getData = async () => {
|
||||
const response = await fetch('/api/v1/search/', {
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
import ShowResults from '$lib/play/show_results.svelte';
|
||||
import { navbarVisible } from '$lib/stores';
|
||||
import ShowEndScreen from '$lib/play/end.svelte';
|
||||
import { QuizQuestionType } from '$lib/quiz_types';
|
||||
|
||||
// Exports
|
||||
export let game_pin: string;
|
||||
@@ -69,7 +70,16 @@
|
||||
// Socket-events
|
||||
socket.on('joined_game', (data) => {
|
||||
console.log('joined_game', data);
|
||||
gameData = JSON.parse(data);
|
||||
let temp_data = JSON.parse(data);
|
||||
for (let i = 0; i < temp_data.questions.length; i++) {
|
||||
let question = temp_data.questions[i];
|
||||
if (question.type === undefined) {
|
||||
temp_data.questions[i].type = QuizQuestionType.ABCD;
|
||||
} else {
|
||||
temp_data.questions[i].type = QuizQuestionType[question.type];
|
||||
}
|
||||
}
|
||||
gameData = temp_data;
|
||||
// eslint-disable-next-line no-undef
|
||||
plausible('Joined Game', { props: { quiz_id: gameData.quiz_id } });
|
||||
});
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
export async function load({ params, fetch, session }) {
|
||||
const { quiz_id } = params;
|
||||
const res = await fetch(`/api/v1/quiz/get/public/${quiz_id}`);
|
||||
if (res.status === 404) {
|
||||
if (res.status === 404 || res.status === 400) {
|
||||
return {
|
||||
status: 404
|
||||
};
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
<!--
|
||||
- This Source Code Form is subject to the terms of the Mozilla Public
|
||||
- License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
- file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||
-->
|
||||
<script context="module">
|
||||
/** @type {import('@sveltejs/kit').Load} */ export function load({ error, status }) {
|
||||
return {
|
||||
props: {
|
||||
status,
|
||||
message: error.message
|
||||
}
|
||||
};
|
||||
}
|
||||
</script>
|
||||
|
||||
<script lang="ts">
|
||||
import { navbarVisible } from '$lib/stores';
|
||||
navbarVisible.set(true);
|
||||
export let status: number;
|
||||
export let message: string;
|
||||
</script>
|
||||
|
||||
<svelte:head>
|
||||
<title>Error - {status}</title>
|
||||
</svelte:head>
|
||||
<h1 class="text-6xl text-center">{status}</h1>
|
||||
|
||||
{#if status === 404}
|
||||
<p class="text-center">
|
||||
The quiz you were looking for is gone or never even existed. Who knows?
|
||||
</p>
|
||||
{:else}
|
||||
<p>
|
||||
That shouldn't happen. It's probably my fault, not yours, but maybe you have a magical power
|
||||
to break stuff...
|
||||
</p>
|
||||
{/if}
|
||||
|
||||
<div class="flex justify-center mt-8">
|
||||
<img
|
||||
class="rounded-lg"
|
||||
src="https://http.cat/{status}"
|
||||
alt="Cat representing the {status}-http error code"
|
||||
/>
|
||||
</div>
|
||||
Reference in New Issue
Block a user