Fixed bug where just 1st player results gets counted

This commit is contained in:
Mawoka
2022-03-01 17:34:54 +01:00
parent c8fba93236
commit 24cac7fd4e
3 changed files with 40 additions and 13 deletions
+1 -1
View File
@@ -110,7 +110,7 @@ async def submit_answer(sid, data):
[{"username": session["username"], "answer": data["answer"], "right": answer_right}])) [{"username": session["username"], "answer": data["answer"], "right": answer_right}]))
else: else:
answers = json.loads(answers) answers = json.loads(answers)
answers.append({session["username"]: data["answer"]}) answers.append({"username": session["username"], "answer": data["answer"], "right": answer_right})
await redis.set(f"game_session:{session['game_pin']}:{data['question_index']}", json.dumps(answers)) await redis.set(f"game_session:{session['game_pin']}:{data['question_index']}", json.dumps(answers))
# await redis.set(f"game_data:{session['game_pin']}", json.dumps(data)) # await redis.set(f"game_data:{session['game_pin']}", json.dumps(data))
+38 -11
View File
@@ -1,12 +1,35 @@
<script lang="ts"> <script context='module' lang='ts'>
export async function load({ session, url }) {
if (!session.authenticated) {
return {
status: 302,
redirect: '/account/login'
};
}
const token = url.searchParams.get('token');
const pin = url.searchParams.get('pin');
return {
props: {
game_pin: pin === null ? '' : pin,
game_token: token === null ? '' : token
}
};
}
</script>
<script lang='ts'>
import type { QuizData } from '../app'; import type { QuizData } from '../app';
import { socket } from '$lib/socket'; import { socket } from '$lib/socket';
let gameData = { // let gameData = {
game_id: 'a7ddb6af-79ab-45e0-b996-6254c1ad9818', // game_id: 'a7ddb6af-79ab-45e0-b996-6254c1ad9818',
game_pin: '66190765' // game_pin: '66190765'
}; // };
export let game_pin: string;
export let game_token: string;
console.log(game_pin, game_token);
let success = false; let success = false;
let players: Array<string> = []; let players: Array<string> = [];
let errorMessage = ''; let errorMessage = '';
@@ -17,7 +40,10 @@
let shown_question_now: number; let shown_question_now: number;
const connect = () => { const connect = () => {
socket.emit('register_as_admin', gameData); socket.emit('register_as_admin', {
game_pin: game_pin,
game_id: game_token
});
}; };
socket.on('registered_as_admin', (data) => { socket.on('registered_as_admin', (data) => {
console.log('registered_as_admin', data['game']); console.log('registered_as_admin', data['game']);
@@ -44,7 +70,7 @@
const get_question_results = () => { const get_question_results = () => {
socket.emit('get_question_results', { socket.emit('get_question_results', {
game_id: gameData.game_id, game_id: game_token,
question_number: shown_question_now question_number: shown_question_now
}); });
}; };
@@ -71,11 +97,11 @@
</script> </script>
{#if !success} {#if !success}
<input placeholder="game id" bind:value={gameData.game_id} /> <input placeholder='game id' bind:value={game_token} />
<input placeholder="game pin" bind:value={gameData.game_pin} /> <input placeholder='game pin' bind:value={game_pin} />
<button on:click={connect}>Connect!</button> <button on:click={connect}>Connect!</button>
{#if errorMessage !== ''} {#if errorMessage !== ''}
<p class="text-red-700">{errorMessage}</p> <p class='text-red-700'>{errorMessage}</p>
{/if} {/if}
{:else if !game_started} {:else if !game_started}
<ul> <ul>
@@ -93,7 +119,8 @@
on:click={() => { on:click={() => {
socket.emit('start_game', ''); socket.emit('start_game', '');
game_started = true; game_started = true;
}}>Start Game</button }}>Start Game
</button
> >
{/if} {/if}
{:else} {:else}
+1 -1
View File
@@ -1,6 +1,6 @@
<script context="module" lang="ts"> <script context="module" lang="ts">
export async function load({ url }) { export async function load({ url }) {
const token = url.searchParams.get('token'); const token = url.searchParams.get('pin');
return { return {
props: { props: {
game_pin: token === null ? '' : token game_pin: token === null ? '' : token