// js/disclaimer.js class DisclaimerModal { constructor() { this.modal = null; this.acceptButton = null; this.acceptHandler = null; } init() { this.modal = document.getElementById("disclaimerModal"); const nextAcceptButton = document.getElementById("acceptDisclaimer"); if (!this.acceptHandler) { this.acceptHandler = () => { this.hide(); }; } if (this.acceptButton && this.acceptHandler) { this.acceptButton.removeEventListener("click", this.acceptHandler); } this.acceptButton = nextAcceptButton || null; if (this.acceptButton && this.acceptHandler) { this.acceptButton.addEventListener("click", this.acceptHandler); } } hide() { if (this.modal) { this.modal.classList.add("hidden"); } localStorage.setItem("hasSeenDisclaimer", "true"); } show() { // In case the modal hasn't been initialized yet. if (!this.modal) { this.init(); } if (!localStorage.getItem("hasSeenDisclaimer") && this.modal) { this.modal.classList.remove("hidden"); } } } // Create and export a default instance. const disclaimerModal = new DisclaimerModal(); export default disclaimerModal;