namespace TaikoWebUI.Components.Song; public partial class SongLeaderboardCard { private SongLeaderboardResponse? response = null; [Parameter] public int SongId { get; set; } [Parameter] public int Baid { get; set; } [Parameter] public Difficulty Difficulty { get; set; } = Difficulty.Hard; private string SelectedDifficulty { get; set; } = "Hard"; private bool isLoading = true; protected override async Task OnInitializedAsync() { await base.OnInitializedAsync(); response = await Client.GetFromJsonAsync($"api/SongLeaderboard/{(uint)Baid}/{(uint)SongId}/{(uint)Difficulty}"); response.ThrowIfNull(); isLoading = false; } private async Task OnDifficultyChange(string difficulty) { isLoading = true; SelectedDifficulty = difficulty; Difficulty = Enum.Parse(SelectedDifficulty); response = await Client.GetFromJsonAsync($"api/SongLeaderboard/{(uint)Baid}/{(uint)SongId}/{(uint)Difficulty}"); response.ThrowIfNull(); isLoading = false; } }