fix: leader board gets duplicated when switching levels while previous is still loading
This commit is contained in:
parent
832afc1128
commit
d40089b630
1 changed files with 4 additions and 1 deletions
|
|
@ -13,20 +13,23 @@ const version = import.meta.env.MODE === 'development'
|
||||||
|
|
||||||
const initializeGameBoard = async (level) => {
|
const initializeGameBoard = async (level) => {
|
||||||
const prevousLeaderBoard = document.getElementById('leaderboard')
|
const prevousLeaderBoard = document.getElementById('leaderboard')
|
||||||
|
const prevousLoadingWrapper = document.getElementById('loading-wrapper')
|
||||||
|
prevousLoadingWrapper?.remove()
|
||||||
const loadingWrapper = document.createElement('div')
|
const loadingWrapper = document.createElement('div')
|
||||||
loadingWrapper.id = 'loading-wrapper'
|
loadingWrapper.id = 'loading-wrapper'
|
||||||
loadingService.addLoading(loadingWrapper)
|
loadingService.addLoading(loadingWrapper)
|
||||||
|
|
||||||
const appElement = document.getElementById('app')
|
const appElement = document.getElementById('app')
|
||||||
|
|
||||||
if (prevousLeaderBoard){
|
if (prevousLeaderBoard){
|
||||||
const parent = prevousLeaderBoard.parentNode
|
const parent = prevousLeaderBoard.parentNode
|
||||||
parent.replaceChild(loadingWrapper, prevousLeaderBoard)
|
parent.replaceChild(loadingWrapper, prevousLeaderBoard)
|
||||||
}else{
|
}else{
|
||||||
appElement.append(loadingWrapper)
|
appElement.append(loadingWrapper)
|
||||||
}
|
}
|
||||||
|
|
||||||
const leaderBoardWrapper = await leaderBoardService.update(level.id, `Best Times (${level.name})`)
|
const leaderBoardWrapper = await leaderBoardService.update(level.id, `Best Times (${level.name})`)
|
||||||
leaderBoardWrapper.id = 'leaderboard'
|
leaderBoardWrapper.id = 'leaderboard'
|
||||||
|
|
||||||
appElement.replaceChild(leaderBoardWrapper, loadingWrapper)
|
appElement.replaceChild(leaderBoardWrapper, loadingWrapper)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue