@using SharedProject.models @inject HttpClient Client @inject ILogger Logger @if (!Data.IsFavorite) { Add to favorite? } else { Remove from favorite? } Cancel Confirm @code { [CascadingParameter] MudDialogInstance MudDialog { get; set; } = null!; [Parameter] public SongPlayData Data { get; set; } = null!; [Parameter] public long CardId { get; set; } async Task Submit() { var postData = new MusicFavoriteData { CardId = CardId, IsFavorite = !Data.IsFavorite, MusicId = Data.MusicId }; Logger.LogInformation("Data is {cardId}, {musicId}", CardId, Data.MusicId); var response = await Client.PostAsJsonAsync("api/UserDetail/SetMusicFavorite", postData); var result = await response.Content.ReadFromJsonAsync(); Logger.LogInformation("Favorite result is {result}", result); MudDialog.Close(DialogResult.Ok(result)); } void Cancel() => MudDialog.Cancel(); }