Изменено отображение треков

This commit is contained in:
FrigaT
2026-04-15 15:56:43 +03:00
parent e00b7a735c
commit 76c9b11a68
7 changed files with 118 additions and 253 deletions

View File

@@ -66,7 +66,6 @@
}
_shareUrl = ShareUrl;
_popoverOpen = true;
await CopyLink();
}
}

View File

@@ -1,8 +1,7 @@
@using Microsoft.AspNetCore.Components.Web
@inject IAudioPlayerService AudioPlayerService
<MudPaper Elevation="0"
@onmouseenter="HandleMouseEnter"
<MudItem @onmouseenter="HandleMouseEnter"
@onmouseleave="HandleMouseLeave"
style="position: relative; display: inline-block; cursor: pointer; border-radius: 4px; overflow: hidden;">
@@ -10,15 +9,15 @@
@if (_isHovered || IsCurrentTrackPlaying)
{
<MudPaper class="play-overlay"
<MudItem class="play-overlay"
style="position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0,0,0,0.6); display: flex; align-items: center; justify-content: center; border-radius: 4px;">
<MudIconButton Icon="@(IsCurrentTrackPlaying? Icons.Material.Filled.Pause : Icons.Material.Filled.PlayArrow)"
Color="Color.Inherit"
Size="Size.Large"
OnClick="OnPlayClick" />
</MudPaper>
</MudItem>
}
</MudPaper>
</MudItem>
@code {
[Parameter] public string CoverUrl { get; set; } = string.Empty;

View File

@@ -0,0 +1,34 @@
@using PlaylistShared.Shared.DTO
@using PlaylistShared.Pwa.Components.Common
@using PlaylistShared.Pwa.Extensions
<MudStack Row AlignItems="AlignItems.Center">
<!-- Обложка с фиксированной шириной -->
<MudItem>
<TrackCoverWithPlay CoverUrl="@Track.CoverUri"
TrackId="@Track.TrackId"
TrackTitle="@Track.Title"
PlaylistShareToken="@PlaylistShareToken"
Width="40" Height="40" />
</MudItem>
<!-- Информация о треке (занимает всё доступное место) -->
<MudItem>
<MudStack Spacing="0">
<MudText Typo="Typo.body1" Color="Color.Secondary">@Track.Title</MudText>
<MudText Typo="Typo.body2" >@string.Join(", ", Track.Artists)</MudText>
</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;
}