Restructures project with feature-based organization
Refactors project structure to support modular, feature-driven development Introduces comprehensive language localization support Adds menu management with role-based access control Implements dynamic sidebar and theme switching capabilities Enhances project scalability and maintainability
This commit is contained in:
parent
fac7754d7a
commit
d7f3c55a2a
60 changed files with 3214 additions and 20 deletions
12
app/Features/Menu/Models/MenuGroup.cs
Normal file
12
app/Features/Menu/Models/MenuGroup.cs
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
namespace CalendarServer.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();
|
||||
}
|
||||
15
app/Features/Menu/Models/MenuItem.cs
Normal file
15
app/Features/Menu/Models/MenuItem.cs
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
namespace CalendarServer.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; }
|
||||
}
|
||||
11
app/Features/Menu/Models/UserRole.cs
Normal file
11
app/Features/Menu/Models/UserRole.cs
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
namespace CalendarServer.Features.Menu.Models;
|
||||
|
||||
/// <summary>
|
||||
/// User roles for menu visibility. Higher value = more access.
|
||||
/// </summary>
|
||||
public enum UserRole
|
||||
{
|
||||
Staff = 0,
|
||||
Manager = 1,
|
||||
Admin = 2
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue