This commit is contained in:
Janus C. H. Knudsen 2026-01-10 20:39:17 +01:00
parent 54b057886c
commit 7fc1ae0650
204 changed files with 4345 additions and 134 deletions

View file

@ -0,0 +1,12 @@
namespace PlanTempus.Application.Features.Menu.Models;
/// <summary>
/// Represents a group of menu items (e.g., "Dashboard", "Data", "System").
/// </summary>
public class MenuGroup
{
public required string Id { get; set; }
public required string Label { get; set; }
public int SortOrder { get; set; }
public List<MenuItem> Items { get; set; } = new();
}

View file

@ -0,0 +1,15 @@
namespace PlanTempus.Application.Features.Menu.Models;
/// <summary>
/// Represents a single menu item in the sidebar.
/// </summary>
public class MenuItem
{
public required string Id { get; set; }
public required string Label { get; set; }
public required string Icon { get; set; }
public required string Url { get; set; }
public UserRole MinimumRole { get; set; } = UserRole.Staff;
public int SortOrder { get; set; }
public bool IsActive { get; set; }
}

View file

@ -0,0 +1,11 @@
namespace PlanTempus.Application.Features.Menu.Models;
/// <summary>
/// User roles for menu visibility. Higher value = more access.
/// </summary>
public enum UserRole
{
Staff = 0,
Manager = 1,
Admin = 2
}