Browse Source

fix: update user menu configuration to handle browser and non-browser scenarios

pull/25235/head
maliming 2 months ago
parent
commit
e5f5b580e0
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 32
      templates/app/aspnet-core/src/MyCompanyName.MyProjectName.Blazor.WebApp.Tiered.Client/Menus/MyProjectNameMenuContributor.cs

32
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<AccountResource>();
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;
}

Loading…
Cancel
Save