Вынесен глобальный плеер
This commit is contained in:
@@ -37,9 +37,7 @@
|
||||
<div style="width: 40px; height: 40px; flex-shrink: 0;">
|
||||
<TrackCoverWithPlay CoverUrl="@track.CoverUri"
|
||||
TrackId="@track.TrackId"
|
||||
Width="40" Height="40"
|
||||
IsPlaying="@(_currentPlayingTrackId == track.TrackId && _isPlaying)"
|
||||
OnPlay="PlayTrack" />
|
||||
Width="40" Height="40"/>
|
||||
</div>
|
||||
<div style="flex: 1; min-width: 0;">
|
||||
<MudText Typo="Typo.body1" Style="font-weight: 500;">@track.Title</MudText>
|
||||
@@ -67,23 +65,12 @@
|
||||
|
||||
@code {
|
||||
[Parameter] public EventCallback<string> OnAddTrack { get; set; }
|
||||
[Parameter] public EventCallback<string> OnPlayTrack { get; set; }
|
||||
[Parameter] public string ShareToken { get; set; } = string.Empty;
|
||||
[Parameter] public string? CurrentPlayingTrackId { get; set; }
|
||||
[Parameter] public bool IsPlaying { get; set; }
|
||||
|
||||
private string _searchQuery = "";
|
||||
private List<YandexTrackSearchResult> _searchResults = new();
|
||||
private bool _isSearching;
|
||||
private HashSet<string> _addingTrackIds = new();
|
||||
private string? _currentPlayingTrackId;
|
||||
private bool _isPlaying;
|
||||
|
||||
protected override void OnParametersSet()
|
||||
{
|
||||
_currentPlayingTrackId = CurrentPlayingTrackId;
|
||||
_isPlaying = IsPlaying;
|
||||
}
|
||||
|
||||
private async Task SearchTracks()
|
||||
{
|
||||
@@ -133,11 +120,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
private async Task PlayTrack(string trackId)
|
||||
{
|
||||
await OnPlayTrack.InvokeAsync(trackId);
|
||||
}
|
||||
|
||||
private string FormatDuration(long ms)
|
||||
{
|
||||
var seconds = ms / 1000;
|
||||
|
||||
@@ -31,9 +31,6 @@
|
||||
</MudTabPanel>
|
||||
<MudTabPanel Text="Поиск" Style="padding: 16px;">
|
||||
<AddTrackBySearch OnAddTrack="AddTrackById"
|
||||
OnPlayTrack="PlayTrack"
|
||||
CurrentPlayingTrackId="CurrentPlayingTrackId"
|
||||
IsPlaying="IsPlaying"
|
||||
ShareToken="@ShareToken" />
|
||||
</MudTabPanel>
|
||||
</MudTabs>
|
||||
@@ -46,9 +43,6 @@
|
||||
|
||||
[Parameter] public string ShareToken { get; set; } = string.Empty;
|
||||
[Parameter] public EventCallback OnTrackAdded { get; set; }
|
||||
[Parameter] public EventCallback<string> OnPlayTrack { get; set; }
|
||||
[Parameter] public string? CurrentPlayingTrackId { get; set; }
|
||||
[Parameter] public bool IsPlaying { get; set; }
|
||||
|
||||
private async Task AddTrackByLink()
|
||||
{
|
||||
@@ -99,11 +93,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
private async Task PlayTrack(string trackId)
|
||||
{
|
||||
OnPlayTrack.InvokeAsync(trackId);
|
||||
}
|
||||
|
||||
private string? ExtractTrackIdFromLink(string link)
|
||||
{
|
||||
var match = System.Text.RegularExpressions.Regex.Match(link, @"/track/(\d+)");
|
||||
|
||||
@@ -26,9 +26,7 @@
|
||||
{
|
||||
<TrackCoverWithPlay CoverUrl="@context.CoverUri"
|
||||
TrackId="@context.Id"
|
||||
Width="50" Height="50"
|
||||
IsPlaying="@(CurrentPlayingTrackId == context.Id && IsPlaying)"
|
||||
OnPlay="PlayTrack" />
|
||||
Width="50" Height="50"/>
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user