using System; using System.Threading.Tasks; using Microsoft.Extensions.Configuration; using Volo.Abp.Account.Localization; using Volo.Abp.Authorization.Permissions; using Volo.Abp.UI.Navigation; namespace Himp.TaskScheduling.Blazor.Host.Client; public class TaskSchedulingHostMenuContributor : IMenuContributor { private readonly IConfiguration _configuration; public TaskSchedulingHostMenuContributor(IConfiguration configuration) { _configuration = configuration; } public async Task ConfigureMenuAsync(MenuConfigurationContext context) { if (context.Menu.Name == StandardMenus.User) { await ConfigureUserMenuAsync(context); } } private Task ConfigureUserMenuAsync(MenuConfigurationContext context) { var accountStringLocalizer = context.GetLocalizer(); var openIddictUrl = _configuration["AuthServer:Authority"] ?? ""; context.Menu.AddItem(new ApplicationMenuItem( "Account.Manage", accountStringLocalizer["ManageYourProfile"], $"{openIddictUrl.EnsureEndsWith('/')}Account/Manage?returnUrl={_configuration["App:SelfUrl"]}", icon: "fa fa-cog", order: 1000, null, "_blank").RequireAuthenticated()); return Task.CompletedTask; } }