namespace Prefab.Web.Client.Models.Shared; /// /// Represents the navigation menu payload exposed by the gateway. /// /// Requested depth used when building the menu. /// Maximum number of child links per column. /// Menu columns sourced from root categories. public sealed record NavMenuModel(int Depth, int MaxItemsPerColumn, IReadOnlyList Columns); /// /// Represents an individual column in the navigation menu. /// /// The root category anchoring the column. /// Featured child categories. /// Whether additional children exist beyond the truncated list. /// Link to view the full set of categories for the root. public sealed record NavMenuColumnModel(NavMenuLinkModel Root, IReadOnlyList Items, bool HasMore, string SeeAllUrl); /// /// Represents a navigable link within the menu. /// /// Identifier of the item. /// Display name. /// Slug used for routing. /// True when the link represents a terminal category. /// Absolute or relative navigation target. public sealed record NavMenuLinkModel(string Id, string Name, string Slug, bool IsLeaf, string Url);