Skip to content

Commit 83dde77

Browse files
committed
Add admin menu
1 parent 9447b36 commit 83dde77

4 files changed

Lines changed: 47 additions & 0 deletions

File tree

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
using Microsoft.AspNetCore.Routing;
2+
using Microsoft.Extensions.Localization;
3+
using OrchardCore.Navigation;
4+
using OrchardCoreContrib.Ban.Drivers;
5+
6+
namespace OrchardCoreContrib.Ban;
7+
8+
using OrchardCoreContrib.Navigation;
9+
10+
/// <summary>
11+
/// Represents an admin menu for ban module.
12+
/// </summary>
13+
/// <remarks>
14+
/// Initializes a new instance of <see cref="AdminMenu"/>.
15+
/// </remarks>
16+
/// <param name="stringLocalizer"></param>
17+
public class AdminMenu(IStringLocalizer<AdminMenu> S) : AdminNavigationProvider
18+
{
19+
private static readonly RouteValueDictionary _routeValues = new()
20+
{
21+
{ "area", "OrchardCore.Settings" },
22+
{ "groupId", BanSettingsDisplayDriver.GroupId },
23+
};
24+
25+
/// <inheritdoc/>
26+
public override void BuildNavigation(NavigationBuilder builder)
27+
{
28+
builder
29+
.Add(S["Configuration"], configuration => configuration
30+
.Add(S["Settings"], settings => settings
31+
.Add(S["Ban"], S["Ban"].PrefixPosition(), ban => ban
32+
.Id("ban")
33+
.Action("Index", "Admin", _routeValues)
34+
.Permission(BanPermissions.ManageBanSettings)
35+
.LocalNav()
36+
)
37+
)
38+
);
39+
}
40+
}

src/OrchardCoreContrib.Ban/OrchardCoreContrib.Ban.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
<PackageReference Include="OrchardCore.DisplayManagement" />
1616
<PackageReference Include="OrchardCore.ResourceManagement" />
1717
<PackageReference Include="OrchardCoreContrib.Abstractions" />
18+
<PackageReference Include="OrchardCoreContrib.Navigation.Core" />
1819
</ItemGroup>
1920

2021
</Project>

src/OrchardCoreContrib.Ban/Startup.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
using Microsoft.Extensions.DependencyInjection;
44
using OrchardCore.DisplayManagement.Handlers;
55
using OrchardCore.Modules;
6+
using OrchardCore.Navigation;
67
using OrchardCore.Security.Permissions;
78
using OrchardCoreContrib.Ban.Drivers;
89
using OrchardCoreContrib.Ban.Services;
@@ -18,6 +19,7 @@ public override void ConfigureServices(IServiceCollection services)
1819
services.AddSiteDisplayDriver<BanSettingsDisplayDriver>();
1920

2021
services.AddPermissionProvider<Permissions>();
22+
services.AddNavigationProvider<AdminMenu>();
2123
}
2224

2325
public override void Configure(IApplicationBuilder app, IEndpointRouteBuilder routes, IServiceProvider serviceProvider)
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
<span class="icon">
2+
<i class="fa-solid fa-ban"></i>
3+
</span>
4+
<span class="title">@T["Ban"]</span>

0 commit comments

Comments
 (0)