43 lines
1.8 KiB
Plaintext
43 lines
1.8 KiB
Plaintext
@using PlaylistShared.Shared.DTO
|
||
@using PlaylistShared.Pwa.Components.Common
|
||
@using PlaylistShared.Pwa.Extensions
|
||
@using PlaylistShared.Shared.Yandex
|
||
|
||
<MudStack Row AlignItems="AlignItems.Center">
|
||
<!-- Обложка с фиксированной шириной -->
|
||
<MudItem>
|
||
<TrackCoverWithPlay TrackId="@Track.TrackId"
|
||
Track="@Track"
|
||
PlaylistShareToken="@PlaylistShareToken"
|
||
CanPlay="@CanPlay"
|
||
Width="40" Height="40" />
|
||
</MudItem>
|
||
|
||
<!-- Информация о треке (занимает всё доступное место) -->
|
||
<MudItem>
|
||
<MudStack Spacing="0">
|
||
<MudText Typo="Typo.body1" Color="Color.Secondary">@Track.Title</MudText>
|
||
<MudStack Row AlignItems="AlignItems.Center" Spacing="1">
|
||
<MudText Typo="Typo.body2">@string.Join(", ", Track.Artists.Select(a => a.Name))</MudText>
|
||
@if (!string.IsNullOrEmpty(AddedByName))
|
||
{
|
||
<MudChip T="string" Size="Size.Small" Variant="Variant.Outlined" Color="Color.Secondary" Class="pa-0 px-1" Style="height: 18px; font-size: 10px;">@AddedByName</MudChip>
|
||
}
|
||
</MudStack>
|
||
</MudStack>
|
||
</MudItem>
|
||
|
||
<MudSpacer />
|
||
|
||
<!-- Длительность (фиксированная ширина по содержимому) -->
|
||
<MudItem>
|
||
<MudText Typo="Typo.body2">@Track.DurationMs.FormatDuration()</MudText>
|
||
</MudItem>
|
||
</MudStack>
|
||
|
||
@code {
|
||
[Parameter] public YandexTrack Track { get; set; } = null!;
|
||
[Parameter] public string PlaylistShareToken { get; set; } = string.Empty;
|
||
[Parameter] public bool CanPlay { get; set; } = true;
|
||
[Parameter] public string? AddedByName { get; set; }
|
||
} |