add example SPA client

This commit is contained in:
dhax 2017-09-25 20:25:18 +02:00
parent 1384296a47
commit 4f5abfbd70
21 changed files with 53 additions and 0 deletions

File diff suppressed because one or more lines are too long

Binary file not shown.

1
public/index.html Normal file
View file

@ -0,0 +1 @@
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=format-detection content="telephone=no"><meta name=msapplication-tap-highlight content=no><meta name=viewport content="width=device-width,initial-scale=1"><title>Quasar PWA App</title><link rel=icon type=image/png sizes=32x32 href=/statics/icons/favicon-32x32.png><link rel=icon type=image/png sizes=16x16 href=/statics/icons/favicon-16x16.png><link rel=manifest href=/statics/manifest.json><meta name=apple-mobile-web-app-capable content=yes><meta name=apple-mobile-web-app-status-bar-style content=white><meta name=apple-mobile-web-app-title content="Quasar App"><link rel=apple-touch-icon href=/statics/icons/apple-icon-152x152.png><meta name=msapplication-TileImage content=/statics/icons/ms-icon-144x144.png><meta name=msapplication-TileColor content=#ffffff><meta name=theme-color content=#027be3><link rel=prefetch href=/js/0.aec718d9e204b96868c3.js as=script><link rel=prefetch href=/js/1.fbbe8890d4d2136cc822.js as=script><link rel=prefetch href=/js/2.11d06f3dc4b9cb3b4e4c.js as=script><link rel=prefetch href=/js/3.22a3bc9f1cc3691d966f.js as=script><link rel=prefetch href=/js/4.dc7e6050fce2cd66ec5f.js as=script><link rel=prefetch href=/js/5.db57e31ce2a3199928e0.js as=script><link rel=preload href=/js/vendor.js as=script><link rel=preload href=/js/app.js as=script><link rel=preload href=/app.a27d461781511c3458fa00f64e529d39.css as=style><link rel=preload href=/js/manifest.js as=script><link href=/app.a27d461781511c3458fa00f64e529d39.css rel=stylesheet></head><body><noscript>This is your fallback content in case JavaScript fails to load.</noscript><div id=q-app></div><script>!function(){"use strict";const o=Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));window.addEventListener("load",function(){"serviceWorker"in navigator&&("https:"===window.location.protocol||o)&&navigator.serviceWorker.register("service-worker.js").then(function(o){o.onupdatefound=function(){if(navigator.serviceWorker.controller){const n=o.installing;n.onstatechange=function(){switch(n.state){case"installed":break;case"redundant":throw new Error("The installing service worker became redundant.")}}}}}).catch(function(o){console.error("Error during service worker registration:",o)})})}();</script><script type=text/javascript src=/js/manifest.js></script><script type=text/javascript src=/js/vendor.js></script><script type=text/javascript src=/js/app.js></script></body></html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1 @@
webpackJsonp([1,2],{182:function(t,e,c){function n(t){c(188)}var o=c(4)(c(190),c(191),n,null,null);t.exports=o.exports},184:function(t,e,c){function n(t){c(196)}var o=c(4)(c(198),c(199),n,null,null);t.exports=o.exports},188:function(t,e,c){var n=c(189);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);c(181)("59efb0dd",n,!0)},189:function(t,e,c){e=t.exports=c(180)(void 0),e.push([t.i,"",""])},190:function(t,e,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=c(5),o=c(30);c.n(o);e.default={components:{QBtn:n.c,QCheckbox:n.i,QCollapsible:n.k,QField:n.o,QIcon:n.q,QInput:n.r,QToggle:n.K},props:["account"],data:function(){return{}},validations:{account:{name:{required:o.required,minLength:Object(o.minLength)(3)},email:{required:o.required,email:o.email},roles:{required:o.required,minLength:Object(o.minLength)(1)}}},methods:{clearForm:function(){this.$refs.createAccount.close(),this.account={name:"",email:"",roles:["account"],active:!0},this.$v.account.$reset()}}}},191:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,c=t._self._c||e;return c("div",[c("h5",[t._t("title")],2),c("q-field",{attrs:{icon:"account_box",label:"Name",error:t.$v.account.name.$error,"error-label":"Minimum "+t.$v.account.name.$params.minLength.min+" characters"}},[c("q-input",{attrs:{placeholder:"Account Name"},on:{input:function(e){t.$v.account.name.$touch()}},model:{value:t.account.name,callback:function(e){t.account.name="string"==typeof e?e.trim():e},expression:"account.name"}})],1),c("q-field",{attrs:{icon:"mail",label:"Email",error:t.$v.account.email.$error,"error-label":"Not a valid email address"}},[c("q-input",{attrs:{placeholder:"Email Address"},on:{input:function(e){t.$v.account.email.$touch()}},model:{value:t.account.email,callback:function(e){t.account.email="string"==typeof e?e.trim():e},expression:"account.email"}})],1),c("q-field",{attrs:{icon:"supervisor_account",label:"Roles",error:t.$v.account.roles.$error,"error-label":"Choose at least one role"}},[c("q-checkbox",{attrs:{label:"User",val:"user"},on:{focus:function(e){t.$v.account.roles.$touch()}},model:{value:t.account.roles,callback:function(e){t.account.roles=e},expression:"account.roles"}}),c("q-checkbox",{staticClass:"on-right",attrs:{label:"Admin",val:"admin"},model:{value:t.account.roles,callback:function(e){t.account.roles=e},expression:"account.roles"}})],1),c("q-field",{attrs:{icon:"check_circle",label:"Active"}},[c("q-toggle",{model:{value:t.account.active,callback:function(e){t.account.active=e},expression:"account.active"}})],1),c("div",{staticClass:"row justify-end"},[t._t("actions")],2)],1)},staticRenderFns:[]}},196:function(t,e,c){var n=c(197);"string"==typeof n&&(n=[[t.i,n,""]]),n.locals&&(t.exports=n.locals);c(181)("10217b28",n,!0)},197:function(t,e,c){e=t.exports=c(180)(void 0),e.push([t.i,".editAccount{padding:25px}",""])},198:function(t,e,c){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var n=c(9),o=c.n(n),a=c(182),i=c.n(a),r=c(5);e.default={components:{AccountForm:i.a,QBtn:r.c,QModal:r.A},props:["account"],data:function(){return{editAccount:o()({},this.account),loading:!1}},methods:{updateAccount:function(){var t=this;this.loading=!0,this.axios.put("/admin/accounts/"+this.account.id,this.editAccount).then(function(e){t.$emit("accountUpdated",e.data),r.O.create.positive({html:"Account updated"})},function(t){r.O.create.negative({html:t.response.data.error})}),this.loading=!1},cancelUpdate:function(){this.$emit("cancelUpdate")}}}},199:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,c=t._self._c||e;return t.account?c("div",[c("account-form",{attrs:{account:t.editAccount}},[c("div",{slot:"title"},[t._v("Edit "+t._s(t.account.name))]),c("div",{staticClass:"on-right",slot:"actions"},[c("q-btn",{on:{click:t.cancelUpdate}},[t._v("Cancel")]),c("q-btn",{staticClass:"on-right",attrs:{disabled:t.loading,color:"primary"},on:{click:t.updateAccount}},[t._v("Update")])],1)])],1):t._e()},staticRenderFns:[]}}});

