🎬🚖 Checkpoint

./public/index.js:1954897/107767
This commit is contained in:
Glitch (glitch-hello-node) committed 2021-11-14 16:15:27 +00:00
1 parent 522635d3c4
commit f6b908d228
2 files changed
+50 -12

No files matched your search

+19 -12
View File
@@ -83,22 +83,23 @@ async function drawRegions() {
const min = Math.min(...data.map(d => d.count))
const max = Math.max(...data.map(d => d.count))
// const busy = delta > 0
// const color = busy ? '#ff0000' : '#00ff00'
const red = new Color(255, 0, 0)
const green = new Color(0, 255, 0)
console.log({current, max, min})
const color = red.interpolate(green, current / (max - min))
console.log(color)
buildings.ECSW.poly.setStyle({ color })
console.log({avg, current, delta, color})
}
class Color {
constructor(r, g, b) {
this.r = r
this.g = g
this.b = b
this.r = Math.ceil(0, Math.floor(255, r))
this.g = Math.ceil(0, Math.floor(255, g))
this.b = Math.ceil(0, Math.floor(255, b))
}
asRgbCss() {
return "rgb("+this.r+", "+this.g+", "+this.b+")"
@@ -122,6 +123,10 @@ function getData() {
})
}
function lerp(v0, v1, x) {
return (1 - x) * v0 + x * v1
}
async function displayCard(id) {
const data = (await getData()).filter(d => d.loc === id && Date.now() - d.time < 60 * 60 * 1000)
@@ -139,13 +144,13 @@ async function displayCard(id) {
const current = data[data.length - 1]?.count ?? NaN
const avg = data.reduce((acc, v) => acc + v.count, 0) / data.length
const delta = current - avg
const min = Math.min(...data.map(d => d.count))
const max = Math.max(...data.map(d => d.count))
// const min = Math.min(...data.map(d => d.count))
// const max = Math.max(...data.map(d => d.count))
const busy = delta < 0
const red = new Color(255, 0, 0)
const green = new Color(0, 255, 0)
const color = red.interpolate(green, current / (max - min))
// const red = new Color(255, 0, 0)
// const green = new Color(0, 255, 0)
// const color = red.interpolate(green, current / (max - min))
const msg = Number.isNaN(delta)
? "No data..."
@@ -180,9 +185,11 @@ function updateChart(data) {
acc[v.ago] = []
}
acc[v.ago].push(v.count)
console.log(acc)
return acc
}, Array.from({length: 6})).map(v => v.reduce((acc, v) => acc + v, 0) / v.length)
}, Array.from({ length: 6 })).map(v => {
if (typeof v === 'undefined') return NaN
return v.reduce((acc, v) => acc + v, 0) / v.length
})
const ctx = document.getElementById('myChart').getContext('2d')
const labels = ['Now', '10m ago', '20m ago', '30m ago', '40m ago', '50m ago'].reverse()