Доработана кнопка плеера

This commit is contained in:
FrigaT
2026-04-16 19:27:11 +03:00
parent bb50bcbf22
commit 07a52b12d6
2 changed files with 44 additions and 35 deletions

View File

@@ -25,6 +25,7 @@
<MudToggleIconButton Toggled="@AudioPlayerService.IsPlaying" <MudToggleIconButton Toggled="@AudioPlayerService.IsPlaying"
Icon="@Icons.Material.Filled.PlayArrow" Icon="@Icons.Material.Filled.PlayArrow"
Color="@Color.Primary" Color="@Color.Primary"
Size="Size.Large"
ToggledIcon="@Icons.Material.Filled.Pause" ToggledIcon="@Icons.Material.Filled.Pause"
ToggledColor="@Color.Primary" ToggledColor="@Color.Primary"
ToggledChanged="OnPlayClick" /> ToggledChanged="OnPlayClick" />
@@ -32,6 +33,8 @@
</MudItem> </MudItem>
<!-- Название и прогресс --> <!-- Название и прогресс -->
@if (AudioPlayerService.CurrentTrack != null)
{
<MudStack AlignItems="AlignItems.Stretch" Class="d-flex flex-grow-1 relative overflow-hidden align-center rounded-sm" Style="height: 50px;"> <MudStack AlignItems="AlignItems.Stretch" Class="d-flex flex-grow-1 relative overflow-hidden align-center rounded-sm" Style="height: 50px;">
<MudItem Class="absolute" style="top: 0; left: 0; right: 0; bottom: 0; z-index: 1;"> <MudItem Class="absolute" style="top: 0; left: 0; right: 0; bottom: 0; z-index: 1;">
<TrackProgress Value="@AudioPlayerService.CurrentTime" <TrackProgress Value="@AudioPlayerService.CurrentTime"
@@ -45,15 +48,14 @@
Buffer Buffer
ValueChanged="SeekTo" /> ValueChanged="SeekTo" />
</MudItem> </MudItem>
<MudStack Row AlignItems="AlignItems.Center" Class="px-3 relative pointer-events-none" Style="z-index: 2; width: 100%; height: 100%;"> <MudStack Row AlignItems="AlignItems.Center" Class="px-3 relative pointer-events-none" Style="z-index: 2; width: 100%; height: 100%;">
<MudStack AlignItems="AlignItems.Start" Spacing="0"> <MudStack AlignItems="AlignItems.Start" Spacing="0">
<MudText Typo="Typo.body2" Color="Color.Default" Style="font-weight: 600;"> <MudText Typo="Typo.body2" Color="Color.Default" Style="font-weight: 600;">
@AudioPlayerService.CurrentTrack?.Title @AudioPlayerService.CurrentTrack.Title
</MudText> </MudText>
<MudText Typo="Typo.body2" Style="font-weight: 600;"> <MudText Typo="Typo.body2" Style="font-weight: 600;">
@if (AudioPlayerService.CurrentTrack != null) @string.Join(", ", AudioPlayerService.CurrentTrack.Artists.Select(a => a.Name)) @string.Join(", ", AudioPlayerService.CurrentTrack.Artists.Select(a => a.Name))
</MudText> </MudText>
</MudStack> </MudStack>
@@ -64,6 +66,11 @@
</MudText> </MudText>
</MudStack> </MudStack>
</MudStack> </MudStack>
}
else
{
<MudSpacer />
}
<!-- Громкость --> <!-- Громкость -->
<MudItem @onmouseenter="() => _volumeIsOpen = true" <MudItem @onmouseenter="() => _volumeIsOpen = true"

View File

@@ -71,6 +71,8 @@ public class AudioPlayerService : IAudioPlayerService
return; return;
} }
_currentTrackId = trackId;
// Если accessToken не передан, пытаемся получить его из хранилища // Если accessToken не передан, пытаемся получить его из хранилища
if (string.IsNullOrWhiteSpace(accessToken)) if (string.IsNullOrWhiteSpace(accessToken))
{ {