View file

@ -0,0 +1 @@
webpackJsonp([2],{182:function(e,t,c){function o(e){c(188)}var n=c(4)(c(190),c(191),o,null,null);e.exports=n.exports},188:function(e,t,c){var o=c(189);"string"==typeof o&&(o=[[e.i,o,""]]),o.locals&&(e.exports=o.locals);c(181)("59efb0dd",o,!0)},189:function(e,t,c){t=e.exports=c(180)(void 0),t.push([e.i,"",""])},190:function(e,t,c){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var o=c(5),n=c(30);c.n(n);t.default={components:{QBtn:o.c,QCheckbox:o.i,QCollapsible:o.k,QField:o.o,QIcon:o.q,QInput:o.r,QToggle:o.K},props:["account"],data:function(){return{}},validations:{account:{name:{required:n.required,minLength:Object(n.minLength)(3)},email:{required:n.required,email:n.email},roles:{required:n.required,minLength:Object(n.minLength)(1)}}},methods:{clearForm:function(){this.$refs.createAccount.close(),this.account={name:"",email:"",roles:["account"],active:!0},this.$v.account.$reset()}}}},191:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,c=e._self._c||t;return c("div",[c("h5",[e._t("title")],2),c("q-field",{attrs:{icon:"account_box",label:"Name",error:e.$v.account.name.$error,"error-label":"Minimum "+e.$v.account.name.$params.minLength.min+" characters"}},[c("q-input",{attrs:{placeholder:"Account Name"},on:{input:function(t){e.$v.account.name.$touch()}},model:{value:e.account.name,callback:function(t){e.account.name="string"==typeof t?t.trim():t},expression:"account.name"}})],1),c("q-field",{attrs:{icon:"mail",label:"Email",error:e.$v.account.email.$error,"error-label":"Not a valid email address"}},[c("q-input",{attrs:{placeholder:"Email Address"},on:{input:function(t){e.$v.account.email.$touch()}},model:{value:e.account.email,callback:function(t){e.account.email="string"==typeof t?t.trim():t},expression:"account.email"}})],1),c("q-field",{attrs:{icon:"supervisor_account",label:"Roles",error:e.$v.account.roles.$error,"error-label":"Choose at least one role"}},[c("q-checkbox",{attrs:{label:"User",val:"user"},on:{focus:function(t){e.$v.account.roles.$touch()}},model:{value:e.account.roles,callback:function(t){e.account.roles=t},expression:"account.roles"}}),c("q-checkbox",{staticClass:"on-right",attrs:{label:"Admin",val:"admin"},model:{value:e.account.roles,callback:function(t){e.account.roles=t},expression:"account.roles"}})],1),c("q-field",{attrs:{icon:"check_circle",label:"Active"}},[c("q-toggle",{model:{value:e.account.active,callback:function(t){e.account.active=t},expression:"account.active"}})],1),c("div",{staticClass:"row justify-end"},[e._t("actions")],2)],1)},staticRenderFns:[]}}});

