From 235e43902e73e54b78c4e74fb4e144ce6c04d834 Mon Sep 17 00:00:00 2001 From: alanmcilwaine Date: Wed, 1 Oct 2025 10:46:43 +1300 Subject: [PATCH] fix(navigation): Showing the timer on navigation screen now --- frontend/src/types/PlayerSession.ts | 30 ++++++++++--- frontend/src/views/QuestionNavigationView.vue | 45 ++++++++++++++++--- 2 files changed, 62 insertions(+), 13 deletions(-) diff --git a/frontend/src/types/PlayerSession.ts b/frontend/src/types/PlayerSession.ts index 5a53193..c931bf0 100644 --- a/frontend/src/types/PlayerSession.ts +++ b/frontend/src/types/PlayerSession.ts @@ -131,15 +131,33 @@ export class PlayerSession extends Session { // Update leaderboards with final data if (data.sessLeaderboard && Array.isArray(data.sessLeaderboard)) { - this.lobbyLeaderboard = data.sessLeaderboard.map((player: any) => - createReactivePlayer(player.rank.toString(), player.name, parseFloat(player.score)) - ); + try { + this.lobbyLeaderboard = data.sessLeaderboard.map((player: any) => { + // Parse if it's a string + if (typeof player === 'string') { + player = JSON.parse(player); + } + return createReactivePlayer(player.rank?.toString() ?? '0', player.name ?? 'Unknown', parseFloat(player.score ?? 0)); + }); + } catch (error) { + console.error('Error parsing session leaderboard:', error); + this.lobbyLeaderboard = []; + } } if (data.globalLeaderoard && Array.isArray(data.globalLeaderoard)) { - this.globalLeaderboard = data.globalLeaderoard.map((player: any) => - createReactivePlayer(player.rank.toString(), player.name, parseFloat(player.score)) - ); + try { + this.globalLeaderboard = data.globalLeaderoard.map((player: any) => { + // Parse if it's a string + if (typeof player === 'string') { + player = JSON.parse(player); + } + return createReactivePlayer(player.rank?.toString() ?? '0', player.name ?? 'Unknown', parseFloat(player.score ?? 0)); + }); + } catch (error) { + console.error('Error parsing global leaderboard:', error); + this.globalLeaderboard = []; + } } // Emit custom event for game end with all the data diff --git a/frontend/src/views/QuestionNavigationView.vue b/frontend/src/views/QuestionNavigationView.vue index c1ee0e0..fa0e14d 100644 --- a/frontend/src/views/QuestionNavigationView.vue +++ b/frontend/src/views/QuestionNavigationView.vue @@ -3,10 +3,6 @@ -
- -
-

Question Navigation

@@ -15,6 +11,10 @@
+
+ + +