Files

53 lines
1.5 KiB
C#

using LucideBlazor;
using Moonlight.Frontend.Interfaces;
using Moonlight.Frontend.Models;
using Moonlight.Shared;
namespace Moonlight.Frontend.Implementations;
public sealed class SidebarProvider : ISidebarProvider
{
public Task<SidebarItem[]> GetItemsAsync()
{
return Task.FromResult<SidebarItem[]>([
new()
{
Name = "Overview",
IconType = typeof(LayoutDashboardIcon),
Path = "/",
IsExactPath = true,
Order = 0
},
new()
{
Name = "Overview",
IconType = typeof(LayoutDashboardIcon),
Path = "/admin",
IsExactPath = true,
Group = "Admin",
Order = 0,
Policy = Permissions.System.Info
},
new()
{
Name = "Users",
IconType = typeof(UsersRoundIcon),
Path = "/admin/users",
IsExactPath = false,
Group = "Admin",
Order = 10,
Policy = Permissions.Users.View
},
new()
{
Name = "System",
IconType = typeof(SettingsIcon),
Path = "/admin/system",
IsExactPath = false,
Group = "Admin",
Order = 20,
Policy = Permissions.System.Info
}
]);
}
}