View file

@ -0,0 +1 @@
webpackJsonp([3],{183:function(e,t,c){function a(e){c(192)}var n=c(4)(c(194),c(195),a,null,null);e.exports=n.exports},192:function(e,t,c){var a=c(193);"string"==typeof a&&(a=[[e.i,a,""]]),a.locals&&(e.exports=a.locals);c(181)("5fa8da8e",a,!0)},193:function(e,t,c){t=e.exports=c(180)(void 0),t.push([e.i,".margin{margin-bottom:10px}",""])},194:function(e,t,c){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var a=c(5),n=c(30);c.n(n);t.default={components:{QBtn:a.c,QCheckbox:a.i,QCollapsible:a.k,QField:a.o,QIcon:a.q,QInput:a.r,QToggle:a.K},data:function(){return{account:{name:"",email:"",roles:["user"],active:!0},loading:!1}},validations:{account:{name:{required:n.required,minLength:Object(n.minLength)(3)},email:{required:n.required,email:n.email},roles:{required:n.required,minLength:Object(n.minLength)(1)}}},methods:{createAccount:function(){var e=this;this.loading=!0,this.axios.post("/admin/accounts",this.account).then(function(t){e.$emit("accountCreated",t.data),e.clearForm(),a.O.create.positive({html:"Account created"})},function(e){a.O.create.negative({html:e.response.data.error})}),this.loading=!1},clearForm:function(){this.$refs.createAccount.close(),this.account={name:"",email:"",roles:["account"],active:!0},this.$v.account.$reset()}}}},195:function(e,t){e.exports={render:function(){var e=this,t=e.$createElement,c=e._self._c||t;return c("q-collapsible",{ref:"createAccount",staticClass:"margin",attrs:{icon:"add_circle_outline",label:"Add Account"}},[c("q-field",{attrs:{icon:"account_box",label:"Name",error:e.$v.account.name.$error,"error-label":"Minimum "+e.$v.account.name.$params.minLength.min+" characters"}},[c("q-input",{attrs:{placeholder:"Account Name"},on:{input:function(t){e.$v.account.name.$touch()}},model:{value:e.account.name,callback:function(t){e.account.name="string"==typeof t?t.trim():t},expression:"account.name"}})],1),c("q-field",{attrs:{icon:"mail",label:"Email",error:e.$v.account.email.$error,"error-label":"Not a valid email address"}},[c("q-input",{attrs:{placeholder:"Email Address"},on:{input:function(t){e.$v.account.email.$touch()}},model:{value:e.account.email,callback:function(t){e.account.email="string"==typeof t?t.trim():t},expression:"account.email"}})],1),c("q-field",{attrs:{icon:"supervisor_account",label:"Roles",error:e.$v.account.roles.$error,"error-label":"Choose at least one role"}},[c("q-checkbox",{attrs:{label:"User",val:"user"},on:{focus:function(t){e.$v.account.roles.$touch()}},model:{value:e.account.roles,callback:function(t){e.account.roles=t},expression:"account.roles"}}),c("q-checkbox",{staticClass:"on-right",attrs:{label:"Admin",val:"admin"},model:{value:e.account.roles,callback:function(t){e.account.roles=t},expression:"account.roles"}})],1),c("q-field",{attrs:{icon:"check_circle",label:"Active"}},[c("q-toggle",{model:{value:e.account.active,callback:function(t){e.account.active=t},expression:"account.active"}})],1),c("div",{staticClass:"row justify-end"},[c("q-btn",{on:{click:e.clearForm}},[e._v("Cancel")]),c("q-btn",{staticClass:"on-right",attrs:{disabled:e.$v.account.$invalid||e.loading,color:"primary"},on:{click:e.createAccount}},[e._v("Create")])],1)],1)},staticRenderFns:[]}}});

