javascript: startTime = #{@contest.start_time.present? ? @contest.start_time.to_i : "null"}; pauseTime = #{@contest.pause_time.present? ? @contest.pause_time.to_i : "null"}; function updateTime() { const displayTimeEl = document.getElementById('display-time'); if (displayTimeEl) { if (startTime) { let s = Math.floor((Date.now() - 1000 * startTime) / 1000); if (pauseTime) s = Math.floor(pauseTime - startTime); let ss = s % 60; let mm = Math.floor(s / 60) % 60; let hh = Math.floor(s / 3600); displayTimeEl.innerHTML = `${hh < 10 ? `0${hh}` : hh}:${mm < 10 ? `0${mm}` : mm}:${ss < 10 ? `0${ss}` : ss}`; setTimeout(updateTime, 1000); } else { displayTimeEl.innerHTML = '00:00:00'; } } else { setTimeout(updateTime, 20); } } setTimeout(updateTime, 1);