fix(ui): invariant decimals + LocaleState test isolation + drawer offset + bundled Plotly
Cross-cutting polish that surfaced while Phase 8 was being implemented:
* Invariant-culture formatting on every decimal ToString("0.00" / "0.##")
(OddsCell, OddsTimeline, SeverityBadge, AnomalyEvidence,
Pages/Events/Detail) — previously the comma/dot decimal separator
switched with the locale and broke tabular alignment + tests.
* LocaleState constructor no longer mutates process-wide ambient culture;
apply only happens through Set(...). Stops parallel bUnit test runs
leaking ru-RU into each other's threads.
* MainLayout: drawer-open state now offsets main content / footer / appbar
by the drawer width (248px) so the sidebar no longer overlaps content.
Mobile breakpoint (≤720px) keeps the original full-width layout.
* wwwroot/index.html (Marathon.UI RCL): switched from Plotly CDN to the
bundled "_content/Plotly.Blazor/plotly-2.35.3.min.js" — works offline
and matches the Plotly.Blazor 5.4.1 version pin.
* Marathon.Hosts.WpfBlazor/wwwroot/index.html: host-level page that
BlazorWebView's HostPage attribute resolves to. Same Plotly bundle,
no autostart="false" (BlazorWebView auto-starts).
This commit is contained in:
@@ -83,6 +83,25 @@
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
/* MudDrawer is positioned fixed/absolute by Mud's CSS — push main content
|
||||
right by the drawer's width (248px) so the sidebar doesn't overlap.
|
||||
Same shift on the appbar tools row so the brand isn't covered. */
|
||||
.m-app-frame.is-drawer-open .m-main,
|
||||
.m-app-frame.is-drawer-open .m-footer {
|
||||
padding-left: 248px;
|
||||
transition: padding-left 200ms ease;
|
||||
}
|
||||
.m-app-frame.is-drawer-open .m-appbar {
|
||||
padding-left: calc(248px + clamp(var(--m-space-3), 2vw, var(--m-space-5)));
|
||||
transition: padding-left 200ms ease;
|
||||
}
|
||||
@@media (max-width: 720px) {
|
||||
/* On narrow viewports the drawer becomes a temporary overlay anyway. */
|
||||
.m-app-frame.is-drawer-open .m-main,
|
||||
.m-app-frame.is-drawer-open .m-footer,
|
||||
.m-app-frame.is-drawer-open .m-appbar { padding-left: 0; }
|
||||
}
|
||||
|
||||
.m-footer {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
Reference in New Issue
Block a user