From 05623222c89108ccefa3db3b22261d1dd5875ef5 Mon Sep 17 00:00:00 2001 From: remi Date: Sun, 12 Jun 2022 00:14:06 +0200 Subject: [PATCH] service worker, attempt 1 --- index.html | 1 + main.css | 4 ++ main.js | 108 ++++++++++++++++++++++++++++++++++++++--------------- sw.js | 91 ++++++++++++++++++++++++++++++++++++++++++++ temp.png | Bin 50582 -> 0 bytes 5 files changed, 174 insertions(+), 30 deletions(-) create mode 100644 sw.js delete mode 100644 temp.png diff --git a/index.html b/index.html index b6908e4..bf5de0c 100644 --- a/index.html +++ b/index.html @@ -40,6 +40,7 @@ show all words random word resources + update available! close all open hisho tabs and reopen hisho to update.
diff --git a/main.css b/main.css index e2d1893..4d6036e 100644 --- a/main.css +++ b/main.css @@ -160,6 +160,10 @@ header.fullscreen #search { max-width: 500px; } +header #update { + display: none; +} + .header-animation { animation: clearly-cheating 1s ease-in-out; } diff --git a/main.js b/main.js index e49ea81..33ab76d 100644 --- a/main.js +++ b/main.js @@ -81,7 +81,7 @@ document.addEventListener("keydown", (e) => { function stripWord(word, space = false) { return space == false ? word.replace(/[^a-zA-Z-]/gu, "").toLowerCase() : - word.replace(/[^a-zA-Z-\s]/gu, "").toLowerCase(); + word.replace(/[^a-zA-Z-\s]/gu, "").toLowerCase(); } heonianVowels = { @@ -200,7 +200,7 @@ function generateRuby(word, addLinks = false) { } } } - + return ruby; } @@ -225,12 +225,12 @@ function loadDictionary() { //add: romanized word searchDictionary[keys[i]].push(stripWord(heonianToRoman(keys[i]))); //what if i add it here. - searchDictionary[keys[i]].push(stripWord(heonianToRoman(keys[i]).replace("dsh","z"))); + searchDictionary[keys[i]].push(stripWord(heonianToRoman(keys[i]).replace("dsh", "z"))); //add: translations, meanings for (let o = 0; o < values[i].length; o++) { - if (values[i][o].hasOwnProperty("translation")){ - searchDictionary[keys[i]].push(stripWord(values[i][o]["translation"], true)) + if (values[i][o].hasOwnProperty("translation")) { + searchDictionary[keys[i]].push(stripWord(values[i][o]["translation"], true)) }; if (values[i][o].hasOwnProperty("meaning")) searchDictionary[keys[i]].push(stripWord(values[i][o]["meaning"], true)); } @@ -251,7 +251,7 @@ function loadDictionary() { function search(word, type) { console.log(type); - if (type == "all") {word = ""}; + if (type == "all") { word = "" }; if (type == "random") { let random = Math.floor(Math.random() * Object.keys(json).length); return [Object.keys(json)[random]]; @@ -365,7 +365,7 @@ function doSearch(state = true) { let meaning = document.createElement("div"); meaning.classList.add("result-meaning"); //ripping off jisho: Bold, word type (*required) - if (last != json[results[i]][o]["type"]) meaning.innerHTML += ""+json[results[i]][o]["type"]+"
"; + if (last != json[results[i]][o]["type"]) meaning.innerHTML += "" + json[results[i]][o]["type"] + "
"; last = json[results[i]][o]["type"]; if (types[json[results[i]][o]["type"]] == undefined) { types[json[results[i]][o]["type"]] = 1; @@ -373,17 +373,17 @@ function doSearch(state = true) { types[json[results[i]][o]["type"]]++; } //number, meaning (*required) - meaning.innerHTML += ""+(o+1)+""+json[results[i]][o]["meaning"]+""; + meaning.innerHTML += "" + (o + 1) + "" + json[results[i]][o]["meaning"] + ""; //longer translation (below are not required, make sure to check for them) if (json[results[i]][o]["translation"] != undefined && json[results[i]][o]["translation"].toLowerCase() != json[results[i]][o]["meaning"].toLowerCase()) { - meaning.innerHTML += "
"+json[results[i]][o]["translation"]+""; + meaning.innerHTML += "
" + json[results[i]][o]["translation"] + ""; } //example if (json[results[i]][o]["examples"] != undefined) { let temp = "" temp += "
Examples

