<!-- ✅ performance_boost.php
     Website-এর Speed বাড়ানোর জন্য, Proven Technique-এর একটা Set।
     newhome.php-এর <head>-এর একদম উপরে, সবার আগে বসানো হয়। -->

<!-- ✅ ১. Preconnect — External Resource-এর সাথে আগে থেকেই
     Connection তৈরি করে রাখা (DNS+SSL Handshake আগেই সেরে রাখে) -->
<link rel="preconnect" href="https://cdnjs.cloudflare.com" crossorigin>
<link rel="preconnect" href="https://fonts.googleapis.com" crossorigin>
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link rel="dns-prefetch" href="https://ossimg.91admin123admin.com">
<link rel="dns-prefetch" href="https://files.catbox.moe">

<script>
// ✅ ২. Image Lazy-Loading — যে ছবি এখনো Screen-এ দেখা যাচ্ছে
// না, সেটা Load-ই না করা (Scroll করলে তখন Load হবে)
document.addEventListener('DOMContentLoaded', function() {
    if ('loading' in HTMLImageElement.prototype) {
        document.querySelectorAll('img').forEach(img => {
            if (!img.loading) img.loading = 'lazy';
        });
    }
});

// ✅ ৩. Debounce Helper — Search/Input-এর মতো কাজে, প্রতি
// Keystroke-এ Function না চালিয়ে, একটু থেমে থেমে চালানো
window.debounce = function(fn, delay = 300) {
    let timer;
    return function(...args) {
        clearTimeout(timer);
        timer = setTimeout(() => fn.apply(this, args), delay);
    };
};

// ✅ ৪. Passive Event Listener — Scroll/Touch Event-এ
// Browser-কে বলে দেওয়া "এখানে preventDefault হবে না",
// যাতে Scroll Smooth থাকে, কোনো Delay না হয়
(function() {
    const originalAdd = EventTarget.prototype.addEventListener;
    EventTarget.prototype.addEventListener = function(type, listener, options) {
        if (['touchstart', 'touchmove', 'wheel', 'scroll'].includes(type)) {
            if (typeof options === 'boolean' || options === undefined) {
                options = { passive: true, capture: !!options };
            } else if (options && options.passive === undefined) {
                options.passive = true;
            }
        }
        return originalAdd.call(this, type, listener, options);
    };
})();

// ✅ ৫. Idle-Time Prefetch — Browser যখন Free থাকে (কিছু
// করছে না), তখন আগে থেকেই পরের সম্ভাব্য Page (Deposit/
// Withdraw/Profile) আগে থেকে Fetch করে রাখা (Cache-এ)
if ('requestIdleCallback' in window) {
    requestIdleCallback(function() {
        ['/newdeposit_panel.php', '/newwithdraw_premium.php', '/newprofile.php'].forEach(url => {
            const link = document.createElement('link');
            link.rel = 'prefetch';
            link.href = url;
            document.head.appendChild(link);
        });
    });
}
</script>
