Fix shared header bindings and unify admin navigation menu

This commit is contained in:
2026-02-26 18:11:52 +01:00
parent a56b3fc451
commit c41aabc0a8
2 changed files with 16 additions and 5 deletions

View File

@@ -46,9 +46,17 @@ public partial class AdminHome
} }
} }
private async Task OpenWorkspaceAsync() private async Task OpenPlayAsync()
{ {
IsScreenMenuOpen = false; IsScreenMenuOpen = false;
await JS.InvokeVoidAsync("rpgRollerApi.setSessionValue", ScreenSessionKey, "play");
await WorkspaceRequested.InvokeAsync();
}
private async Task OpenCampaignManagementAsync()
{
IsScreenMenuOpen = false;
await JS.InvokeVoidAsync("rpgRollerApi.setSessionValue", ScreenSessionKey, "management");
await WorkspaceRequested.InvokeAsync(); await WorkspaceRequested.InvokeAsync();
} }
@@ -180,12 +188,15 @@ public partial class AdminHome
{ {
return return
[ [
new AppHeaderMenuItem { Label = "Workspace", IsActive = false, OnSelected = OpenWorkspaceAsync }, new AppHeaderMenuItem { Label = "Play", IsActive = false, OnSelected = OpenPlayAsync },
new AppHeaderMenuItem { Label = "Campaign Management", IsActive = false, OnSelected = OpenCampaignManagementAsync },
new AppHeaderMenuItem { Label = "Admin", IsActive = true, OnSelected = OpenAdminAsync } new AppHeaderMenuItem { Label = "Admin", IsActive = true, OnSelected = OpenAdminAsync }
]; ];
} }
} }
private const string ScreenSessionKey = "screen";
[Parameter] [Parameter]
public EventCallback<string?> LoggedOut { get; set; } public EventCallback<string?> LoggedOut { get; set; }

View File

@@ -17,10 +17,10 @@
<AppHeader <AppHeader
User="User" User="User"
ShowCampaign="true" ShowCampaign="true"
CampaignName="SelectedCampaignName" CampaignName="@SelectedCampaignName"
ShowConnectionState="true" ShowConnectionState="true"
ConnectionStateLabel="ConnectionStateLabel" ConnectionStateLabel="@ConnectionStateLabel"
ConnectionStateCssClass="ConnectionStateCssClass" ConnectionStateCssClass="@ConnectionStateCssClass"
IsMenuOpen="IsScreenMenuOpen" IsMenuOpen="IsScreenMenuOpen"
MenuButtonId="workspace-screen-menu-button" MenuButtonId="workspace-screen-menu-button"
MenuId="workspace-screen-menu" MenuId="workspace-screen-menu"