const CACHE_NAME = 'vpnet-panel-offline';

self.addEventListener('install', (event) => {
    self.skipWaiting();
});

self.addEventListener('activate', (event) => {
    event.waitUntil(clients.claim());
});

self.addEventListener('fetch', (event) => {
    // ۱. نادیده گرفتن درخواست‌های POST (مثل فرم لاگین) تا تداخلی ایجاد نشود
    if (event.request.method !== 'GET') {
        return;
    }

    // ۲. نادیده گرفتن کامل فایل کپچا و لاگین از کش و سرویس‌ورکر
    const url = new URL(event.request.url);
    if (url.pathname.includes('captcha') || url.pathname.includes('login')) {
        return;
    }

    event.respondWith(
        fetch(event.request).catch(() => {
            return new Response(
                '<html dir="rtl"><head><meta charset="utf-8"><title>آفلاین</title></head><body style="background:#0f172a; color:white; text-align:center; padding:50px; font-family:sans-serif;"><h2>شما آفلاین هستید!</h2><p>لطفاً اتصال اینترنت خود را بررسی کنید.</p></body></html>',
                { headers: { 'Content-Type': 'text/html; charset=utf-8' } }
            );
        })
    );
});