1
0
mirror of https://github.com/zumbiepig/MineXLauncher.git synced 2025-06-26 10:05:10 +00:00
This commit is contained in:
zumbiepig
2024-08-20 07:35:26 -07:00
parent 3e84050771
commit 020d35d435
4 changed files with 84 additions and 26 deletions

56
public/sw-full.js Normal file
View File

@@ -0,0 +1,56 @@
const cacheVersion = '1.5';
const cacheName = `minexlauncher-full-v${cacheVersion}`;
self.addEventListener('install', (event) => {
event.waitUntil(
caches.open(cacheName).then(async (cache) => {
const response = await fetch('/cacheAssets.json');
const cacheAssets = await response.json();
const totalAssets = cacheAssets.length;
let cachedAssets = 0;
for (const asset of cacheAssets) {
await cache.add(asset);
const progress = `${++cachedAssets}/${totalAssets}`;
console.log(`Cached: ${asset} (${progress})`);
}
})
);
});
self.addEventListener('activate', (event) => {
event.waitUntil(
caches
.keys()
.then((keyList) => {
return Promise.all(
keyList.map((key) => {
if (key !== cacheName) {
return caches.delete(key);
}
})
);
})
.then(() => {
return self.clients.claim();
})
.then(() => {
return self.clients.matchAll().then((clients) => {
clients.forEach((client) => {
client.postMessage({
title: 'sw-install-complete',
});
});
});
})
);
});
self.addEventListener('fetch', (event) => {
event.respondWith(
caches.match(event.request).then((response) => {
return response || fetch(event.request);
})
);
});