From c41aabc0a848d930b99d393277ca8cde02e93594 Mon Sep 17 00:00:00 2001 From: Frank Tovar Date: Thu, 26 Feb 2026 18:11:52 +0100 Subject: [PATCH] Fix shared header bindings and unify admin navigation menu --- .../Pages/HomeControls/AdminHome.razor.cs | 15 +++++++++++++-- RpgRoller/Components/Pages/Workspace.razor | 6 +++--- 2 files changed, 16 insertions(+), 5 deletions(-) diff --git a/RpgRoller/Components/Pages/HomeControls/AdminHome.razor.cs b/RpgRoller/Components/Pages/HomeControls/AdminHome.razor.cs index d7cd47f..d015df4 100644 --- a/RpgRoller/Components/Pages/HomeControls/AdminHome.razor.cs +++ b/RpgRoller/Components/Pages/HomeControls/AdminHome.razor.cs @@ -46,9 +46,17 @@ public partial class AdminHome } } - private async Task OpenWorkspaceAsync() + private async Task OpenPlayAsync() { 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(); } @@ -180,12 +188,15 @@ public partial class AdminHome { 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 } ]; } } + private const string ScreenSessionKey = "screen"; + [Parameter] public EventCallback LoggedOut { get; set; } diff --git a/RpgRoller/Components/Pages/Workspace.razor b/RpgRoller/Components/Pages/Workspace.razor index 7f61ff7..3b0d29d 100644 --- a/RpgRoller/Components/Pages/Workspace.razor +++ b/RpgRoller/Components/Pages/Workspace.razor @@ -17,10 +17,10 @@