// ============================================================
// COUNTDOWN
// ============================================================
// Le countdown est maintenant OPTIONNEL.
// S'il n'existe pas, le script continue de fonctionner
// et le bouton de fermeture reste actif.
var countdown = flashInfo.querySelector('.native-countdown');
if (countdown) {
var endDateAttribute = countdown.getAttribute('data-end-date');
var endDate = new Date(endDateAttribute).getTime();
var daysEl = countdown.querySelector('[data-days]');
var hoursEl = countdown.querySelector('[data-hours]');
var minutesEl = countdown.querySelector('[data-minutes]');
var secondsEl = countdown.querySelector('[data-seconds]');
// On initialise uniquement si tous les éléments existent
// et si la date est valide.
if (
!isNaN(endDate) &&
daysEl &&
hoursEl &&
minutesEl &&
secondsEl
) {
function pad(value) {
return String(value).padStart(2, '0');
}
function updateCountdown() {
var now = Date.now();
var distance = endDate - now;
if (distance <= 0) {
daysEl.textContent = '00';
hoursEl.textContent = '00';
minutesEl.textContent = '00';
secondsEl.textContent = '00';
return;
}
var days = Math.floor(
distance / (1000 * 60 * 60 * 24)
);
var hours = Math.floor(
(distance / (1000 * 60 * 60)) % 24
);
var minutes = Math.floor(
(distance / (1000 * 60)) % 60
);
var seconds = Math.floor(
(distance / 1000) % 60
);
daysEl.textContent = pad(days);
hoursEl.textContent = pad(hours);
minutesEl.textContent = pad(minutes);
secondsEl.textContent = pad(seconds);
}
updateCountdown();
setInterval(updateCountdown, 1000);
}
}
})();