diff --git a/CaddyManager/Components/Pages/Caddy/CaddyReverseProxies/CaddyReverseProxiesPage.razor b/CaddyManager/Components/Pages/Caddy/CaddyReverseProxies/CaddyReverseProxiesPage.razor index 79dcc77..f9e95e0 100644 --- a/CaddyManager/Components/Pages/Caddy/CaddyReverseProxies/CaddyReverseProxiesPage.razor +++ b/CaddyManager/Components/Pages/Caddy/CaddyReverseProxies/CaddyReverseProxiesPage.razor @@ -18,6 +18,10 @@ { } + + diff --git a/CaddyManager/Components/Pages/Caddy/CaddyReverseProxies/CaddyReverseProxiesPage.razor.cs b/CaddyManager/Components/Pages/Caddy/CaddyReverseProxies/CaddyReverseProxiesPage.razor.cs index 7f47f2c..bb2286d 100644 --- a/CaddyManager/Components/Pages/Caddy/CaddyReverseProxies/CaddyReverseProxiesPage.razor.cs +++ b/CaddyManager/Components/Pages/Caddy/CaddyReverseProxies/CaddyReverseProxiesPage.razor.cs @@ -15,6 +15,7 @@ public partial class CaddyReverseProxiesPage : ComponentBase private bool _isProcessing; private List _availableCaddyConfigurations = []; private IReadOnlyCollection _selectedCaddyConfigurations = []; + private string _debouncedText = string.Empty; [Inject] private ICaddyService CaddyService { get; set; } = null!; @@ -61,7 +62,10 @@ public partial class CaddyReverseProxiesPage : ComponentBase /// private void Refresh() { - _availableCaddyConfigurations = CaddyService.GetExistingCaddyConfigurations(); + var notSearching = string.IsNullOrWhiteSpace(_debouncedText); + _availableCaddyConfigurations = CaddyService.GetExistingCaddyConfigurations() + .Where(confName => notSearching || confName.Contains(_debouncedText, StringComparison.OrdinalIgnoreCase)) + .ToList(); StateHasChanged(); } @@ -130,4 +134,14 @@ public partial class CaddyReverseProxiesPage : ComponentBase Snackbar.Add("Failed to restart the Caddy container", Severity.Error); } } + + /// + /// Handle the interval elapsed event for debounced text input for search functionality. + /// + /// + private void HandleIntervalElapsed(string debouncedText) + { + // Simply refresh the page with the new debounced text + Refresh(); + } } \ No newline at end of file