@using TaikoWebUI.Utilities;
@inject IGameDataService GameDataService
@inject HttpClient Client
@inject AuthService AuthService
@inject NavigationManager NavigationManager
@inject Blazored.LocalStorage.ILocalStorageService LocalStorage
@page "/Users/{baid:int}/HighScores"
@Localizer["High Scores"]
@if (response is null)
{
}
else
{
@if (AuthService.LoginRequired && (!AuthService.IsLoggedIn || (AuthService.GetLoggedInBaid() != Baid && !AuthService.IsAdmin)))
{
NavigationManager.NavigateTo(AuthService.IsLoggedIn ? "/" : "/Login");
}
else
{
@foreach (var difficulty in Enum.GetValues())
{
@if (difficulty is not Difficulty.None)
{
@if (songBestDataMap.TryGetValue(difficulty, out var value))
{
// Rows per page 25
@Localizer["Song Name"]
@Localizer["Level"]
@Localizer["Genre"]
@Localizer["Best Score"]
@Localizer["Best Crown"]
@Localizer["Best Rank"]
@Localizer["Good"]
@Localizer["OK"]
@Localizer["Bad"]
@Localizer["Drumroll"]
@Localizer["MAX Combo"]
@Localizer["Last Played"]
@Localizer["Total Credits Played"]
@Localizer["Total Clears"]
@Localizer["Total Full Combos"]
@Localizer["Total Donderful Combos"]
@GameDataService.GetMusicStarLevel(musicDetailDictionary, context.SongId, difficulty)
@ScoreUtils.GetGenreTitle(context.Genre)
@context.BestScore
@if (context.BestScoreRank is not ScoreRank.None)
{
}
@context.GoodCount
@context.OkCount
@context.MissCount
@context.DrumrollCount
@context.ComboCount
@context.LastPlayTime
@context.PlayCount
@context.ClearCount
@context.FullComboCount
@context.PerfectCount
}
else
{
@Localizer["NoData"]
}
}
}
}
}