From 2fe20c804ac423bb6180593826cee9e3c3ba4a30 Mon Sep 17 00:00:00 2001 From: FrigaT Date: Fri, 24 Apr 2026 12:09:50 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20=D0=BB=D0=BA=D0=B0=D0=BB=D1=8C=D0=BD=D1=8B=D0=B9=20?= =?UTF-8?q?=D1=84=D0=B8=D0=BB=D1=8C=D1=82=D0=B5=D1=80=D0=B8=D0=BD=D0=B3=20?= =?UTF-8?q?=D1=82=D1=80=D0=B5=D0=BA=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Pages/SharedPlaylistView.razor | 43 ++++++++++++++++--- 1 file changed, 37 insertions(+), 6 deletions(-) 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() {