Fix admin menu navigation to play and management views
This commit is contained in:
@@ -22,50 +22,60 @@ public partial class Home
|
||||
try
|
||||
{
|
||||
_ = await ApiClient.RequestAsync<MeResponse>("GET", "/api/me");
|
||||
WorkspaceScreenOverride = null;
|
||||
CurrentView = HomeViewMode.Workspace;
|
||||
ClearStatus();
|
||||
}
|
||||
catch (ApiRequestException ex) when (ex.StatusCode == 401)
|
||||
{
|
||||
WorkspaceScreenOverride = null;
|
||||
CurrentView = HomeViewMode.Anonymous;
|
||||
ClearStatus();
|
||||
}
|
||||
catch (ApiRequestException ex)
|
||||
{
|
||||
WorkspaceScreenOverride = null;
|
||||
CurrentView = HomeViewMode.Anonymous;
|
||||
SetStatus(ex.Message, true);
|
||||
}
|
||||
}
|
||||
|
||||
private void OnLoggedInAsync()
|
||||
private Task OnLoggedInAsync()
|
||||
{
|
||||
WorkspaceScreenOverride = null;
|
||||
CurrentView = HomeViewMode.Workspace;
|
||||
ClearStatus();
|
||||
return InvokeAsync(StateHasChanged);
|
||||
}
|
||||
|
||||
private void OnAdminRequested()
|
||||
private Task OnAdminRequestedAsync()
|
||||
{
|
||||
CurrentView = HomeViewMode.Admin;
|
||||
ClearStatus();
|
||||
return InvokeAsync(StateHasChanged);
|
||||
}
|
||||
|
||||
private void OnWorkspaceRequested()
|
||||
private Task OnWorkspaceRequestedAsync(string screen)
|
||||
{
|
||||
WorkspaceScreenOverride = NormalizeWorkspaceScreen(screen) ?? "play";
|
||||
CurrentView = HomeViewMode.Workspace;
|
||||
ClearStatus();
|
||||
return InvokeAsync(StateHasChanged);
|
||||
}
|
||||
|
||||
private void OnLoggedOutAsync(string? message)
|
||||
private Task OnLoggedOutAsync(string? message)
|
||||
{
|
||||
WorkspaceScreenOverride = null;
|
||||
CurrentView = HomeViewMode.Anonymous;
|
||||
if (string.IsNullOrWhiteSpace(message))
|
||||
{
|
||||
ClearStatus();
|
||||
return;
|
||||
return InvokeAsync(StateHasChanged);
|
||||
}
|
||||
|
||||
var isError = message.Contains("expired", StringComparison.OrdinalIgnoreCase);
|
||||
SetStatus(message, isError);
|
||||
return InvokeAsync(StateHasChanged);
|
||||
}
|
||||
|
||||
private void SetStatus(string message, bool isError)
|
||||
@@ -80,7 +90,19 @@ public partial class Home
|
||||
StatusIsError = false;
|
||||
}
|
||||
|
||||
private static string? NormalizeWorkspaceScreen(string? screen)
|
||||
{
|
||||
if (string.Equals(screen, "management", StringComparison.OrdinalIgnoreCase))
|
||||
return "management";
|
||||
|
||||
if (string.Equals(screen, "play", StringComparison.OrdinalIgnoreCase))
|
||||
return "play";
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private HomeViewMode CurrentView { get; set; } = HomeViewMode.Loading;
|
||||
private string? WorkspaceScreenOverride { get; set; }
|
||||
private string? StatusMessage { get; set; }
|
||||
private bool StatusIsError { get; set; }
|
||||
private bool HasInitialized { get; set; }
|
||||
|
||||
Reference in New Issue
Block a user