Files
Papo/public/ts/ui/modal.ts
Pascal Prießnitz 22caa79b54
All checks were successful
Deploy Discord Bot / deploy (push) Successful in 37s
[deploy]
2025-12-04 16:43:38 +01:00

24 lines
639 B
TypeScript

let activeModal: HTMLElement | null = null;
let backdrop: HTMLElement | null = null;
function ensureBackdrop() {
if (backdrop) return backdrop;
backdrop = document.createElement('div');
backdrop.className = 'modal-backdrop';
backdrop.addEventListener('click', hideModal);
document.body.appendChild(backdrop);
return backdrop;
}
export function showModal(content: HTMLElement) {
const bd = ensureBackdrop();
if (!content.parentElement) bd.appendChild(content);
activeModal = content;
bd.classList.add('show');
}
export function hideModal() {
if (backdrop) backdrop.classList.remove('show');
activeModal = null;
}