const overlay = document.getElementById('modal-overlay');
export function showModal(title, contentHtml, actions = []) {
overlay.innerHTML = `
`;
const actionsEl = document.getElementById('modal-actions');
actions.forEach(({ label, cls, onClick }) => {
const btn = document.createElement('button');
btn.className = `btn ${cls || ''}`;
btn.textContent = label;
btn.addEventListener('click', async () => {
await onClick(overlay.querySelector('.modal'));
closeModal();
});
actionsEl.appendChild(btn);
});
overlay.classList.remove('hidden');
overlay.addEventListener('click', onOverlayClick);
}
export function closeModal() {
overlay.classList.add('hidden');
overlay.innerHTML = '';
overlay.removeEventListener('click', onOverlayClick);
}
function onOverlayClick(e) {
if (e.target === overlay) closeModal();
}