Show each curve's slept hours in the Sleep trend legend
Today, Yesterday and the N-day average chips now carry their totals (e.g. "Yesterday 12.8h"), matching the projected chip.
This commit is contained in:
+19
-12
@@ -1394,18 +1394,25 @@
|
||||
const curves = sleepTrendCurves(events);
|
||||
drawSleepTrendChart(curves);
|
||||
// Drop legend chips for missing reference lines (no data for them yet),
|
||||
// and keep the average chip's label in step with the chart-days picker.
|
||||
const yLegend = document.getElementById("legend-trend-yesterday");
|
||||
const aLegend = document.getElementById("legend-trend-avg");
|
||||
const aText = document.getElementById("legend-trend-avg-text");
|
||||
const pLegend = document.getElementById("legend-trend-projected");
|
||||
const pText = document.getElementById("legend-trend-projected-text");
|
||||
if (yLegend) yLegend.hidden = !curves.yesterday;
|
||||
if (aLegend) aLegend.hidden = !curves.avg;
|
||||
if (aText) aText.textContent = `${curves.avgDays}-day avg`;
|
||||
if (pLegend) pLegend.hidden = !curves.projected;
|
||||
if (pText && curves.projected) {
|
||||
pText.textContent = `Projected ~${curves.projected[curves.projected.length - 1].y.toFixed(1)}h`;
|
||||
// keep the average chip's label in step with the chart-days picker, and
|
||||
// write each curve's slept-hours total into its chip.
|
||||
const chip = (id) => document.getElementById(id);
|
||||
const hrs = (pts) => `${pts[pts.length - 1].y.toFixed(1)}h`;
|
||||
chip("legend-trend-today-text").textContent = `Today ${hrs(curves.today)}`;
|
||||
const yLegend = chip("legend-trend-yesterday");
|
||||
yLegend.hidden = !curves.yesterday;
|
||||
if (curves.yesterday) {
|
||||
chip("legend-trend-yesterday-text").textContent = `Yesterday ${hrs(curves.yesterday)}`;
|
||||
}
|
||||
const aLegend = chip("legend-trend-avg");
|
||||
aLegend.hidden = !curves.avg;
|
||||
if (curves.avg) {
|
||||
chip("legend-trend-avg-text").textContent = `${curves.avgDays}-day avg ${hrs(curves.avg)}`;
|
||||
}
|
||||
const pLegend = chip("legend-trend-projected");
|
||||
pLegend.hidden = !curves.projected;
|
||||
if (curves.projected) {
|
||||
chip("legend-trend-projected-text").textContent = `Projected ~${hrs(curves.projected)}`;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user