diff --git a/src/AliasVault.WebApp/Pages/Home.razor b/src/AliasVault.WebApp/Pages/Home.razor
index fb59f522d..2b86a9826 100644
--- a/src/AliasVault.WebApp/Pages/Home.razor
+++ b/src/AliasVault.WebApp/Pages/Home.razor
@@ -51,8 +51,16 @@
StateHasChanged();
// Load the aliases from the webapi via AliasService.
- Aliases = await AliasService.GetListAsync();
+ var aliasListEntries = await AliasService.GetListAsync();
+ if (aliasListEntries is null)
+ {
+ // Error loading aliases.
+ IsLoading = false;
+ StateHasChanged();
+ return;
+ }
+ Aliases = aliasListEntries;
IsLoading = false;
StateHasChanged();
}
diff --git a/src/AliasVault.WebApp/Program.cs b/src/AliasVault.WebApp/Program.cs
index aa0ff9208..698dc46d4 100644
--- a/src/AliasVault.WebApp/Program.cs
+++ b/src/AliasVault.WebApp/Program.cs
@@ -1,37 +1,42 @@
-using Microsoft.AspNetCore.Components.Web;
-using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
+//-----------------------------------------------------------------------
+//
+// Copyright (c) lanedirt. All rights reserved.
+// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.
+//
+//-----------------------------------------------------------------------
+
+using AliasVault.WebApp;
+using AliasVault.WebApp.Auth.Providers;
+using AliasVault.WebApp.Auth.Services;
+using AliasVault.WebApp.Services;
using Blazored.LocalStorage;
using Microsoft.AspNetCore.Components.Authorization;
-using AliasVault.WebApp;
-using AliasVault.WebApp.Services;
-using AliasVault.WebApp.Auth.Services;
-using AliasVault.WebApp.Auth.Providers;
+using Microsoft.AspNetCore.Components.Web;
+using Microsoft.AspNetCore.Components.WebAssembly.Hosting;
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.Configuration.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
-
builder.RootComponents.Add
("#app");
builder.RootComponents.Add("head::after");
-
-builder.Services.AddTransient();
-builder.Services.AddScoped();
-builder.Services.AddHttpClient("AliasVault.Api")
- .AddHttpMessageHandler();
-
+builder.Services.AddHttpClient("AliasVault.Api").AddHttpMessageHandler();
builder.Services.AddScoped(sp =>
{
var httpClientFactory = sp.GetRequiredService();
var httpClient = httpClientFactory.CreateClient("AliasVault.Api");
- httpClient.BaseAddress = new Uri(builder.Configuration["ApiUrl"]);
+ if (builder.Configuration["ApiUrl"] is null)
+ {
+ throw new InvalidOperationException("The 'ApiUrl' configuration value is required.");
+ }
+
+ httpClient.BaseAddress = new Uri(builder.Configuration["ApiUrl"]!);
return httpClient;
});
-
+builder.Services.AddTransient();
+builder.Services.AddScoped();
builder.Services.AddScoped();
builder.Services.AddScoped();
builder.Services.AddSingleton();
-
builder.Services.AddAuthorizationCore();
builder.Services.AddBlazoredLocalStorage();
-
await builder.Build().RunAsync();