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:
2026-09-29 14:10:34 +00:00
parent 133cb07085
commit 79391638f2
@@ -0,0 +1,23 @@
@inject NavigationManager Navigation
@* Route guard: unreleased pages (see SiteMap) bounce to the galaxy map. *@
@if (_released)
{
<RouteView RouteData="@RouteData" DefaultLayout="@typeof(MainLayout)"/>
}
@code {
[Parameter, EditorRequired]
public RouteData RouteData { get; set; } = default!;
private bool _released;
protected override void OnInitialized()
{
_released = SiteMap.IsReleased(RouteData.PageType);
if (!_released)
{
Navigation.NavigateTo("/galaxy", replace: true);
}
}
}