From e5f5b580e09e190f44d02c409e13edc04bc19e03 Mon Sep 17 00:00:00 2001 From: maliming Date: Fri, 3 Apr 2026 20:12:12 +0800 Subject: [PATCH] fix: update user menu configuration to handle browser and non-browser scenarios --- .../Menus/MyProjectNameMenuContributor.cs | 32 +++++++++++-------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/Menus/MyProjectNameMenuContributor.cs b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/Menus/MyProjectNameMenuContributor.cs index 6878aaf036..68f5a1838c 100644 --- a/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/Menus/MyProjectNameMenuContributor.cs +++ b/templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/Menus/MyProjectNameMenuContributor.cs @@ -66,22 +66,26 @@ public class MyProjectNameMenuContributor : IMenuContributor private Task ConfigureUserMenuAsync(MenuConfigurationContext context) { - if (!OperatingSystem.IsBrowser()) - { - return Task.CompletedTask; - } - - var authServerUrl = _configuration["AuthServer:Authority"] ?? ""; var accountStringLocalizer = context.GetLocalizer(); - context.Menu.AddItem(new ApplicationMenuItem( - "Account.Manage", - accountStringLocalizer["MyAccount"], - $"{authServerUrl.EnsureEndsWith('/')}Account/Manage", - icon: "fa fa-cog", - order: 1000, - target: "_blank") - .RequireAuthenticated()); + if (OperatingSystem.IsBrowser()) + { + var authServerUrl = _configuration["AuthServer:Authority"] ?? ""; + + context.Menu.AddItem(new ApplicationMenuItem( + "Account.Manage", + accountStringLocalizer["MyAccount"], + $"{authServerUrl.EnsureEndsWith('/')}Account/Manage", + icon: "fa fa-cog", + order: 1000, + target: "_blank") + .RequireAuthenticated()); + } + else + { + context.Menu.AddItem(new ApplicationMenuItem("Account.Manage", accountStringLocalizer["MyAccount"], "/Account/Manage", icon: "fa fa-cog", order: 1000).RequireAuthenticated()); + context.Menu.AddItem(new ApplicationMenuItem("Account.Logout", accountStringLocalizer["Logout"], url: "/Account/Logout", icon: "fa fa-power-off", order: 1001).RequireAuthenticated()); + } return Task.CompletedTask; }