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:
@@ -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);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user