From 5c45538c2f6d2dc9fd614349310fcf856ab06988 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D1=83=D1=80=D0=BD=D0=B0=D1=82=20=D0=90=D0=BD=D0=B4?= =?UTF-8?q?=D1=80=D0=B5=D0=B9?= Date: Wed, 18 Feb 2026 15:13:36 +0300 Subject: [PATCH] qwen edit --- BookReader/ViewModels/BookshelfViewModel.cs | 21 ++++++++++++++++++++- BookReader/Views/BookshelfPage.xaml | 3 ++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/BookReader/ViewModels/BookshelfViewModel.cs b/BookReader/ViewModels/BookshelfViewModel.cs index b190fee..10f06f5 100644 --- a/BookReader/ViewModels/BookshelfViewModel.cs +++ b/BookReader/ViewModels/BookshelfViewModel.cs @@ -25,6 +25,16 @@ public partial class BookshelfViewModel : BaseViewModel [ObservableProperty] private string _searchText = string.Empty; + partial void OnSearchTextChanged(string value) + { + // Автоматически выполняем поиск при изменении текста + if (string.IsNullOrWhiteSpace(value)) + { + // Если поле пустое - загружаем все книги + LoadBooksCommand.Execute(null); + } + } + public BookshelfViewModel( IDatabaseService databaseService, IBookParserService bookParserService, @@ -94,8 +104,17 @@ public partial class BookshelfViewModel : BaseViewModel } [RelayCommand] - public async Task SearchAsync() + public async Task SearchAsync(object? parameter) { + // Если параметр пустой или null, используем текущий SearchText + var searchText = parameter?.ToString() ?? SearchText; + + if (string.IsNullOrWhiteSpace(searchText)) + { + // Очищаем поиск и загружаем все книги + SearchText = string.Empty; + } + await LoadBooksAsync(); } diff --git a/BookReader/Views/BookshelfPage.xaml b/BookReader/Views/BookshelfPage.xaml index d77893d..15c132d 100644 --- a/BookReader/Views/BookshelfPage.xaml +++ b/BookReader/Views/BookshelfPage.xaml @@ -34,8 +34,9 @@