// ✅ Provider-Tabs — Database-এ যে Vendor সত্যিই আছে,
// শুধু সেগুলোই দেখানো হবে (get_all_games_merged.php-এর
// আসল Response থেকে)
async function loadProviderTabs() {
    try {
        const res = await fetch('/get_all_games_merged.php?category=slot&page=1&limit=100');
        const data = await res.json();
        const vendorsSet = new Set();
        (data.games || []).forEach(g => { if (g.vendorCode) vendorsSet.add(g.vendorCode); });

        // ✅ নতুন যোগ — get_vendor_games.php-তে Manually-Mapped
        // Vendor-গুলোও (Original Data-তে না থাকলেও) Tab-এ যোগ করা
        // ✅ ঠিক করা হলো — Live-Casino-সংক্রান্ত Vendor (EVO, DG,
        // SEXY, MG_Video ইত্যাদি) বাদ দেওয়া, শুধু আসল Slot-Vendor রাখা
        ['EVO', 'EVOLIVE', 'EVOLIVE_CASINO', 'DG', 'SEXY', 'SEXY_Video', 'MG_Video', 'EVO_Video', 'EVO_Electronic'].forEach(v => vendorsSet.delete(v));

        ['BNG', 'BTG', '100HP', 'EAZYGAME', 'FASTSPIN', 'IDG', 'INOUT', 'JDB', '5G', '2J', 'BGAMING', 'TURBO'].forEach(v => vendorsSet.add(v));

        const tabsWrap = document.getElementById('tabsWrap');
        tabsWrap.innerHTML = '<button class="tab-btn active" data-v="" onclick="selectProvider(\'\', this)">ALL</button>';
        [...vendorsSet].forEach(v => {
            const btn = document.createElement('button');
            btn.className = 'tab-btn';
            btn.dataset.v = v;
            btn.textContent = v;
            btn.onclick = () => selectProvider(v, btn);
            tabsWrap.appendChild(btn);
        });
    } catch (e) {}
}

function selectProvider(vendor, el) {
    document.querySelectorAll('.tab-btn').forEach(b => b.classList.remove('active'));
    el.classList.add('active');
    currentVendor = vendor;
    viewMode = 'all';
    document.getElementById('recentBtn').classList.remove('active');
    document.getElementById('favBtn').classList.remove('active');
    loadGames(true);
}
