Files
deepdrft/DeepDrftPublic.Client/Pages/TracksView.razor
T
daniel-c-harvey 766e98fd2b Reflect real playback state on gallery cards and toggle pause/resume
Add IsPaused/OnPause to TrackCard, make TracksGallery controlled, and
drive the active track from PlayerService.CurrentTrack as the single
source of truth.
2026-06-06 10:09:07 -04:00

44 lines
1.7 KiB
Plaintext

@page "/tracks"
<PageTitle>DeepDrft Track Gallery</PageTitle>
<div>
<div class="tracks-view-container">
@if (ViewModel.Page != null)
{
<div class="tracks-content">
<TracksGallery Tracks="@ViewModel.Page.Items"
ActiveTrack="@PlayerService.CurrentTrack"
IsPlaying="@PlayerService.IsPlaying"
IsPaused="@PlayerService.IsPaused"
OnPlay="@PlayTrack"
OnPause="@PauseTrack"/>
</div>
<div class="tracks-footer py-4">
<MudPagination Count="@ViewModel.Page.TotalPages"
Selected="@ViewModel.Page.Page"
SelectedChanged="@SetPage"
BoundaryCount="2"
MiddleCount="3"/>
</div>
}
else
{
<div class="tracks-content">
<MudGrid Spacing="3">
@foreach (var i in Enumerable.Range(0, 12))
{
<MudItem xs="12" sm="6" md="4" lg="3" xl="3">
<div class="deepdrft-track-gallery-item-center">
<MudSkeleton Width="240px" Height="240px" SkeletonType="SkeletonType.Rectangle"/>
</div>
</MudItem>
}
</MudGrid>
</div>
<div class="tracks-footer">
<MudSkeleton Height="60px" Width="240px" Class="justify-center"/>
</div>
}
</div>
</div>