import { adminGetItems, createItem, deleteItem, updateItem, saveBgColor, getBgColor, saveTitleSettings, getTitleSettings } from './api.js'; const tableBody = document.getElementById('items-table-body'); const addBtn = document.getElementById('add-btn'); const editModal = document.getElementById('edit-modal'); const saveEdit = document.getElementById('save-edit'); const cancelEdit = document.getElementById('cancel-edit'); const colorPicker = document.getElementById('bg-color-picker'); const applyColor = document.getElementById('apply-color'); const previewBox = document.getElementById('color-preview-box'); const presets = document.querySelectorAll('.preset'); // ═══ رنگ پسزمینه ═══ function initColor() { const saved = getBgColor(); colorPicker.value = saved; previewBox.style.background = saved; presets.forEach(p => { if (p.dataset.color === saved) p.classList.add('active'); }); } presets.forEach(p => { p.addEventListener('click', () => { presets.forEach(x => x.classList.remove('active')); p.classList.add('active'); colorPicker.value = p.dataset.color; previewBox.style.background = p.dataset.color; }); }); colorPicker.addEventListener('input', () => { previewBox.style.background = colorPicker.value; presets.forEach(x => x.classList.remove('active')); }); applyColor.addEventListener('click', () => { saveBgColor(colorPicker.value); applyColor.textContent = '✓ ذخیره شد'; setTimeout(() => applyColor.textContent = 'اعمال', 2000); }); // ═══ عنوان صفحه گردونه ═══ function initTitle() { const settings = getTitleSettings(); document.getElementById('title-text-input').value = settings.text; document.getElementById('title-color-picker').value = settings.color; document.getElementById('title-preview').textContent = settings.text; document.getElementById('title-preview').style.color = settings.color; } document.getElementById('title-text-input').addEventListener('input', (e) => { document.getElementById('title-preview').textContent = e.target.value || 'گردونه شانس'; }); document.getElementById('title-color-picker').addEventListener('input', (e) => { document.getElementById('title-preview').style.color = e.target.value; }); document.getElementById('apply-title').addEventListener('click', () => { const text = document.getElementById('title-text-input').value.trim() || 'گردونه شانس'; const color = document.getElementById('title-color-picker').value; saveTitleSettings(text, color); document.getElementById('apply-title').textContent = '✓ ذخیره شد'; setTimeout(() => document.getElementById('apply-title').textContent = 'اعمال', 2000); }); // ═══ badge نوع جایزه ═══ function prizeBadge(type) { const map = { 'پوچ': ['badge-pooch', 'پوچ'], 'کد تخفیف': ['badge-discount', 'کد تخفیف'], 'لایوکوین': ['badge-coin', 'لایوکوین (LC)'], }; const [cls, label] = map[type] || ['badge-pooch', type]; return `${label}`; } // ═══ رندر جدول ═══ async function renderItems() { const items = await adminGetItems(); tableBody.innerHTML = ''; items.forEach((item, idx) => { const row = document.createElement('tr'); row.innerHTML = `