96bea1d478
Restyles the Blazor dashboard onto a portable token-based theme so it reads like an instrument panel: warm-paper background, hairline-ruled panels, IBM Plex type, monospace tabular numerics, and status carried by colour chips. Vendors theme.css + IBM Plex fonts, rewrites dashboard.css as a thin token-driven view layer, and swaps the Bootstrap navbar and status badges for the design-system app bar and chips. Also includes pending API-key management, Galaxy hierarchy projection, and constraint-enforcement work with their tests. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
36 lines
1.0 KiB
Plaintext
36 lines
1.0 KiB
Plaintext
@inject IOptions<GatewayOptions> GatewayOptions
|
|
|
|
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<base href="@DashboardBaseHref" />
|
|
<link rel="stylesheet" href="/lib/bootstrap/css/bootstrap.min.css" />
|
|
<link rel="stylesheet" href="/css/theme.css" />
|
|
<link rel="stylesheet" href="/css/dashboard.css" />
|
|
<HeadOutlet @rendermode="InteractiveServer" />
|
|
</head>
|
|
<body class="dashboard-body">
|
|
<Routes @rendermode="InteractiveServer" />
|
|
<script src="/lib/bootstrap/js/bootstrap.bundle.min.js"></script>
|
|
<script src="/_framework/blazor.web.js"></script>
|
|
</body>
|
|
</html>
|
|
|
|
@code {
|
|
private string DashboardBaseHref
|
|
{
|
|
get
|
|
{
|
|
string pathBase = GatewayOptions.Value.Dashboard.PathBase.TrimEnd('/');
|
|
if (string.IsNullOrWhiteSpace(pathBase))
|
|
{
|
|
pathBase = "/dashboard";
|
|
}
|
|
|
|
return $"{pathBase}/";
|
|
}
|
|
}
|
|
}
|