diff --git a/PlaylistShared.Pwa/Pages/SharedPlaylistView.razor b/PlaylistShared.Pwa/Pages/SharedPlaylistView.razor index 4564450..753d11f 100644 --- a/PlaylistShared.Pwa/Pages/SharedPlaylistView.razor +++ b/PlaylistShared.Pwa/Pages/SharedPlaylistView.razor @@ -214,6 +214,13 @@ } + } }; @@ -231,7 +238,7 @@ } else { - Треки - + Состояние: Происходит загрузка треков плейлиста. private bool _tracksLoading = true; + + /// Текст фильтра для треков плейлиста + private string _playlistFilterText = ""; + private List FilteredPlaylistTracks => + string.IsNullOrWhiteSpace(_playlistFilterText) + ? _tracks + : _tracks.Where(t => t.Title.Contains(_playlistFilterText, StringComparison.InvariantCultureIgnoreCase) || + t.Artists.Any(a => a.Name.Contains(_playlistFilterText, StringComparison.InvariantCultureIgnoreCase))) + .ToList(); + /******************************** * Вкладка добавления треков @@ -471,9 +495,17 @@ private MudTextField _searchField; /// Результат поиска. private YandexSearchResult? _searchResult = null; - + /// Текст фильтра для результатов поиска + private string _searchFilterText = ""; + private List FilteredSearchTracks => + string.IsNullOrWhiteSpace(_searchFilterText) || _searchResult?.Tracks == null + ? _searchResult?.Tracks ?? new List() + : _searchResult.Tracks.Where(t => t.Title.Contains(_searchFilterText, StringComparison.InvariantCultureIgnoreCase) || + t.Artists.Any(a => a.Name.Contains(_searchFilterText, StringComparison.InvariantCultureIgnoreCase))) + .ToList(); + /******************************** - * Вкладка добавления треков + * Контекстные кнопки *********************************/ /// Признак, что альбом в фаворитах. private bool _isFavorite; @@ -620,7 +652,6 @@ await RemoveTrack(track); } - #region Добавление/удаление трека /// Добавление трека. @@ -933,7 +964,7 @@ } #endregion - #region Поделитьсы ссылкой + #region Поделиться ссылкой /// Поделиться ссылкой private async Task SharePlaylist() {