PWA optimizations
All checks were successful
continuous-integration/drone/push Build is passing

this supports asset caching + proper handling of the /env.js file (might have lead to config errors in previous versions)
This commit is contained in:
Philipp Dormann 2021-01-07 18:16:36 +01:00
parent 44029c812e
commit bc66ebbf0a
7 changed files with 29 additions and 26 deletions

3
.gitignore vendored
View File

@ -6,4 +6,5 @@ dist-ssr
public/env.js public/env.js
/build /build
yarn.lock yarn.lock
package-lock.json package-lock.json
*.map

View File

@ -4,6 +4,7 @@
"start_url": ".", "start_url": ".",
"display": "standalone", "display": "standalone",
"background_color": "#fff", "background_color": "#fff",
"theme_color": "#fff",
"description": "Lauf für Kaya! - Admin", "description": "Lauf für Kaya! - Admin",
"icons": [ "icons": [
{ {

View File

@ -1 +1,2 @@
if(!self.define){const e=e=>{"require"!==e&&(e+=".js");let r=Promise.resolve();return s[e]||(r=new Promise((async r=>{if("document"in self){const s=document.createElement("script");s.src=e,document.head.appendChild(s),s.onload=r}else importScripts(e),r()}))),r.then((()=>{if(!s[e])throw new Error(`Module ${e} didnt register its module`);return s[e]}))},r=(r,s)=>{Promise.all(r.map(e)).then((e=>s(1===e.length?e[0]:e)))},s={require:Promise.resolve(r)};self.define=(r,i,c)=>{s[r]||(s[r]=Promise.resolve().then((()=>{let s={};const o={uri:location.origin+r.slice(1)};return Promise.all(i.map((r=>{switch(r){case"exports":return s;case"module":return o;default:return e(r)}}))).then((e=>{const r=c(...e);return s.default||(s.default=r),s}))})))}}define("./sw.js",["./workbox-c8ead010"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"env.js",revision:"d774a7cf97a5e7390045bcf8b304062c"},{url:"env.sample.js",revision:"83a2a360688fb3ab53c67f3137a72683"},{url:"favicon.ico",revision:"ba44f340afba5bb1a07f14decc15dd04"},{url:"favicon.png",revision:"07a9941cec62319578fa2a1734db9959"},{url:"favicon.svg",revision:"689d6c6fda51e359c0e5725d9e905064"},{url:"index.html",revision:"4c19a21d81de8fd5ca73503cec356c7c"},{url:"logo.svg",revision:"4c9e31a1f4268d7e36e22cda7656e561"},{url:"robots.txt",revision:"61c27d2cd39a713f7829422c3d9edcc7"}],{})})); if(!self.define){const e=e=>{"require"!==e&&(e+=".js");let r=Promise.resolve();return i[e]||(r=new Promise((async r=>{if("document"in self){const i=document.createElement("script");i.src=e,document.head.appendChild(i),i.onload=r}else importScripts(e),r()}))),r.then((()=>{if(!i[e])throw new Error(`Module ${e} didnt register its module`);return i[e]}))},r=(r,i)=>{Promise.all(r.map(e)).then((e=>i(1===e.length?e[0]:e)))},i={require:Promise.resolve(r)};self.define=(r,s,o)=>{i[r]||(i[r]=Promise.resolve().then((()=>{let i={};const c={uri:location.origin+r.slice(1)};return Promise.all(s.map((r=>{switch(r){case"exports":return i;case"module":return c;default:return e(r)}}))).then((e=>{const r=o(...e);return i.default||(i.default=r),i}))})))}}define("./sw.js",["./workbox-c8ead010"],(function(e){"use strict";self.addEventListener("message",(e=>{e.data&&"SKIP_WAITING"===e.data.type&&self.skipWaiting()})),e.precacheAndRoute([{url:"favicon.ico",revision:"ba44f340afba5bb1a07f14decc15dd04"},{url:"favicon.png",revision:"07a9941cec62319578fa2a1734db9959"},{url:"favicon.svg",revision:"689d6c6fda51e359c0e5725d9e905064"},{url:"index.html",revision:"931c34f3675364dcc09411aa0f223776"},{url:"logo.svg",revision:"4c9e31a1f4268d7e36e22cda7656e561"},{url:"manifest.webmanifest",revision:"d151687e1333f4ab1c49ceb9d41e9afe"},{url:"robots.txt",revision:"61c27d2cd39a713f7829422c3d9edcc7"}],{})}));
//# sourceMappingURL=sw.js.map

File diff suppressed because one or more lines are too long

View File

@ -46,21 +46,21 @@
import Tracks from "./components/Tracks.svelte"; import Tracks from "./components/Tracks.svelte";
import TracksOverview from "./components/TracksOverview.svelte"; import TracksOverview from "./components/TracksOverview.svelte";
import OrgDetail from "./components/OrgDetail.svelte"; import OrgDetail from "./components/OrgDetail.svelte";
import Teams from "./components/Teams.svelte"; import Teams from "./components/Teams.svelte";
store.init(); store.init();
// if ("serviceWorker" in navigator) { if ("serviceWorker" in navigator) {
// window.addEventListener("load", () => { window.addEventListener("load", () => {
// navigator.serviceWorker.register("/sw.js").then( navigator.serviceWorker.register("/sw.js").then(
// (registration) => { (registration) => {
// console.log(`sw successful with scope: ${registration.scope}`); console.log(`sw successful with scope: ${registration.scope}`);
// }, },
// (err) => { (err) => {
// console.log(`sw failed: ${err}`); console.log(`sw failed: ${err}`);
// } }
// ); );
// }); });
// } }
</script> </script>
<Route> <Route>
@ -98,7 +98,7 @@ import Teams from "./components/Teams.svelte";
<Orgs /> <Orgs />
</Route> </Route>
<Route path="/:orgid" let:params> <Route path="/:orgid" let:params>
<OrgDetail params={params}/> <OrgDetail {params} />
</Route> </Route>
</Route> </Route>
<Route path="/about"> <Route path="/about">
@ -110,7 +110,7 @@ import Teams from "./components/Teams.svelte";
</Transition> </Transition>
<Footer /> <Footer />
</Dashboard> </Dashboard>
{:else} {:else}
<Login /> <Login />
{/if} {/if}
</Route> </Route>

View File

@ -6,7 +6,7 @@
"by": "von", "by": "von",
"cannot-reset-your-password-directly": "Schade. \nWir können das Passwort leider nicht direkt zurücksetzen.\nBitte sende uns eine Mail in der du deine Identität bestätigst.", "cannot-reset-your-password-directly": "Schade. \nWir können das Passwort leider nicht direkt zurücksetzen.\nBitte sende uns eine Mail in der du deine Identität bestätigst.",
"credits": "", "credits": "",
"dashboard-greeting": "Willkommen", "dashboard-greeting": "Moin",
"datatable": { "datatable": {
"search": "🔍 Suche ...", "search": "🔍 Suche ...",
"an_error_happened_while_fetching_the_data": "Beim Abrufen der Daten ist ein Fehler aufgetreten", "an_error_happened_while_fetching_the_data": "Beim Abrufen der Daten ist ein Fehler aufgetreten",

View File

@ -1,7 +1,6 @@
module.exports = { module.exports = {
"globDirectory": "public/", globDirectory: 'public',
"globPatterns": [ globPatterns: [ '**/*.{js,ico,png,svg,html,webmanifest,txt}' ],
"**/*.{js,ico,png,svg,html,txt}" globIgnores: [ 'env.js', 'env.sample.js' ],
], swDest: 'public/sw.js'
"swDest": "public/sw.js" };
};