Match: {match?.guid || 'Undefined'}

{tournament?.settings?.tournamentName}

{#if isLoading}

Loading match data...

{:else if error}
error_outline

{error}

{:else}

Current Song

{#if currentSong && currentSongData}
Song Cover

{currentSong.beatmap.name || 'Unknown Song'}

{currentSongData.metadata.songAuthorName || 'Unknown Artist'}

{:else}
music_note

No song selected

{/if} {#if failedToLoadSongForPlayers}
warning
FAILED TO LOAD SONG FOR ALL PLAYERS! You can still start the map, but it will not start for those whos state is "Downloading"!
{/if} {#if loadingSongForPlayers}
warning
LOADING SONG FOR PLAYERS! You can still start the map, but it will not start for those whos state is "Downloading"!
{/if} {#if isAnyPlayerPlaying}
warning
PLAYERS ARE IN GAME! Some players are currently in game. Please refrain from loading new songs, starting maps, or exiting this match. You may of course add new maps to the queue etc.
{/if}
{#if isAnyPlayerPlaying} {/if}
{#if matchPlayers.some(player => (player.playState) === User_PlayStates.InGame)}
{#each realTimeScores as rtsPlayer}

{rtsPlayer.player.name} ({rtsPlayer.player.discordInfo?.username || 'Discord Unknown'})

{(rtsPlayer.recentScore.accuracy * 100).toFixed(2)}%

{rtsPlayer.recentScore.notesMissed} Misses - {rtsPlayer.recentScore.badCuts} Bad Cuts - {rtsPlayer.recentScore.bombHits} Bomb Hits - {rtsPlayer.recentScore.wallHits} Wall Hits

Song Progress: {((rtsPlayer.recentScore.songPosition / currentSongData.metadata.duration) * 100).toFixed(2)}%

{getTimeStringFromSeconds(rtsPlayer.recentScore.songPosition)} of {getTimeStringFromSeconds(currentSongData.metadata.duration)}

{/each}
{/if}

Players ({matchPlayers.length})

{#if matchPlayers.length === 0}
person_off

No players in match

{:else}
{#each matchPlayers as player}

{player.name} ({player.discordInfo?.username || 'Unknown'})

{User_DownloadStates[player.downloadState]}

{User_PlayStates[player.playState]}

{/each}
{/if}
{/if}
{#if showMapModal} {/if} {#if allowAddFromTAPool} {/if}