mirror of
https://github.com/we-promise/sure.git
synced 2026-06-06 03:09:02 +00:00
Accounts with a flat series (a single valuation or an unchanged balance, where dataMin === dataMax) plotted the centered horizontal trendline at the full 2px stroke — a near-black full-bleed rule bisecting the hero card in light, leaving ~half the card a void (dark read it as an acceptable hairline). Detect the flat case (_isFlatSeries) and draw the line as a faint hairline (stroke-width 1, stroke-opacity 0.4) so it reads as "no change", consistent across light + dark. Verified on the Car Loan account (30D, no change): the heavy rule is gone.
This commit is contained in:
committed by
GitHub
parent
be707bfba3
commit
6961c7ef41
@@ -140,7 +140,18 @@ export default class extends Controller {
|
||||
.attr("d", this._d3Line)
|
||||
.attr("stroke-linejoin", "round")
|
||||
.attr("stroke-linecap", "round")
|
||||
.attr("stroke-width", this.strokeWidthValue);
|
||||
// A flat series (no variation across the period — a single valuation or an
|
||||
// unchanged balance) otherwise renders as a full-bleed near-black rule
|
||||
// bisecting the hero card. Draw it as a faint hairline so it reads as
|
||||
// "no change", consistent across light and dark (#2137).
|
||||
.attr("stroke-width", this._isFlatSeries ? 1 : this.strokeWidthValue)
|
||||
.attr("stroke-opacity", this._isFlatSeries ? 0.4 : 1);
|
||||
}
|
||||
|
||||
get _isFlatSeries() {
|
||||
const min = d3.min(this._normalDataPoints, this._getDatumValue);
|
||||
const max = d3.max(this._normalDataPoints, this._getDatumValue);
|
||||
return min === max;
|
||||
}
|
||||
|
||||
_installTrendlineSplit() {
|
||||
|
||||
Reference in New Issue
Block a user