Browse Source

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

pull/25235/head
maliming 6 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) private Task ConfigureUserMenuAsync(MenuConfigurationContext context)
{ {
if (!OperatingSystem.IsBrowser())
{
return Task.CompletedTask;
}
var authServerUrl = _configuration["AuthServer:Authority"] ?? "";
var accountStringLocalizer = context.GetLocalizer<AccountResource>(); var accountStringLocalizer = context.GetLocalizer<AccountResource>();
context.Menu.AddItem(new ApplicationMenuItem( if (OperatingSystem.IsBrowser())
"Account.Manage", {
accountStringLocalizer["MyAccount"], var authServerUrl = _configuration["AuthServer:Authority"] ?? "";
$"{authServerUrl.EnsureEndsWith('/')}Account/Manage",
icon: "fa fa-cog", context.Menu.AddItem(new ApplicationMenuItem(
order: 1000, "Account.Manage",
target: "_blank") accountStringLocalizer["MyAccount"],
.RequireAuthenticated()); $"{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; return Task.CompletedTask;
} }

Loading…
Cancel
Save