import { state } from '../state.js'; import { t } from '../i18n.js'; /** * renderPackSelector - Show a modal to enable/disable asset packages */ export function renderPackSelector(packs) { let modal = document.getElementById('pack-selector-modal'); if (!modal) { modal = document.createElement('div'); modal.id = 'pack-selector-modal'; modal.className = 'modal-overlay'; document.body.appendChild(modal); } const selectedIds = state.selectedPackIds; modal.innerHTML = ` `; modal.classList.add('active'); // Close handlers modal.querySelector('.close-modal').onclick = () => modal.classList.remove('active'); modal.onclick = (e) => { if (e.target === modal) modal.classList.remove('active'); }; // Apply handler modal.querySelector('.apply-packs').onclick = () => { const checkboxes = modal.querySelectorAll('input[type="checkbox"]'); const newSelectedIds = Array.from(checkboxes) .filter(cb => cb.checked) .map(cb => cb.dataset.id); state.selectedPackIds = newSelectedIds; localStorage.setItem('selectedPackIds', JSON.stringify(newSelectedIds)); // This is a global refresh to re-init everything with new filters // For a more seamless experience, we could re-call initAssets() window.location.reload(); }; }