View file

@ -0,0 +1 @@
webpackJsonp([4],{186:function(t,e,i){function a(t){i(204)}var n=i(4)(i(206),i(207),a,null,null);t.exports=n.exports},204:function(t,e,i){var a=i(205);"string"==typeof a&&(a=[[t.i,a,""]]),a.locals&&(t.exports=a.locals);i(181)("474a8db7",a,!0)},205:function(t,e,i){e=t.exports=i(180)(void 0),e.push([t.i,"",""])},206:function(t,e,i){"use strict";Object.defineProperty(e,"__esModule",{value:!0});var a=i(5);e.default={components:{QLayout:a.x,QToolbar:a.L,QToolbarTitle:a.M,QBtn:a.c,QIcon:a.q,QList:a.y,QListHeader:a.z,QItem:a.s,QItemSide:a.v,QItemMain:a.t,QTabs:a.J,QRouteTab:a.B,QSideLink:a.D},data:function(){return{}}}},207:function(t,e){t.exports={render:function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("q-layout",{ref:"layout",attrs:{view:"hHh LpR lff","left-class":{"bg-grey-2":!0}}},[i("q-toolbar",{slot:"header"},[i("q-btn",{attrs:{flat:"flat"},on:{click:function(e){t.$refs.layout.toggleLeft()}}},[i("q-icon",{attrs:{name:"menu"}})],1),i("q-toolbar-title",[t._v("Admin ("+t._s(t.$auth.sub)+")")])],1),i("div",{slot:"left"},[i("q-side-link",{attrs:{item:"item",to:"/"}},[i("q-item-side",{attrs:{icon:"home"}}),i("q-item-main",{attrs:{label:"Home"}})],1),i("q-list",{attrs:{"no-border":"no-border",link:"link","inset-delimiter":"inset-delimiter"}},[i("q-list-header",[t._v("Admin Panel")]),i("q-side-link",{attrs:{item:"item",to:"/manage"}},[i("q-item-side",{attrs:{icon:"dashboard"}}),i("q-item-main",{attrs:{label:"Dashboard"}})],1),i("q-side-link",{attrs:{item:"item",to:"/manage/accounts"}},[i("q-item-side",{attrs:{icon:"supervisor_accounts"}}),i("q-item-main",{attrs:{label:"Accounts"}})],1)],1)],1),i("router-view")],1)},staticRenderFns:[]}}});

View file

