//import './styles/counter.css' import { Countdown } from './counter.js' import { fetchObject } from './fetch.js'; // select elements const app = document.querySelector('.countdown-timer'); const message = document.querySelector('.message'); const heading = document.querySelector('h1'); const api = new fetchObject("http://localhost:8000/counter", app.dataset.id); constcheckCounter(); // Get the new year const getEndTime = (counter) => { return new Date(Date.parse(counter.endTime)); }; const format = (t) => { return t < 10 ? '0' + t : t; }; const render = (time) => { app.innerHTML = `

${format(time.hours)}

Hours

${format(time.minutes)}

Minutes

${format(time.seconds)}

Seconds
`; }; const showMessage = () => { message.innerHTML = "Le compteur est terminé"; //app.innerHTML = ''; //heading.style.display = 'none'; }; const hideMessage = () => { message.innerHTML = ''; heading.style.display = 'block'; }; const complete = () => { showMessage(); constcheckCounter(); }; function constcheckCounter () { const intervalId = setInterval(async () => { const counter = await api.getCounter(); heading.innerText = counter.name; if (counter.state === 'ready') { hideMessage(); const period = new Date(counter.minutes * 1000 * 60); render(Countdown.getTime(period)); } else if (counter.state === 'completed') { const zero = new Date(0); showMessage(); render(Countdown.getTime(zero)); } else { clearInterval(intervalId); const countdownTimer = new Countdown( getEndTime(counter), render, complete ) } }, 1000) }