Files
QuantEngineByItz/src/dotnet/QuantEngine.Web/Components/App.razor
T
kjh2064 acf7b8cfc4 fix: resolve login page CSS styling issues
- Map /login route to static login.html file to serve embedded CSS correctly
- Redirect /login to /login.html for proper static file delivery
- Fix NavigationContext namespace ambiguity in App.razor (MudBlazor vs ASP.NET)
- Fix StatusCodePages middleware path validation (StartsWithSegments → StartsWith)

Login page now displays with:
- Gradient background with frosted glass card design
- Properly styled form inputs and validation
- Professional Material Design appearance
- Working client-side authentication flow

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-07-06 00:35:26 +09:00

56 lines
1.8 KiB
Plaintext

@using System.Reflection
@using QuantEngine.Web.Client.Pages
@using Microsoft.AspNetCore.Components.Routing
<!DOCTYPE html>
<html lang="ko">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<base href="/" />
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" rel="stylesheet" />
<link href="_content/MudBlazor/MudBlazor.min.css" rel="stylesheet" />
<link rel="stylesheet" href="app.css" />
<link rel="icon" type="image/svg+xml" href="favicon.svg" />
<link rel="alternate icon" type="image/png" href="favicon.png" />
<HeadOutlet />
</head>
<body>
<div id="app">
<CascadingAuthenticationState>
<Router AppAssembly="@typeof(App).Assembly"
AdditionalAssemblies="new[] { typeof(QuantEngine.Web.Client.Pages.Dashboard).Assembly }"
OnNavigateAsync="@OnNavigateAsync" />
</CascadingAuthenticationState>
</div>
<script src="_framework/blazor.web.js"></script>
<script src="_content/MudBlazor/MudBlazor.min.js"></script>
</body>
</html>
@code {
private async Task OnNavigateAsync(Microsoft.AspNetCore.Components.Routing.NavigationContext context)
{
// /Account/* paths are Razor Pages, not Blazor components
// Force browser navigation instead of Blazor routing
if (context.Path.StartsWith("Account/", StringComparison.OrdinalIgnoreCase)
|| context.Path.StartsWith("/Account/", StringComparison.OrdinalIgnoreCase))
{
// Prevent Blazor from handling this route
// Force a full page reload via browser
await Task.CompletedTask;
// This triggers browser to make a new request, bypassing Blazor
}
else
{
await Task.CompletedTask;
}
}
}