This commit is contained in:
Mawoka
2022-05-07 19:16:00 +02:00
parent d275279748
commit 18b86542ad
9 changed files with 355 additions and 174 deletions
+2 -1
View File
@@ -113,7 +113,8 @@
"time_left": "Time left",
"get_results": "Get results",
"get_results_and_stop_time": "Get results and stop time",
"get_final_results": "Get final results"
"get_final_results": "Get final results",
"export_results": "Export results"
},
"password_reset_page": {
"reset_password": "Reset password"
+2 -3
View File
@@ -66,9 +66,8 @@
{#if winners_arr.length >= 3}
<div>
<p class="text-xl text-center">
3nd Place: <span class="underline">{winners_arr[3]}</span><span
>With {winners[winners_arr[3]]}</span
>
3rd Place: <span class="underline">{winners_arr[2]}</span>
<span>with {winners[winners_arr[2]]} out of {quiz_data.questions.length}</span>
</p>
</div>
{/if}
+22 -2
View File
@@ -61,6 +61,8 @@
let success = false;
let selected_question = -1;
let timer_res: string;
let dataexport_download_a;
let warnToLeave = true;
$: console.log(timer_res);
@@ -145,6 +147,12 @@
}
question_results = data;
});
socket.on('export_token', (data) => {
warnToLeave = false;
dataexport_download_a.href = `/api/v1/quiz/export_data/${data}?ts=${new Date().getTime()}&game_pin=${game_pin}`;
dataexport_download_a.click();
warnToLeave = true;
});
const get_final_results = () => {
socket.emit('get_final_results', {});
@@ -172,8 +180,10 @@
}, 1000);
};
const confirmUnload = () => {
event.preventDefault();
event.returnValue = '';
if (warnToLeave) {
event.preventDefault();
event.returnValue = '';
}
};
const get_question_title = (q_number: number): string => {
@@ -186,6 +196,9 @@
return '';
}
};
const request_answer_export = async () => {
await socket.emit('get_export_token');
};
</script>
<svelte:window on:beforeunload={confirmUnload} />
@@ -271,7 +284,14 @@
{/if}
{/if}
{#if JSON.stringify(final_results) !== JSON.stringify([null])}
<button on:click={request_answer_export}>{$t('admin_page.export_results')}</button>
{#await import('$lib/play/end.svelte') then c}
<svelte:component this={c.default} bind:final_results bind:quiz_data />
{/await}
{/if}
<a
on:click|preventDefault={request_answer_export}
href="#"
bind:this={dataexport_download_a}
class="absolute -top-3/4 -left-3/4 opacity-0">Download</a
>