"; for (let e in json[results[i]][o]["examples"]) { - temp += ""+generateRuby(e, true)+" - "+json[results[i]][o]["examples"][e]+"
"; + temp += "" + generateRuby(e, true) + " - " + json[results[i]][o]["examples"][e] + "
"; } temp += "

"; meaning.innerHTML += temp; @@ -394,7 +394,7 @@ function doSearch(state = true) { temp += "
Antonyms

"; for (let e in json[results[i]][o]["antonyms"]) { let r = json[results[i]][o]["antonyms"][e]; - temp += ""+generateRuby(r, true); + temp += "" + generateRuby(r, true); if (json[r] != undefined) { temp += " - "; for (let i in json[r]) { @@ -412,7 +412,7 @@ function doSearch(state = true) { temp += "

Synonyms

"; for (let e in json[results[i]][o]["synonyms"]) { let r = json[results[i]][o]["synonyms"][e]; - temp += ""+generateRuby(r, true); + temp += "" + generateRuby(r, true); if (json[r] != undefined) { temp += " - "; for (let i in json[r]) { @@ -427,14 +427,14 @@ function doSearch(state = true) { } //notes if (json[results[i]][o]["notes"] != undefined) { - meaning.innerHTML += "

"+json[results[i]][o]["notes"]+"

"; + meaning.innerHTML += "

" + json[results[i]][o]["notes"] + "

"; } //(source, etc) if (json[results[i]][o]["canon-etymology"] != undefined) { - meaning.innerHTML += "
Canon Etymology

"+json[results[i]][o]["canon-etymology"]+"

"; + meaning.innerHTML += "
Canon Etymology

" + json[results[i]][o]["canon-etymology"] + "

"; } if (json[results[i]][o]["meta-etymology"] != undefined) { - meaning.innerHTML += "
Meta Etymology

"+json[results[i]][o]["meta-etymology"]+"

"; + meaning.innerHTML += "
Meta Etymology

" + json[results[i]][o]["meta-etymology"] + "

