34 lines
1.1 KiB
Plaintext
34 lines
1.1 KiB
Plaintext
@using PlaylistShared.Shared.Yandex
|
|
|
|
<MudItem Class="d-flex flex-column align-center pa-2 cursor-pointer" @onclick="HandleClick">
|
|
@if (!string.IsNullOrEmpty(Item.CoverUrl))
|
|
{
|
|
<MudAvatar Size="MudBlazor.Size.Large">
|
|
<MudImage Src="@Item.CoverUrl.FormatCoverUrl(Size, Size)" />
|
|
</MudAvatar>
|
|
}
|
|
else
|
|
{
|
|
<MudAvatar Size="MudBlazor.Size.Large" Variant="Variant.Filled">
|
|
<MudIcon Icon="@Icons.Material.Filled.AccountCircle" />
|
|
</MudAvatar>
|
|
}
|
|
<MudText Typo="Typo.body2" Align="Align.Center" Class="mt-2">@Item.Title</MudText>
|
|
<MudText Typo="Typo.caption" Align="Align.Center" Color="Color.Secondary">
|
|
@string.Join(", ", Item.Artists.Select(a => a.Name))
|
|
</MudText>
|
|
</MudItem>
|
|
|
|
@code {
|
|
[Parameter] public YandexAlbum Item { get; set; } = null!;
|
|
[Parameter] public EventCallback OnClick { get; set; }
|
|
[Parameter] public int Size { get; set; } = 50;
|
|
|
|
private async Task HandleClick()
|
|
{
|
|
if (OnClick.HasDelegate)
|
|
{
|
|
await OnClick.InvokeAsync();
|
|
}
|
|
}
|
|
} |