66d800bd26
- Redesign component wiring for audio playback - Removed playback logic from the player control and moved it to injectable audio player engine service - Chunked/buffered stream loading from Content API passed to Web Audio API playback in 8K blocks
38 lines
1.3 KiB
Plaintext
38 lines
1.3 KiB
Plaintext
@page "/tracks"
|
|
|
|
@using DeepDrftWeb.Client.Controls
|
|
|
|
<PageTitle>DeepDrft Track Gallery</PageTitle>
|
|
|
|
<div class="tracks-page-wrapper">
|
|
<div class="tracks-view-container">
|
|
@if (ViewModel.Page != null)
|
|
{
|
|
<div class="tracks-content">
|
|
<TracksGallery Tracks="@ViewModel.Page.Items"
|
|
SelectedTrack="_selectedTrack"
|
|
SelectedTrackChanged="@PlayTrack"/>
|
|
</div>
|
|
<div class="tracks-footer">
|
|
<div class="py-4">
|
|
<MudPagination Count="@ViewModel.Page.TotalPages"
|
|
Selected="@ViewModel.Page.Page"
|
|
SelectedChanged="@SetPage"
|
|
BoundaryCount="2"
|
|
MiddleCount="3"/>
|
|
</div>
|
|
<AudioPlayerBar AudioPlaybackEngine="AudioPlaybackEngine" />
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
<div class="tracks-content">
|
|
<MudSkeleton Height="95%" Class="pa-2 ma-6"/>
|
|
</div>
|
|
<div class="tracks-footer">
|
|
<MudSkeleton Height="60px" Width="240px" Class="justify-center"/>
|
|
<MudSkeleton Height="120px" Width="460px"/>
|
|
</div>
|
|
}
|
|
</div>
|
|
</div> |