@ -0,0 +1 @@
webpackJsonp([5],{185:function(t,n,e){function o(t){e(200)}var r=e(4)(e(202),e(203),o,null,null);t.exports=r.exports},200:function(t,n,e){var o=e(201);"string"==typeof o&&(o=[[t.i,o,""]]),o.locals&&(t.exports=o.locals);e(181)("63c9fe5b",o,!0)},201:function(t,n,e){n=t.exports=e(180)(void 0),n.push([t.i,"",""])},202:function(t,n,e){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),n.default={data:function(){return{}}}},203:function(t,n){t.exports={render:function(){var t=this,n=t.$createElement;return(t._self._c||n)("div",{staticClass:"layout-padding"},[t._v("Dashboard Component")])},staticRenderFns:[]}}});

1
public/js/app.js Normal file

File diff suppressed because one or more lines are too long

1
public/js/manifest.js Normal file
View file

@ -0,0 +1 @@
!function(e){function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}var r=window.webpackJsonp;window.webpackJsonp=function(t,c,a){for(var u,i,f,d=0,s=[];d<t.length;d++)i=t[d],o[i]&&s.push(o[i][0]),o[i]=0;for(u in c)Object.prototype.hasOwnProperty.call(c,u)&&(e[u]=c[u]);for(r&&r(t,c,a);s.length;)s.shift()();if(a)for(d=0;d<a.length;d++)f=n(n.s=a[d]);return f};var t={},o={8:0};n.e=function(e){function r(){u.onerror=u.onload=null,clearTimeout(i);var n=o[e];0!==n&&(n&&n[1](new Error("Loading chunk "+e+" failed.")),o[e]=void 0)}var t=o[e];if(0===t)return new Promise(function(e){e()});if(t)return t[2];var c=new Promise(function(n,r){t=o[e]=[n,r]});t[2]=c;var a=document.getElementsByTagName("head")[0],u=document.createElement("script");u.type="text/javascript",u.charset="utf-8",u.async=!0,u.timeout=12e4,n.nc&&u.setAttribute("nonce",n.nc),u.src=n.p+"js/"+e+"."+{0:"aec718d9e204b96868c3",1:"fbbe8890d4d2136cc822",2:"11d06f3dc4b9cb3b4e4c",3:"22a3bc9f1cc3691d966f",4:"dc7e6050fce2cd66ec5f",5:"db57e31ce2a3199928e0",6:"996fd74ebc869a4e39cc",7:"0392af6517000d11208b"}[e]+".js";var i=setTimeout(r,12e4);return u.onerror=u.onload=r,a.appendChild(u),c},n.m=e,n.c=t,n.d=function(e,r,t){n.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:t})},n.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(r,"a",r),r},n.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},n.p="/",n.oe=function(e){throw console.error(e),e}}([]);

22
public/js/vendor.js Normal file

File diff suppressed because one or more lines are too long

1
public/service-worker.js Normal file
View file

