fix: use per-page blazor startup

This commit is contained in:
2026-05-04 23:58:26 +02:00
parent 56e0ec1e79
commit c628957163
8 changed files with 39 additions and 8 deletions

View File

@@ -15,7 +15,7 @@
<link href="https://fonts.googleapis.com/css2?family=Noto+Color+Emoji&display=swap" rel="stylesheet">
@if (UseInteractiveApp)
{
<HeadOutlet @rendermode="@(new InteractiveServerRenderMode(prerender: false))"/>
<HeadOutlet/>
}
</head>
<body>
@@ -26,7 +26,7 @@
else
{
<div id="rr-interactive-host" data-request-path="@RequestPath">
<Routes @rendermode="@(new InteractiveServerRenderMode(prerender: false))"/>
<Routes/>
</div>
}
<script src="js/rpgroller-api.js"></script>
@@ -35,7 +35,14 @@ else
<script>
window.rpgRollerApi.bootstrapPreBlazorDiagnostics("@RequestPath");
</script>
<script src="_framework/blazor.web.js"></script>
<script src="_framework/blazor.web.js" autostart="false"></script>
<script>
Blazor.start({
ssr: {
disableDomPreservation: true
}
});
</script>
}
</body>
</html>

View File

@@ -1,4 +1,5 @@
@page "/admin"
@rendermode @(new InteractiveServerRenderMode(prerender: false))
@inherits AuthenticatedPageBase
<Workspace Route="WorkspaceRoute.Admin" LoggedOut="OnLoggedOutAsync">
<ChildContent Context="workspace">

View File

@@ -1,4 +1,5 @@
@page "/campaigns"
@rendermode @(new InteractiveServerRenderMode(prerender: false))
@inherits AuthenticatedPageBase
<Workspace Route="WorkspaceRoute.Campaigns" LoggedOut="OnLoggedOutAsync">
<ChildContent Context="workspace">

View File

@@ -1,4 +1,5 @@
@page "/play"
@rendermode @(new InteractiveServerRenderMode(prerender: false))
@inherits AuthenticatedPageBase
<Workspace Route="WorkspaceRoute.Play" LoggedOut="OnLoggedOutAsync">
<ChildContent Context="workspace">

View File

@@ -116,8 +116,8 @@ public partial class Workspace : IAsyncDisposable
Logger.LogInformation("Workspace.NavigateToRouteAsync fromRoute={Route} toRoute={TargetRoute} state=[{State}]",
Route, route, WorkspaceDiagnosticSummary.DescribeState(State));
State.IsScreenMenuOpen = false;
Navigation.NavigateTo(route);
return InvokeAsync(StateHasChanged);
Navigation.NavigateTo(route, forceLoad: true);
return Task.CompletedTask;
}
private Task RedirectToPlayAsync()
@@ -127,7 +127,7 @@ public partial class Workspace : IAsyncDisposable
Logger.LogWarning("Workspace.RedirectToPlayAsync fromRoute={Route} state=[{State}]",
Route, WorkspaceDiagnosticSummary.DescribeState(State));
Navigation.NavigateTo("/play");
Navigation.NavigateTo("/play", forceLoad: true);
return Task.CompletedTask;
}