JSFiddle - React, Tailwind, and code Playground
by brigand
HTML
<div id="remain"></div>
JavaScript
function untilNext5() {
const now = Date.now();
const next = new Date(now)
let minutes = next.getMinutes();
minutes += 1
while (minutes % 5 !== 0) {
minutes += 1;
}
next.setHours(next.getHours(), minutes, 0, 0);
return Number(next) - now
}
function tick() {
remain.textContent = untilNext5() / 1000;
requestAnimationFrame(tick)
}
tick()