diff --git a/src/apireview.net/App.razor b/src/apireview.net/App.razor
index 9ecbfbd..9b2a471 100644
--- a/src/apireview.net/App.razor
+++ b/src/apireview.net/App.razor
@@ -1,19 +1,48 @@
-
-
-
-
-
-
-
- You do not have the necessary permissions.
-
-
-
-
-
-
- Sorry, there's nothing at this address.
-
-
-
-
\ No newline at end of file
+@inject IHostEnvironment Env
+
+
+
+
+
+
+ .NET API Review
+
+
+
+
+
+
+
+
+
+
+
+
+ @if (Env.IsDevelopment())
+ {
+
+ An unhandled exception has occurred. See browser dev tools for details.
+
+ }
+ else
+ {
+
+ An error has occurred. This app may no longer respond until reloaded.
+
+ }
+
Reload
+
🗙
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/apireview.net/Controllers/AccountController.cs b/src/apireview.net/Controllers/AccountController.cs
deleted file mode 100644
index 86881dc..0000000
--- a/src/apireview.net/Controllers/AccountController.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-using AspNet.Security.OAuth.GitHub;
-
-using Microsoft.AspNetCore.Authentication;
-using Microsoft.AspNetCore.Authentication.Cookies;
-using Microsoft.AspNetCore.Mvc;
-
-namespace ApiReviewDotNet.Controllers;
-
-public class AccountController : Controller
-{
- [HttpGet("signin")]
- public IActionResult SignIn(string returnUrl)
- {
- return Challenge(
- new AuthenticationProperties
- {
- RedirectUri = "/" + returnUrl
- },
- GitHubAuthenticationDefaults.AuthenticationScheme
- );
- }
-
- [HttpGet("signout")]
- [HttpPost("signout")]
- public new IActionResult SignOut()
- {
- return SignOut(
- new AuthenticationProperties
- {
- RedirectUri = "/"
- },
- CookieAuthenticationDefaults.AuthenticationScheme
- );
- }
-}
diff --git a/src/apireview.net/Data/TimeZoneService.cs b/src/apireview.net/Data/TimeZoneService.cs
deleted file mode 100644
index 0a34e0e..0000000
--- a/src/apireview.net/Data/TimeZoneService.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using Microsoft.JSInterop;
-
-namespace ApiReviewDotNet.Data;
-
-public sealed class TimeZoneService
-{
- private readonly IJSRuntime _jsRuntime;
-
- private TimeSpan? _userOffset;
-
- public TimeZoneService(IJSRuntime jsRuntime)
- {
- _jsRuntime = jsRuntime;
- }
-
- public async ValueTask ToLocalAsync(DateTimeOffset dateTime)
- {
- if (_userOffset is null)
- {
- int offsetInMinutes = await _jsRuntime.InvokeAsync("getTimezoneOffset");
- _userOffset = TimeSpan.FromMinutes(-offsetInMinutes);
- }
-
- return dateTime.ToOffset(_userOffset.Value);
- }
-}
diff --git a/src/apireview.net/Pages/Backlog.razor b/src/apireview.net/Pages/Backlog.razor
index d1a5228..5ff0d82 100644
--- a/src/apireview.net/Pages/Backlog.razor
+++ b/src/apireview.net/Pages/Backlog.razor
@@ -7,80 +7,90 @@
-
+