using ERPCore.Domain.Enums;

namespace ERPCore.Domain.Entities;

/// <summary>
/// A top-level sidebar entry (mirrors the frontend's hardcoded nav list,
/// components/Layouts/AppSidebar.tsx). Seeded to match the current app routes;
/// per-role visibility is controlled via <see cref="Permission"/>/<see cref="RolePermission"/>,
/// not by editing these rows through the UI.
/// </summary>
public class NavItem
{
    public int NavItemId { get; set; }
    public string Code { get; set; } = string.Empty;
    public string Label { get; set; } = string.Empty;
    public string? Icon { get; set; }
    public string? Href { get; set; }
    public int SortOrder { get; set; }
    public EntityStatus Status { get; set; } = EntityStatus.Active;

    public ICollection<SubNavItem> Children { get; set; } = new List<SubNavItem>();
}
