// script.js

// آرایه‌های استاندارد ریاضی و آماری سیستم رولت
const redNumbers = [1, 3, 5, 7, 9, 12, 14, 16, 18, 19, 21, 23, 25, 27, 30, 32, 34, 36];
let lastTimestamp = 0;

document.addEventListener("DOMContentLoaded", () => {
    // هوشمندی تشخیص صفحات مستقل لود شده
    if (document.getElementById("adminContainer")) {
        initAdminPanel();
    } else if (document.getElementById("monitorContainer")) {
        initMonitorView();
    }
});

// --- بخش اول: سیستم هوشمند کپی پیوندها در دشبورد اصلی ادمین کل ---
function copyLinkToClipboard(buttonElement, textToCopy) {
    navigator.clipboard.writeText(textToCopy).then(() => {
        // پیدا کردن تگ بج متنی دکمه کلیک شده جهت اعمال فیدبک بصری
        const badge = buttonElement.querySelector('.copy-badge');
        const originalText = badge.textContent;
        
        badge.textContent = "کپی شد!";
        badge.style.backgroundColor = "rgba(16, 185, 129, 0.2)";
        badge.style.color = "#10b981";
        
        // بازگرداندن دکمه به حالت عادی پس از ۱.۵ ثانیه
        setTimeout(() => {
            badge.textContent = originalText;
            badge.style.backgroundColor = "";
            badge.style.color = "";
        }, 1500);
    }).catch(err => {
        console.error("خطا در روند کپی لینک سیستم:", err);
    });
}

// --- بخش دوم: کنترلر ادمین میز بازی (موبایل) ---
function initAdminPanel() {
    refreshAdminHistory();
}

function sendAdminNumber(number) {
    const adminContainer = document.getElementById("adminContainer");
    const adminKey = adminContainer.dataset.adminKey;
    const tokenInput = document.getElementById("maxTokenInput");
    
    let tokenValue = tokenInput.value.trim();
    if (!tokenValue) tokenValue = "0";

    fetch("index.php?action=submit_spin", {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify({
            admin_key: adminKey,
            number: number,
            token: tokenValue
        })
    })
    .then(res => res.json())
    .then(data => {
        if (data.status === "success") {
            renderAdminHistory(data.history);
        } else {
            alert("خطا در برقراری ارتباط با سرور: " + data.message);
        }
    })
    .catch(err => console.error("Error submitting:", err));
}

function clearAdminHistory() {
    if (!confirm("DELETE ALL? ARE YOU SURE?")) return;
    const adminKey = document.getElementById("adminContainer").dataset.adminKey;
    
    fetch("index.php?action=clear_history", {
        method: "POST",
        headers: { "Content-Type": "application/json" },
        body: JSON.stringify({ admin_key: adminKey })
    })
    .then(res => res.json())
    .then(data => {
        if (data.status === "success") {
            renderAdminHistory([]);
        }
    });
}

function refreshAdminHistory() {
    const adminKey = document.getElementById("adminContainer").dataset.adminKey;
    fetch(`index.php?action=get_monitor&monitor_key=${adminKey}`)
        .then(res => res.json())
        .then(data => {
            if (data.status === "success") {
                renderAdminHistory(data.data);
            }
        });
}

function renderAdminHistory(history) {
    const container = document.getElementById("adminHistoryLog");
    container.innerHTML = "";
    
    if (!history || history.length === 0) {
        container.innerHTML = `<div class="text-xs text-gray-500 text-center py-2">دیتایی ثبت نشده است.</div>`;
        return;
    }
    
    history.forEach(item => {
        const isRed = redNumbers.includes(item.number);
        const colorClass = item.number === 0 ? 'bg-emerald-600' : (isRed ? 'bg-red-600' : 'bg-zinc-800');
        const dateStr = new Date(item.timestamp * 1000).toLocaleTimeString('fa-IR', { hour: '2-digit', minute: '2-digit' });

        const row = document.createElement("div");
        row.className = "flex justify-between items-center bg-[#191c26] p-2.5 rounded-xl border border-gray-800";
        row.innerHTML = `
            <div class="flex items-center gap-3">
                <span class="${colorClass} w-9 h-9 flex items-center justify-center rounded-lg font-black text-sm text-white">${item.number}</span>
                <div>
                    <span class="block text-xs text-gray-400">توکن: <strong class="text-yellow-500">${item.token}</strong></span>
                </div>
            </div>
            <span class="text-[10px] text-gray-500 font-mono">${dateStr}</span>
        `;
        container.appendChild(row);
    });
}




// لود کردن گلوبال توابع کلیک در محیط جاوااسکریپت مرورگر
window.copyLinkToClipboard = copyLinkToClipboard;
window.sendAdminNumber = sendAdminNumber;
window.clearAdminHistory = clearAdminHistory;
window.refreshAdminHistory = refreshAdminHistory;