diff --git a/client/src/App.js b/client/src/App.js index a973364..205ccc4 100644 --- a/client/src/App.js +++ b/client/src/App.js @@ -86,7 +86,20 @@ function useSensor(measurement, name, end, duration) { const isDST = end.tz('America/Edmonton').isDST(); const tickFormatter = (timeStr) => memoConvertTZ(isDST, timeStr, duration.format); - return [data, loading, tickFormatter]; + let ticks = undefined; + if (Array.isArray(data)) { + ticks = []; + let lastLabel = null; + data.forEach(d => { + const lbl = memoConvertTZ(isDST, d.time, duration.format); + if (lbl !== lastLabel) { + ticks.push(d.time); + lastLabel = lbl; + } + }); + } + + return [data, loading, tickFormatter, ticks]; }; function ChartContainer({name, data, lastFormatter, loading, children, topMargin}) { @@ -132,7 +145,7 @@ function ChartContainer({name, data, lastFormatter, loading, children, topMargin function SolarPower({end, duration}) { - const [data, loading, tickFormatter] = useSensor('solar', 'Solar', end, duration); + const [data, loading, tickFormatter, ticks] = useSensor('solar', 'Solar', end, duration); return ( {showHumidity && memoConvertTZ(isDST, timeStr, duration.format); + let ticks = undefined; + if (Array.isArray(data)) { + ticks = []; + let lastLabel = null; + data.forEach(d => { + const lbl = memoConvertTZ(isDST, d.time, duration.format); + if (lbl !== lastLabel) { + ticks.push(d.time); + lastLabel = lbl; + } + }); + } + return ( - +