49 lines
1.1 KiB
C#
49 lines
1.1 KiB
C#
using Microsoft.AspNetCore.Components;
|
|
using WatchIt.Common.Model;
|
|
|
|
namespace WatchIt.Website.Components.Pages.HomePage.Subcomponents;
|
|
|
|
public partial class ViewRankItemComponent : ComponentBase
|
|
{
|
|
#region PARAMETERS
|
|
|
|
[Parameter] public required int Place { get; set; }
|
|
[Parameter] public required string Name { get; set; }
|
|
[Parameter] public required string PosterPlaceholder { get; set; }
|
|
[Parameter] public required Func<Action<Picture>, Task> GetPosterAction { get; set; }
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region FIELDS
|
|
|
|
private Picture? _poster;
|
|
|
|
#endregion
|
|
|
|
|
|
|
|
#region PRIVATE METHODS
|
|
|
|
protected override async Task OnAfterRenderAsync(bool firstRender)
|
|
{
|
|
if (firstRender)
|
|
{
|
|
List<Task> endTasks = new List<Task>();
|
|
|
|
// STEP 0
|
|
endTasks.AddRange(
|
|
[
|
|
GetPosterAction(data => _poster = data),
|
|
]);
|
|
|
|
// END
|
|
await Task.WhenAll(endTasks);
|
|
|
|
StateHasChanged();
|
|
}
|
|
}
|
|
|
|
#endregion
|
|
} |