"; } //todo result.appendChild(meaning); //y, yeah. @@ -445,22 +445,22 @@ function doSearch(state = true) { let header = document.createElement("div"); header.classList.add("results-header"); //When using search methods, accomodate search text. - switch(type) { - //show:all - case "all": - val = "Showing all words"; - break; - case "random": - val = "Showing random word: " + results[0]; - break; - //OMG A WORD - default: - val = "search results for: " + val; - break; + switch (type) { + //show:all + case "all": + val = "Showing all words"; + break; + case "random": + val = "Showing random word: " + results[0]; + break; + //OMG A WORD + default: + val = "search results for: " + val; + break; } header.innerHTML += "" + val + "
"; for (let i in types) { - if(i !== ""){header.innerHTML += ""+i+"s - "+types[i]+"";} + if (i !== "") { header.innerHTML += "" + i + "s - " + types[i] + ""; } } main.prepend(header); } @@ -476,10 +476,57 @@ function goHome(state = true) { if (state == true) history.pushState(null, "", url); } +async function registerSW() { + if ('serviceWorker' in navigator) { + navigator.serviceWorker.register('./sw.js').then(registration => { + registration.onupdatefound = () => { + const installingWorker = registration.installing; + if (installingWorker == null) { + return; + } + installingWorker.onstatechange = () => { + if (installingWorker.state === 'installed') { + if (navigator.serviceWorker.controller) { + // At this point, the updated precached content has been fetched, + // but the previous service worker will still serve the older + // content until all client tabs are closed. + header.querySelector("#update").style.display = "block"; + + // Execute callback + if (config && config.onUpdate) { + config.onUpdate(registration); + } + } else { + // At this point, everything has been precached. + // It's the perfect time to display a + // "Content is cached for offline use." message. + console.log('Content is cached for offline use.'); + + // Execute callback + if (config && config.onSuccess) { + config.onSuccess(registration); + } + } + } + }; + }; + }).catch(error => { + console.error('Error during service worker registration:', error); + }); + } +} + +function removeSW() { + navigator.serviceWorker.getRegistrations().then(function(registrations) { + for(let registration of registrations) { + registration.unregister() + }}); //dev use only!! or whatever... i just copypasted this from SO +} + window.onload = () => { header = document.querySelector("header"); main = document.querySelector("main"); - header.querySelector("#search button").onclick = () => {toggleIME();}; + header.querySelector("#search button").onclick = () => { toggleIME(); }; header.querySelector("span.heonian").onclick = () => { if (!header.classList.contains("fullscreen")) { goHome(); @@ -513,7 +560,8 @@ window.onload = () => { doSearch(false); } }); - //also check if ?s is there . for hecks sake (todo) + registerSW(); + //also check if ?s is there . for hecks sake (todo) (TODO!!!!!!) } const sortObject = obj => Object.keys(obj).sort().reduce((res, key) => (res[key] = obj[key], res), {}) \ No newline at end of file diff --git a/sw.js b/sw.js new file mode 100644 index 0000000..5c4b358 --- /dev/null +++ b/sw.js @@ -0,0 +1,91 @@ +const currentVersion = 'v1'; + +const addResourcesToCache = async (resources) => { + const cache = await caches.open(currentVersion); + await cache.addAll(resources); +}; + +const putInCache = async (request, response) => { + const cache = await caches.open(currentVersion); + await cache.put(request, response); +}; + +const cacheFirst = async ({ request, preloadResponsePromise }) => { + // First try to get the resource from the cache + const responseFromCache = await caches.match(request); + if (responseFromCache) { + return responseFromCache; + } + + // Next try to use the preloaded response, if it's there + const preloadResponse = await preloadResponsePromise; + if (preloadResponse) { + console.info('using preload response', preloadResponse); + putInCache(request, preloadResponse.clone()); + return preloadResponse; + } + + // Next try to get the resource from the network + try { + const responseFromNetwork = await fetch(request); + // response may be used only once + // we need to save clone to put one copy in cache + // and serve second one + putInCache(request, responseFromNetwork.clone()); + return responseFromNetwork; + } catch (error) { + return new Response('Network error happened', { + status: 408, + headers: { 'Content-Type': 'text/plain' }, + }); + } +}; + +const deleteCache = async key => { + await caches.delete(key) +} + +const deleteOldCaches = async () => { + const cacheKeepList = [currentVersion]; + const keyList = await caches.keys() + const cachesToDelete = keyList.filter(key => !cacheKeepList.includes(key)) + await Promise.all(cachesToDelete.map(deleteCache)); +} + +self.addEventListener('activate', (event) => { + event.waitUntil(deleteOldCaches()); +}); + +const enableNavigationPreload = async () => { + if (self.registration.navigationPreload) { + // Enable navigation preloads! + await self.registration.navigationPreload.enable(); + } +}; + +self.addEventListener('activate', (event) => { + event.waitUntil(enableNavigationPreload()); +}); + +self.addEventListener('install', (event) => { + event.waitUntil( + addResourcesToCache([ + './heonian-resources/wordlist.json', + './heonian-ime/ime.js', + './font.otf', + './index.html', + './main.css', + './main.js', + './manifest.json' + ]) + ); +}); + +self.addEventListener('fetch', (event) => { + event.respondWith( + cacheFirst({ + request: event.request, + preloadResponsePromise: event.preloadResponse + }) + ); +}); \ No newline at end of file diff --git a/temp.png b/temp.png deleted file mode 100644 index 188e2378d0e07294e73ac375d5c5a82880473bdf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 50582 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

q1wx52~Z$Pv<5cIzcxwrG%;mlol0x5 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 K;&*wA;Qs?d_?z_r