@ -0,0 +1 @@
"use strict";function setOfCachedUrls(e){return e.keys().then(function(e){return e.map(function(e){return e.url})}).then(function(e){return new Set(e)})}var precacheConfig=[["app.a27d461781511c3458fa00f64e529d39.css","e4c5b1f5bb679fceafd2a7d8fb482bed"],["fonts/MaterialIcons-Regular.012cf6a.woff","012cf6a10129e2275d79d6adac7f3b02"],["index.html","7f8247557cea81ca5a82706651b7fcdc"],["js/0.aec718d9e204b96868c3.js","13bfc1eaed7ce40fc7ad796cddd4b375"],["js/1.fbbe8890d4d2136cc822.js","7a5b8f317218503be16c8a16365f81fb"],["js/2.11d06f3dc4b9cb3b4e4c.js","19ef8bf4459912e90d450418af20bee2"],["js/3.22a3bc9f1cc3691d966f.js","b3318be316bd49aa37741fd8ed13be01"],["js/4.dc7e6050fce2cd66ec5f.js","a48fe4535d938ae03a7e378a7cc9b836"],["js/5.db57e31ce2a3199928e0.js","2b182b36231ab4da9ac08c9783428032"],["js/app.js","8ca082e8a476f66ce899e6ce726b3bd8"],["js/manifest.js","1fd53d4d8453df4be7c2a041639c0fe8"],["js/vendor.js","82ddf3500a31b2a8403b1d4ad724fb19"],["statics/icons/apple-icon-152x152.png","da2b422e2895b9b9c1782a71b6be9d63"],["statics/icons/favicon-16x16.png","efb00e57304380d857603760600da5d5"],["statics/icons/favicon-32x32.png","2f9d7587924933c1912c342b190b53ca"],["statics/icons/icon-192x192.png","8c4120b4e88276badbc808e518572fad"],["statics/icons/icon-512x512.png","a13b2bd5261e2df374128df1aab93001"],["statics/icons/ms-icon-144x144.png","ed12d10fd0407eea42ccaf7af7991146"],["statics/manifest.json","ae10664f4d3a921479e6d4868ae0cdf5"],["statics/quasar-logo.png","3020c8ac2c2872dec7741e5948520093"]],cacheName="sw-precache-v3-my-quasar-app-"+(self.registration?self.registration.scope:""),ignoreUrlParametersMatching=[/^utm_/],addDirectoryIndex=function(e,n){var t=new URL(e);return"/"===t.pathname.slice(-1)&&(t.pathname+=n),t.toString()},cleanResponse=function(e){return e.redirected?("body"in e?Promise.resolve(e.body):e.blob()).then(function(n){return new Response(n,{headers:e.headers,status:e.status,statusText:e.statusText})}):Promise.resolve(e)},createCacheKey=function(e,n,t,a){var c=new URL(e);return a&&c.pathname.match(a)||(c.search+=(c.search?"&":"")+encodeURIComponent(n)+"="+encodeURIComponent(t)),c.toString()},isPathWhitelisted=function(e,n){if(0===e.length)return!0;var t=new URL(n).pathname;return e.some(function(e){return t.match(e)})},stripIgnoredUrlParameters=function(e,n){var t=new URL(e);return t.hash="",t.search=t.search.slice(1).split("&").map(function(e){return e.split("=")}).filter(function(e){return n.every(function(n){return!n.test(e[0])})}).map(function(e){return e.join("=")}).join("&"),t.toString()},hashParamName="_sw-precache",urlsToCacheKeys=new Map(precacheConfig.map(function(e){var n=e[0],t=e[1],a=new URL(n,self.location),c=createCacheKey(a,hashParamName,t,!1);return[a.toString(),c]}));self.addEventListener("install",function(e){e.waitUntil(caches.open(cacheName).then(function(e){return setOfCachedUrls(e).then(function(n){return Promise.all(Array.from(urlsToCacheKeys.values()).map(function(t){if(!n.has(t)){var a=new Request(t,{credentials:"same-origin"});return fetch(a).then(function(n){if(!n.ok)throw new Error("Request for "+t+" returned a response with status "+n.status);return cleanResponse(n).then(function(n){return e.put(t,n)})})}}))})}).then(function(){return self.skipWaiting()}))}),self.addEventListener("activate",function(e){var n=new Set(urlsToCacheKeys.values());e.waitUntil(caches.open(cacheName).then(function(e){return e.keys().then(function(t){return Promise.all(t.map(function(t){if(!n.has(t.url))return e.delete(t)}))})}).then(function(){return self.clients.claim()}))}),self.addEventListener("fetch",function(e){if("GET"===e.request.method){var n,t=stripIgnoredUrlParameters(e.request.url,ignoreUrlParametersMatching);(n=urlsToCacheKeys.has(t))||(t=addDirectoryIndex(t,"index.html"),n=urlsToCacheKeys.has(t));n&&e.respondWith(caches.open(cacheName).then(function(e){return e.match(urlsToCacheKeys.get(t)).then(function(e){if(e)return e;throw Error("The cached response that was expected is missing.")})}).catch(function(n){return console.warn('Couldn\'t serve response for "%s" from cache: %O',e.request.url,n),fetch(e.request)}))}});

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View file

@ -0,0 +1,20 @@
{
"name": "Quasar App",
"short_name": "Quasar-PWA",
"icons": [
{
"src": "/statics/icons/icon-192x192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/statics/icons/icon-512x512.png",
"sizes": "512x512",
"type": "image/png"
}
],
"start_url": "/index.html",
"display": "standalone",
"background_color": "#ffffff",
"theme_color": "#027be3"
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 7 KiB