|
|
|
@ -11,23 +11,12 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Menus |
|
|
|
{ |
|
|
|
public class MyProjectNameMenuContributor : IMenuContributor |
|
|
|
{ |
|
|
|
private readonly IConfiguration _configuration; |
|
|
|
|
|
|
|
public MyProjectNameMenuContributor(IConfiguration configuration) |
|
|
|
{ |
|
|
|
_configuration = configuration; |
|
|
|
} |
|
|
|
|
|
|
|
public async Task ConfigureMenuAsync(MenuConfigurationContext context) |
|
|
|
{ |
|
|
|
if (context.Menu.Name == StandardMenus.Main) |
|
|
|
{ |
|
|
|
await ConfigureMainMenuAsync(context); |
|
|
|
} |
|
|
|
else if (context.Menu.Name == StandardMenus.User) |
|
|
|
{ |
|
|
|
await ConfigureUserMenuAsync(context); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private Task ConfigureMainMenuAsync(MenuConfigurationContext context) |
|
|
|
@ -46,26 +35,5 @@ namespace MyCompanyName.MyProjectName.Blazor.Server.Menus |
|
|
|
|
|
|
|
return Task.CompletedTask; |
|
|
|
} |
|
|
|
|
|
|
|
private Task ConfigureUserMenuAsync(MenuConfigurationContext context) |
|
|
|
{ |
|
|
|
var accountStringLocalizer = context.GetLocalizer<AccountResource>(); |
|
|
|
var currentUser = context.ServiceProvider.GetRequiredService<ICurrentUser>(); |
|
|
|
|
|
|
|
var identityServerUrl = _configuration["AuthServer:Authority"] ?? ""; |
|
|
|
|
|
|
|
if (currentUser.IsAuthenticated) |
|
|
|
{ |
|
|
|
context.Menu.AddItem(new ApplicationMenuItem( |
|
|
|
"Account.Manage", |
|
|
|
accountStringLocalizer["ManageYourProfile"], |
|
|
|
$"{identityServerUrl.EnsureEndsWith('/')}Account/Manage?returnUrl={_configuration["App:SelfUrl"]}", |
|
|
|
icon: "fa fa-cog", |
|
|
|
order: 1000, |
|
|
|
null)); |
|
|
|
} |
|
|
|
|
|
|
|
return Task.CompletedTask; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|