mirror of
https://github.com/XFox111/easylogon-web.git
synced 2026-07-02 19:52:45 +03:00
major: initial commit
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
console.log("[sw.js]: Running service worker");
|
||||
|
||||
/** @type {string} */
|
||||
let cacheName = "easylogon-pwa";
|
||||
|
||||
/** @type {string[]} */
|
||||
let filesToCache = [
|
||||
"/",
|
||||
"/success",
|
||||
"/error",
|
||||
"/privacy",
|
||||
"/assets/index.js",
|
||||
"/assets/PrivacyPage.js",
|
||||
"/assets/index.css",
|
||||
"/favicon.svg"
|
||||
];
|
||||
|
||||
self.addEventListener("install", /** @param {InstallEvent} event */ event =>
|
||||
event.waitUntil((async () =>
|
||||
{
|
||||
/** @type {Cache} */
|
||||
let cache = await caches.open(cacheName);
|
||||
await cache.addAll(filesToCache);
|
||||
})())
|
||||
);
|
||||
|
||||
self.addEventListener("fetch", /** @param {FetchEvent} event */ event =>
|
||||
event.respondWith(
|
||||
(async () =>
|
||||
{
|
||||
// Don't cache anything but GET requests
|
||||
if (event.request.method !== "GET")
|
||||
return await fetch(event.request);
|
||||
|
||||
// Try cache first
|
||||
let response = await caches.match(new URL(event.request.url));
|
||||
|
||||
if (response)
|
||||
return response;
|
||||
|
||||
response = await fetch(event.request);
|
||||
|
||||
// If fetch succeeds, cache the response
|
||||
if (response.ok)
|
||||
{
|
||||
console.log("[sw.js]: Caching file", event.request.url);
|
||||
|
||||
const cache = await caches.open(cacheName);
|
||||
await cache.put(event.request, response.clone());
|
||||
}
|
||||
|
||||
return response;
|
||||
})()
|
||||
)
|
||||
);
|
||||
Reference in New Issue
Block a user