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:
@@ -217,7 +217,7 @@
|
||||
|
||||
builder.OpenElement(12, "span");
|
||||
builder.AddAttribute(13, "class", "m-evidence__rate");
|
||||
builder.AddContent(14, rate is { } r ? r.ToString("0.00") : "—");
|
||||
builder.AddContent(14, rate is { } r ? r.ToString("0.00", System.Globalization.CultureInfo.InvariantCulture) : "—");
|
||||
builder.CloseElement();
|
||||
|
||||
builder.CloseElement();
|
||||
|
||||
@@ -87,7 +87,9 @@
|
||||
[Parameter] public string AriaPrefix { get; set; } = "Odds";
|
||||
[Parameter] public string EmptyPlaceholder { get; set; } = "—";
|
||||
|
||||
private string Formatted => Rate is { } r ? r.ToString("0.00") : EmptyPlaceholder;
|
||||
private string Formatted => Rate is { } r
|
||||
? r.ToString("0.00", System.Globalization.CultureInfo.InvariantCulture)
|
||||
: EmptyPlaceholder;
|
||||
|
||||
private Trend Direction
|
||||
{
|
||||
|
||||
@@ -238,5 +238,6 @@
|
||||
},
|
||||
};
|
||||
|
||||
private static string FormatRate(decimal? r) => r is { } v ? v.ToString("0.00") : "—";
|
||||
private static string FormatRate(decimal? r) =>
|
||||
r is { } v ? v.ToString("0.00", System.Globalization.CultureInfo.InvariantCulture) : "—";
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<span class="m-severity__label">@Label</span>
|
||||
@if (ShowScore && Score is { } s)
|
||||
{
|
||||
<span class="m-severity__score m-mono" aria-hidden="true">@s.ToString("0.00")</span>
|
||||
<span class="m-severity__score m-mono" aria-hidden="true">@s.ToString("0.00", System.Globalization.CultureInfo.InvariantCulture)</span>
|
||||
}
|
||||
</span>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user