const CACHE_NAME = "semboyan35-v2";
const urlsToCache = [
  "/",                // homepage
  "/index.php",       // main forum
  "/forumdisplay.php",// forum list
  "/showthread.php",  // threads
  "/css/styles.css",  // stylesheet
  "/images/icon-192.png",
  "/images/icon-512.png"
];

// Install event: pre-cache important files
self.addEventListener("install", event => {
  event.waitUntil(
    caches.open(CACHE_NAME).then(cache => {
      return cache.addAll(urlsToCache);
    })
  );
});

// Activate event: clean old caches
self.addEventListener("activate", event => {
  event.waitUntil(
    caches.keys().then(keys => {
      return Promise.all(
        keys.filter(key => key !== CACHE_NAME)
            .map(key => caches.delete(key))
      );
    })
  );
});

// Fetch event: serve cached content first, fallback to network
self.addEventListener("fetch", event => {
  event.respondWith(
    caches.match(event.request).then(response => {
      return response || fetch(event.request);
    })
  );
});
