AI: Central SiteMap controls released vs in-development pages
- New SiteMap registry: single source of truth for page visibility. Fail-closed: unlisted or Released=false pages are hidden. - NavMenu renders nav links from SiteMap.NavEntries (galaxy only). - New Components/ReleaseGuard wraps the Router's Found template: unreleased routes redirect to /galaxy (covers direct URLs). - Galaxy map released; system/mastery detail dossiers released but not in nav (linked from the map); Home, indexes, Units hidden. - Brand logo now links to /galaxy.
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
<div class="top-row navbar navbar-dark d-flex align-items-center @(IsCollapsed ? "justify-content-center px-1" : "justify-content-between px-3")">
|
<div class="top-row navbar navbar-dark d-flex align-items-center @(IsCollapsed ? "justify-content-center px-1" : "justify-content-between px-3")">
|
||||||
@if (!IsCollapsed)
|
@if (!IsCollapsed)
|
||||||
{
|
{
|
||||||
<a class="navbar-brand d-flex align-items-center me-0" href="" title="ZeroSpace Database & Command Hub">
|
<a class="navbar-brand d-flex align-items-center me-0" href="galaxy" title="ZeroSpace Database & Command Hub">
|
||||||
<span class="brand-glow me-2">✦</span>
|
<span class="brand-glow me-2">✦</span>
|
||||||
<span class="brand-text">ZeroSpace</span>
|
<span class="brand-text">ZeroSpace</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -23,7 +23,7 @@
|
|||||||
else
|
else
|
||||||
{
|
{
|
||||||
<div class="d-flex align-items-center justify-content-center gap-1 w-100">
|
<div class="d-flex align-items-center justify-content-center gap-1 w-100">
|
||||||
<a class="navbar-brand d-flex align-items-center m-0 p-0" href="" title="ZeroSpace Database & Command Hub">
|
<a class="navbar-brand d-flex align-items-center m-0 p-0" href="galaxy" title="ZeroSpace Database & Command Hub">
|
||||||
<span class="brand-glow">✦</span>
|
<span class="brand-glow">✦</span>
|
||||||
</a>
|
</a>
|
||||||
<button type="button" class="btn btn-sm btn-nav-toggle nav-toggle-btn"
|
<button type="button" class="btn btn-sm btn-nav-toggle nav-toggle-btn"
|
||||||
@@ -40,52 +40,22 @@
|
|||||||
|
|
||||||
<div class="@NavMenuCssClass nav-scrollable flex-grow-1" @onclick="OnNavMenuClick">
|
<div class="@NavMenuCssClass nav-scrollable flex-grow-1" @onclick="OnNavMenuClick">
|
||||||
<nav class="nav flex-column">
|
<nav class="nav flex-column">
|
||||||
<div class="nav-item @(IsCollapsed ? "px-1" : "px-3")">
|
@foreach (var entry in SiteMap.NavEntries)
|
||||||
<NavLink class="nav-link" href="" Match="NavLinkMatch.All" title="Home">
|
{
|
||||||
<span class="bi bi-house-door-fill-nav-menu" aria-hidden="true"></span>
|
<div class="nav-item @(IsCollapsed ? "px-1" : "px-3")">
|
||||||
@if (!IsCollapsed)
|
<NavLink class="nav-link" href="@entry.Href" Match="@entry.Match" title="@entry.Title">
|
||||||
{
|
<span class="@entry.IconCss" aria-hidden="true"></span>
|
||||||
<span class="nav-text">Home</span>
|
@if (!IsCollapsed)
|
||||||
}
|
{
|
||||||
</NavLink>
|
<span class="nav-text">@entry.Title</span>
|
||||||
</div>
|
@if (entry.Badge is not null)
|
||||||
<div class="nav-item @(IsCollapsed ? "px-1" : "px-3")">
|
{
|
||||||
<NavLink class="nav-link" href="galaxy" title="Galaxy Map">
|
<span class="badge badge-nav-live ms-auto">@entry.Badge</span>
|
||||||
<span class="bi bi-galaxy-nav-menu" aria-hidden="true"></span>
|
}
|
||||||
@if (!IsCollapsed)
|
}
|
||||||
{
|
</NavLink>
|
||||||
<span class="nav-text">Galaxy Map</span>
|
</div>
|
||||||
<span class="badge badge-nav-live ms-auto">MAP</span>
|
}
|
||||||
}
|
|
||||||
</NavLink>
|
|
||||||
</div>
|
|
||||||
<div class="nav-item @(IsCollapsed ? "px-1" : "px-3")">
|
|
||||||
<NavLink class="nav-link" href="StarSystem" title="Star Systems">
|
|
||||||
<span class="bi bi-star-systems-nav-menu" aria-hidden="true"></span>
|
|
||||||
@if (!IsCollapsed)
|
|
||||||
{
|
|
||||||
<span class="nav-text">Star Systems</span>
|
|
||||||
}
|
|
||||||
</NavLink>
|
|
||||||
</div>
|
|
||||||
<div class="nav-item @(IsCollapsed ? "px-1" : "px-3")">
|
|
||||||
<NavLink class="nav-link" href="SystemMastery" title="Masteries">
|
|
||||||
<span class="bi bi-masteries-nav-menu" aria-hidden="true"></span>
|
|
||||||
@if (!IsCollapsed)
|
|
||||||
{
|
|
||||||
<span class="nav-text">Masteries</span>
|
|
||||||
}
|
|
||||||
</NavLink>
|
|
||||||
</div>
|
|
||||||
<div class="nav-item @(IsCollapsed ? "px-1" : "px-3")">
|
|
||||||
<NavLink class="nav-link" href="units" title="Units">
|
|
||||||
<span class="bi bi-units-nav-menu" aria-hidden="true"></span>
|
|
||||||
@if (!IsCollapsed)
|
|
||||||
{
|
|
||||||
<span class="nav-text">Units</span>
|
|
||||||
}
|
|
||||||
</NavLink>
|
|
||||||
</div>
|
|
||||||
</nav>
|
</nav>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user