From 6abd2d6c81b8fb9a47af9a15f8e82ee87b2051d8 Mon Sep 17 00:00:00 2001 From: Ayo Date: Thu, 2 Apr 2026 20:40:55 +0200 Subject: [PATCH] fix: replace existing leaderboard when switching levels --- src/mnswpr.js | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/mnswpr.js b/src/mnswpr.js index 91fb417..53f014f 100644 --- a/src/mnswpr.js +++ b/src/mnswpr.js @@ -105,11 +105,19 @@ export const Minesweeper = function(appId) { async function initializeLeaderBoard() { const title = `Best Times (${setting.name})` + + // remove existing leaderboard + const previousLeaderBoard = document.getElementById('leaderboard') + const parent = previousLeaderBoard?.parentNode + if (previousLeaderBoard) + parent?.removeChild(previousLeaderBoard) + let loading = document.createElement('div') loadingService.addLoading(loading) appElement?.append(loading) const leaderBoard = await leaderBoardService.update(setting.id ?? setting.name, title) + leaderBoard.id = 'leaderboard' appElement?.replaceChild(leaderBoard, loading) } @@ -227,6 +235,11 @@ export const Minesweeper = function(appId) { return toolbar } + /** + * Updates the game level + * @param {String} key + * @param {String} custom + */ function updateSetting(key, custom) { if (key === 'custom') { insertCustomOptions()