Files
PlaylistShared/PlaylistShared.Pwa/Components/SharedPlaylist/Cards/AlbumCard.razor
2026-04-16 18:53:14 +03:00

34 lines
1.1 KiB
Plaintext

@using PlaylistShared.Shared.Yandex
<MudItem Class="d-flex flex-column align-center pa-2 cursor-pointer" Elevation="0" @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();
}
}
}