From 9f2e88299103dd7fcd8919f40147af01e487343a Mon Sep 17 00:00:00 2001
From: Proxyfil
{$t('play_page.your_score', { score: data[username] })}
diff --git a/frontend/src/lib/play/admin/results.svelte b/frontend/src/lib/play/admin/results.svelte index 12098cc..e02ea1a 100644 --- a/frontend/src/lib/play/admin/results.svelte +++ b/frontend/src/lib/play/admin/results.svelte @@ -29,16 +29,6 @@ SPDX-License-Identifier: MPL-2.0 let { data = $bindable(), question, new_data }: Props = $props(); - function sortObjectbyValue(obj: object) { - const ret = {}; - Object.keys(obj) - .sort((a, b) => obj[b] - obj[a]) - .forEach((s) => (ret[s] = obj[s])); - return ret; - } - - let sorted_data = $derived(sortObjectbyValue(data)); - // let data_by_username = {}; const group_username_by_score = (new_d: any[]): object => { @@ -50,7 +40,11 @@ SPDX-License-Identifier: MPL-2.0 }; let score_by_username = $derived(group_username_by_score(new_data)); - let player_names = $derived(Object.keys(sorted_data)); + let player_names = $derived(Object.keys(data).sort((a, b) => { + const scoreA = parseFloat(data[a]) || 0; + const scoreB = parseFloat(data[b]) || 0; + return scoreB - scoreA; + })); if (JSON.stringify(data) === '{}') { for (const i of new_data) { @@ -111,7 +105,7 @@ SPDX-License-Identifier: MPL-2.0