diff --git a/NEW/src/JdeScoping.Client/Pages/SearchQueue.razor b/NEW/src/JdeScoping.Client/Pages/SearchQueue.razor
index f289dea..28099c4 100644
--- a/NEW/src/JdeScoping.Client/Pages/SearchQueue.razor
+++ b/NEW/src/JdeScoping.Client/Pages/SearchQueue.razor
@@ -1,6 +1,8 @@
@page "/search/queue"
@attribute [Authorize]
-@inject ISearchService SearchService
+@using JdeScoping.Core.ApiContracts
+@using JdeScoping.Client.Extensions
+@inject ISearchApiClient SearchApi
@inject IHubConnectionService HubConnection
@implements IDisposable
@@ -30,6 +32,12 @@
{
}
+else if (!string.IsNullOrEmpty(_errorMessage))
+{
+
+ @_errorMessage
+
+}
else
{
_searches = [];
private RadzenDataGrid? _grid;
private bool _isLoading = true;
+ private string? _errorMessage;
private string _statusMessage = "";
private string _statusUpdateDt = "";
@@ -78,9 +87,18 @@ else
private async Task LoadQueueAsync()
{
_isLoading = true;
+ _errorMessage = null;
try
{
- _searches = await SearchService.GetQueueAsync();
+ var result = await SearchApi.GetQueuedSearchesAsync();
+ result.Switch(
+ searches => { _searches = searches.ToClientList(); },
+ notFound => { _errorMessage = "Queue not found."; _searches = []; },
+ validation => { _errorMessage = string.Join("; ", validation.FieldErrors.SelectMany(e => e.Value)); },
+ unauthorized => { _errorMessage = "Session expired. Please login again."; },
+ forbidden => { _errorMessage = "Access denied."; },
+ error => { _errorMessage = error.Message; }
+ );
}
finally
{