From 39baca4462021d185ec6aaebe1f91f346d66ae98 Mon Sep 17 00:00:00 2001 From: wengtad Date: Fri, 28 May 2021 00:48:59 +0800 Subject: [PATCH] Support PWA (#437) * add PWA * cleanup * add offline cache --- frontend/package-lock.json | 755 +++++++++++++++++- frontend/package.json | 14 +- frontend/public/favicon.ico | Bin 7219 -> 33310 bytes .../img/icons/android-chrome-192x192.png | Bin 0 -> 12734 bytes .../img/icons/android-chrome-512x512.png | Bin 0 -> 26836 bytes .../icons/android-chrome-maskable-192x192.png | Bin 0 -> 12734 bytes .../icons/android-chrome-maskable-512x512.png | Bin 0 -> 26836 bytes .../img/icons/apple-touch-icon-120x120.png | Bin 0 -> 7005 bytes .../img/icons/apple-touch-icon-152x152.png | Bin 0 -> 10255 bytes .../img/icons/apple-touch-icon-180x180.png | Bin 0 -> 13075 bytes .../img/icons/apple-touch-icon-60x60.png | Bin 0 -> 2881 bytes .../img/icons/apple-touch-icon-76x76.png | Bin 0 -> 3846 bytes .../public/img/icons/apple-touch-icon.png | Bin 0 -> 13075 bytes frontend/public/img/icons/favicon-16x16.png | Bin 0 -> 574 bytes frontend/public/img/icons/favicon-32x32.png | Bin 0 -> 1217 bytes .../img/icons/msapplication-icon-144x144.png | Bin 0 -> 8950 bytes frontend/public/img/icons/mstile-150x150.png | Bin 0 -> 10304 bytes .../public/img/icons/safari-pinned-tab.svg | 3 + frontend/public/index.html | 41 +- frontend/public/manifest.json | 82 ++ frontend/public/robots.txt | 2 + frontend/src/App.vue | 53 ++ frontend/src/main.js | 1 + frontend/src/registerServiceWorker.js | 39 + frontend/src/sw.js | 75 ++ frontend/vue.config.js | 14 + 26 files changed, 1034 insertions(+), 45 deletions(-) create mode 100644 frontend/public/img/icons/android-chrome-192x192.png create mode 100644 frontend/public/img/icons/android-chrome-512x512.png create mode 100644 frontend/public/img/icons/android-chrome-maskable-192x192.png create mode 100644 frontend/public/img/icons/android-chrome-maskable-512x512.png create mode 100644 frontend/public/img/icons/apple-touch-icon-120x120.png create mode 100644 frontend/public/img/icons/apple-touch-icon-152x152.png create mode 100644 frontend/public/img/icons/apple-touch-icon-180x180.png create mode 100644 frontend/public/img/icons/apple-touch-icon-60x60.png create mode 100644 frontend/public/img/icons/apple-touch-icon-76x76.png create mode 100644 frontend/public/img/icons/apple-touch-icon.png create mode 100644 frontend/public/img/icons/favicon-16x16.png create mode 100644 frontend/public/img/icons/favicon-32x32.png create mode 100644 frontend/public/img/icons/msapplication-icon-144x144.png create mode 100644 frontend/public/img/icons/mstile-150x150.png create mode 100644 frontend/public/img/icons/safari-pinned-tab.svg create mode 100644 frontend/public/manifest.json create mode 100644 frontend/public/robots.txt create mode 100644 frontend/src/registerServiceWorker.js create mode 100644 frontend/src/sw.js diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 41913671411f..e2bf3b26adf4 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -13,6 +13,7 @@ "fast-levenshtein": "^3.0.0", "fuse.js": "^6.4.6", "qs": "^6.9.6", + "register-service-worker": "^1.7.1", "typeface-roboto": "^1.1.13", "v-jsoneditor": "^1.4.2", "vue": "^2.6.11", @@ -28,6 +29,7 @@ "@mdi/font": "^5.9.55", "@vue/cli-plugin-babel": "^4.5.11", "@vue/cli-plugin-eslint": "^4.5.11", + "@vue/cli-plugin-pwa": "~4.5.0", "@vue/cli-service": "^4.5.12", "babel-eslint": "^10.1.0", "eslint": "^6.7.2", @@ -2012,6 +2014,20 @@ "eslint": ">= 1.6.0 < 7.0.0" } }, + "node_modules/@vue/cli-plugin-pwa": { + "version": "4.5.13", + "resolved": "https://registry.nlark.com/@vue/cli-plugin-pwa/download/@vue/cli-plugin-pwa-4.5.13.tgz", + "integrity": "sha1-qABjmBS29io48EGYw0DPrucpXD8=", + "dev": true, + "dependencies": { + "@vue/cli-shared-utils": "^4.5.13", + "webpack": "^4.0.0", + "workbox-webpack-plugin": "^4.3.1" + }, + "peerDependencies": { + "@vue/cli-service": "^3.0.0 || ^4.0.0-0" + } + }, "node_modules/@vue/cli-plugin-router": { "version": "4.5.12", "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.12.tgz", @@ -2318,9 +2334,9 @@ } }, "node_modules/@vue/cli-shared-utils": { - "version": "4.5.12", - "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.12.tgz", - "integrity": "sha512-qnIQPJ4XckMoqYh9fJ0Y91QKMIb4Hiibrm9+k4E15QHpk5RaokuOpf10SsOr2NLPCXSWsHOLo3hduZSwHPGY/Q==", + "version": "4.5.13", + "resolved": "https://registry.nlark.com/@vue/cli-shared-utils/download/@vue/cli-shared-utils-4.5.13.tgz", + "integrity": "sha1-rNQPMbR5DxY0KSvapfypXcHg/1A=", "dev": true, "dependencies": { "@hapi/joi": "^15.0.1", @@ -3075,6 +3091,18 @@ "eslint": ">= 4.12.1" } }, + "node_modules/babel-extract-comments": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/babel-extract-comments/download/babel-extract-comments-1.0.0.tgz", + "integrity": "sha1-Cirt+BQX7TkbheGLRhTmk6A1GiE=", + "dev": true, + "dependencies": { + "babylon": "^6.18.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/babel-loader": { "version": "8.2.2", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", @@ -3142,6 +3170,54 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-object-rest-spread/download/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "node_modules/babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-object-rest-spread/download/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "dev": true, + "dependencies": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-runtime/node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.nlark.com/core-js/download/core-js-2.6.12.tgz", + "integrity": "sha1-2TM9+nsGXjR8xWgiGdb2kIWcwuw=", + "deprecated": "core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.", + "dev": true + }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz", + "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=", + "dev": true + }, + "node_modules/babylon": { + "version": "6.18.0", + "resolved": "https://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz", + "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=", + "dev": true, + "bin": { + "babylon": "bin/babylon.js" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -4330,6 +4406,15 @@ "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", "dev": true }, + "node_modules/common-tags": { + "version": "1.8.0", + "resolved": "https://registry.npm.taobao.org/common-tags/download/common-tags-1.8.0.tgz", + "integrity": "sha1-jjFT5ULUo56bEFVENK+q+YlWqTc=", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", @@ -7015,6 +7100,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.2.tgz?cache=0&sync_timestamp=1575993721676&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-own-enumerable-property-symbols%2Fdownload%2Fget-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha1-tf3nfyLL4185C04ImSLFC85u9mQ=", + "dev": true + }, "node_modules/get-stream": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", @@ -8450,6 +8541,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-regexp/download/is-regexp-1.0.0.tgz?cache=0&sync_timestamp=1617816642607&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-regexp%2Fdownload%2Fis-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/is-resolvable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", @@ -8694,6 +8794,15 @@ "resolved": "https://registry.npmjs.org/json-source-map/-/json-source-map-0.6.1.tgz", "integrity": "sha512-1QoztHPsMQqhDq0hlXY5ZqcEdUzxQEIxgFkKl4WUp2pgShObl+9ovi4kRh2TfvAfxAoHOJ9vIMEqk3k4iex7tg==" }, + "node_modules/json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "dependencies": { + "jsonify": "~0.0.0" + } + }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", @@ -8752,6 +8861,15 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npm.taobao.org/jsonify/download/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true, + "engines": { + "node": "*" + } + }, "node_modules/jsonrepair": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/jsonrepair/-/jsonrepair-2.2.0.tgz", @@ -8950,6 +9068,12 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, + "node_modules/lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/lodash._reinterpolate/download/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, "node_modules/lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -8980,6 +9104,25 @@ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, + "node_modules/lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npm.taobao.org/lodash.template/download/lodash.template-4.5.0.tgz", + "integrity": "sha1-+XYZXPPzR9DV9SSDVp/oAxzM6Ks=", + "dev": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "node_modules/lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/lodash.templatesettings/download/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha1-5IExDwSdPPbUfpEq0JMTsVTw+zM=", + "dev": true, + "dependencies": { + "lodash._reinterpolate": "^3.0.0" + } + }, "node_modules/lodash.transform": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz", @@ -11293,6 +11436,15 @@ "node": ">=4" } }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npm.taobao.org/pretty-bytes/download/pretty-bytes-5.6.0.tgz?cache=0&sync_timestamp=1613919908059&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-bytes%2Fdownload%2Fpretty-bytes-5.6.0.tgz", + "integrity": "sha1-NWJW9kOAR3PIL2RyP+eMksYr6us=", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/pretty-error": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", @@ -11696,6 +11848,11 @@ "node": ">=4" } }, + "node_modules/register-service-worker": { + "version": "1.7.2", + "resolved": "https://registry.npm.taobao.org/register-service-worker/download/register-service-worker-1.7.2.tgz", + "integrity": "sha1-ZRaYPh73kKmMQiWvEha8gJQaS9I=" + }, "node_modules/regjsgen": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", @@ -13102,6 +13259,29 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/stringify-object/download/stringify-object-3.3.0.tgz", + "integrity": "sha1-cDBlrvyhkwDTzoivT1s5VtdVZik=", + "dev": true, + "dependencies": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/stringify-object/node_modules/is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz?cache=0&sync_timestamp=1618601442079&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-obj%2Fdownload%2Fis-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -13114,6 +13294,19 @@ "node": ">=6" } }, + "node_modules/strip-comments": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/strip-comments/download/strip-comments-1.0.2.tgz", + "integrity": "sha1-grnEXn8FhzvuU/NxaK+TCqNoZ50=", + "dev": true, + "dependencies": { + "babel-extract-comments": "^1.0.0", + "babel-plugin-transform-object-rest-spread": "^6.26.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", @@ -15473,6 +15666,191 @@ "node": ">=0.10.0" } }, + "node_modules/workbox-background-sync": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-background-sync/download/workbox-background-sync-4.3.1.tgz", + "integrity": "sha1-JoIbm/Funjf9HWQCie3dwIr9GVA=", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-broadcast-update": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-broadcast-update/download/workbox-broadcast-update-4.3.1.tgz", + "integrity": "sha1-4sAoCxSeOlBJg7dXYGrQQfMyw1s=", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-build": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-build/download/workbox-build-4.3.1.tgz", + "integrity": "sha1-QU9w+01t5H9lOGCLgOxSQS0jPmQ=", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.3.4", + "@hapi/joi": "^15.0.0", + "common-tags": "^1.8.0", + "fs-extra": "^4.0.2", + "glob": "^7.1.3", + "lodash.template": "^4.4.0", + "pretty-bytes": "^5.1.0", + "stringify-object": "^3.3.0", + "strip-comments": "^1.0.2", + "workbox-background-sync": "^4.3.1", + "workbox-broadcast-update": "^4.3.1", + "workbox-cacheable-response": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-expiration": "^4.3.1", + "workbox-google-analytics": "^4.3.1", + "workbox-navigation-preload": "^4.3.1", + "workbox-precaching": "^4.3.1", + "workbox-range-requests": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1", + "workbox-streams": "^4.3.1", + "workbox-sw": "^4.3.1", + "workbox-window": "^4.3.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/workbox-build/node_modules/fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-4.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffs-extra%2Fdownload%2Ffs-extra-4.0.3.tgz", + "integrity": "sha1-DYUhIuW8W+tFP7Ao6cDJvzY0DJQ=", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "node_modules/workbox-cacheable-response": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-cacheable-response/download/workbox-cacheable-response-4.3.1.tgz", + "integrity": "sha1-9T4HkXnAlaPxnlMTsoSXXJFCjJE=", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-core": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-core/download/workbox-core-4.3.1.tgz", + "integrity": "sha1-AF0sagahcUN6/WyikEpXJ+zXO+Y=", + "dev": true + }, + "node_modules/workbox-expiration": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-expiration/download/workbox-expiration-4.3.1.tgz", + "integrity": "sha1-15BDNWICnlaDfzQdf1U8Snjr6SE=", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-google-analytics": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-google-analytics/download/workbox-google-analytics-4.3.1.tgz", + "integrity": "sha1-ntoBg7EDiQtcJW5vTqFaHxVIUZo=", + "dev": true, + "dependencies": { + "workbox-background-sync": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1" + } + }, + "node_modules/workbox-navigation-preload": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-navigation-preload/download/workbox-navigation-preload-4.3.1.tgz", + "integrity": "sha1-Kcjk21hDgDs0zZbcFV+evZr6RT0=", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-precaching": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-precaching/download/workbox-precaching-4.3.1.tgz", + "integrity": "sha1-n8Re0SLZS74fDqlYT/WUCWB3HLo=", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-range-requests": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-range-requests/download/workbox-range-requests-4.3.1.tgz", + "integrity": "sha1-+KRwGIkiFFy/DAmpotXjVkUkTnQ=", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-routing": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-routing/download/workbox-routing-4.3.1.tgz", + "integrity": "sha1-pnWEGvYj4LsMZ85O2OckrAvtDNo=", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-strategies": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-strategies/download/workbox-strategies-4.3.1.tgz", + "integrity": "sha1-0r4DxO8hTBFeGrKcnHWcn+Pp5kY=", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-streams": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-streams/download/workbox-streams-4.3.1.tgz", + "integrity": "sha1-C1facOmCVy3gnIdC3Qy0Cmt8LMM=", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, + "node_modules/workbox-sw": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-sw/download/workbox-sw-4.3.1.tgz", + "integrity": "sha1-32njlcR5700USZNyvNhMD14kYWQ=", + "dev": true + }, + "node_modules/workbox-webpack-plugin": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-webpack-plugin/download/workbox-webpack-plugin-4.3.1.tgz", + "integrity": "sha1-R/9eocwHS2xA+1qGEIhjokEg1L0=", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.0.0", + "json-stable-stringify": "^1.0.1", + "workbox-build": "^4.3.1" + }, + "engines": { + "node": ">=4.0.0" + }, + "peerDependencies": { + "webpack": "^2.0.0 || ^3.0.0 || ^4.0.0" + } + }, + "node_modules/workbox-window": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-window/download/workbox-window-4.3.1.tgz", + "integrity": "sha1-7mBRvxDwavpUg8m436BTGZTt4PM=", + "dev": true, + "dependencies": { + "workbox-core": "^4.3.1" + } + }, "node_modules/worker-farm": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", @@ -17295,6 +17673,7 @@ "integrity": "sha512-8q67ORQ9O0Ms0nlqsXTVhaBefRBaLrzPxOewAZhdcO7onHwcO5/wRdWtHhZgfpCZlhY7NogkU16z3WnorSSkEA==", "dev": true, "requires": { + "@babel/core": "^7.11.0", "@babel/helper-compilation-targets": "^7.9.6", "@babel/helper-module-imports": "^7.8.3", "@babel/plugin-proposal-class-properties": "^7.8.3", @@ -17307,6 +17686,7 @@ "@vue/babel-plugin-jsx": "^1.0.3", "@vue/babel-preset-jsx": "^1.2.4", "babel-plugin-dynamic-import-node": "^2.3.3", + "core-js": "^3.6.5", "core-js-compat": "^3.6.5", "semver": "^6.1.0" } @@ -17445,6 +17825,17 @@ "yorkie": "^2.0.0" } }, + "@vue/cli-plugin-pwa": { + "version": "4.5.13", + "resolved": "https://registry.nlark.com/@vue/cli-plugin-pwa/download/@vue/cli-plugin-pwa-4.5.13.tgz", + "integrity": "sha1-qABjmBS29io48EGYw0DPrucpXD8=", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^4.5.13", + "webpack": "^4.0.0", + "workbox-webpack-plugin": "^4.3.1" + } + }, "@vue/cli-plugin-router": { "version": "4.5.12", "resolved": "https://registry.npmjs.org/@vue/cli-plugin-router/-/cli-plugin-router-4.5.12.tgz", @@ -17458,8 +17849,7 @@ "version": "4.5.12", "resolved": "https://registry.npmjs.org/@vue/cli-plugin-vuex/-/cli-plugin-vuex-4.5.12.tgz", "integrity": "sha512-STgbvNv/3iHAKArc18b/qjN7RX1FTrfxPeHH26GOr/A8lJes7+CSluZZ8E5R7Zr/vL0zOqOkUVDAjFXVf4zWQA==", - "dev": true, - "requires": {} + "dev": true }, "@vue/cli-service": { "version": "4.5.12", @@ -17670,9 +18060,9 @@ } }, "@vue/cli-shared-utils": { - "version": "4.5.12", - "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.12.tgz", - "integrity": "sha512-qnIQPJ4XckMoqYh9fJ0Y91QKMIb4Hiibrm9+k4E15QHpk5RaokuOpf10SsOr2NLPCXSWsHOLo3hduZSwHPGY/Q==", + "version": "4.5.13", + "resolved": "https://registry.nlark.com/@vue/cli-shared-utils/download/@vue/cli-shared-utils-4.5.13.tgz", + "integrity": "sha1-rNQPMbR5DxY0KSvapfypXcHg/1A=", "dev": true, "requires": { "@hapi/joi": "^15.0.1", @@ -17751,8 +18141,7 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz", "integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==", - "dev": true, - "requires": {} + "dev": true }, "@vue/web-component-wrapper": { "version": "1.3.0", @@ -17972,8 +18361,7 @@ "version": "5.3.1", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", - "dev": true, - "requires": {} + "dev": true }, "acorn-walk": { "version": "7.2.0", @@ -18012,15 +18400,13 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true, - "requires": {} + "dev": true }, "ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "requires": {} + "dev": true }, "alphanum-sort": { "version": "1.0.2", @@ -18302,6 +18688,15 @@ "resolve": "^1.12.0" } }, + "babel-extract-comments": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/babel-extract-comments/download/babel-extract-comments-1.0.0.tgz", + "integrity": "sha1-Cirt+BQX7TkbheGLRhTmk6A1GiE=", + "dev": true, + "requires": { + "babylon": "^6.18.0" + } + }, "babel-loader": { "version": "8.2.2", "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", @@ -18353,6 +18748,52 @@ "@babel/helper-define-polyfill-provider": "^0.2.0" } }, + "babel-plugin-syntax-object-rest-spread": { + "version": "6.13.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-syntax-object-rest-spread/download/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", + "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", + "dev": true + }, + "babel-plugin-transform-object-rest-spread": { + "version": "6.26.0", + "resolved": "https://registry.npm.taobao.org/babel-plugin-transform-object-rest-spread/download/babel-plugin-transform-object-rest-spread-6.26.0.tgz", + "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", + "dev": true, + "requires": { + "babel-plugin-syntax-object-rest-spread": "^6.8.0", + "babel-runtime": "^6.26.0" + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npm.taobao.org/babel-runtime/download/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "dev": true, + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.nlark.com/core-js/download/core-js-2.6.12.tgz", + "integrity": "sha1-2TM9+nsGXjR8xWgiGdb2kIWcwuw=", + "dev": true + }, + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.nlark.com/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz", + "integrity": "sha1-vgWtf5v30i4Fb5cmzuUBf78Z4uk=", + "dev": true + } + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npm.taobao.org/babylon/download/babylon-6.18.0.tgz", + "integrity": "sha1-ry87iPpvXB5MY00aD46sT1WzleM=", + "dev": true + }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -19332,6 +19773,12 @@ "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", "dev": true }, + "common-tags": { + "version": "1.8.0", + "resolved": "https://registry.npm.taobao.org/common-tags/download/common-tags-1.8.0.tgz", + "integrity": "sha1-jjFT5ULUo56bEFVENK+q+YlWqTc=", + "dev": true + }, "commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", @@ -21492,6 +21939,12 @@ "has-symbols": "^1.0.1" } }, + "get-own-enumerable-property-symbols": { + "version": "3.0.2", + "resolved": "https://registry.npm.taobao.org/get-own-enumerable-property-symbols/download/get-own-enumerable-property-symbols-3.0.2.tgz?cache=0&sync_timestamp=1575993721676&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fget-own-enumerable-property-symbols%2Fdownload%2Fget-own-enumerable-property-symbols-3.0.2.tgz", + "integrity": "sha1-tf3nfyLL4185C04ImSLFC85u9mQ=", + "dev": true + }, "get-stream": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", @@ -22579,6 +23032,12 @@ "has-symbols": "^1.0.1" } }, + "is-regexp": { + "version": "1.0.0", + "resolved": "https://registry.npm.taobao.org/is-regexp/download/is-regexp-1.0.0.tgz?cache=0&sync_timestamp=1617816642607&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-regexp%2Fdownload%2Fis-regexp-1.0.0.tgz", + "integrity": "sha1-/S2INUXEa6xaYz57mgnof6LLUGk=", + "dev": true + }, "is-resolvable": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", @@ -22771,6 +23230,15 @@ "resolved": "https://registry.npmjs.org/json-source-map/-/json-source-map-0.6.1.tgz", "integrity": "sha512-1QoztHPsMQqhDq0hlXY5ZqcEdUzxQEIxgFkKl4WUp2pgShObl+9ovi4kRh2TfvAfxAoHOJ9vIMEqk3k4iex7tg==" }, + "json-stable-stringify": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/json-stable-stringify/download/json-stable-stringify-1.0.1.tgz", + "integrity": "sha1-mnWdOcXy/1A/1TAGRu1EX4jE+a8=", + "dev": true, + "requires": { + "jsonify": "~0.0.0" + } + }, "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", @@ -22823,6 +23291,12 @@ "graceful-fs": "^4.1.6" } }, + "jsonify": { + "version": "0.0.0", + "resolved": "https://registry.npm.taobao.org/jsonify/download/jsonify-0.0.0.tgz", + "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=", + "dev": true + }, "jsonrepair": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/jsonrepair/-/jsonrepair-2.2.0.tgz", @@ -22989,6 +23463,12 @@ "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true }, + "lodash._reinterpolate": { + "version": "3.0.0", + "resolved": "https://registry.npm.taobao.org/lodash._reinterpolate/download/lodash._reinterpolate-3.0.0.tgz", + "integrity": "sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=", + "dev": true + }, "lodash.debounce": { "version": "4.0.8", "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", @@ -23019,6 +23499,25 @@ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", "dev": true }, + "lodash.template": { + "version": "4.5.0", + "resolved": "https://registry.npm.taobao.org/lodash.template/download/lodash.template-4.5.0.tgz", + "integrity": "sha1-+XYZXPPzR9DV9SSDVp/oAxzM6Ks=", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0", + "lodash.templatesettings": "^4.0.0" + } + }, + "lodash.templatesettings": { + "version": "4.2.0", + "resolved": "https://registry.npm.taobao.org/lodash.templatesettings/download/lodash.templatesettings-4.2.0.tgz", + "integrity": "sha1-5IExDwSdPPbUfpEq0JMTsVTw+zM=", + "dev": true, + "requires": { + "lodash._reinterpolate": "^3.0.0" + } + }, "lodash.transform": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz", @@ -24948,6 +25447,12 @@ "dev": true, "optional": true }, + "pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npm.taobao.org/pretty-bytes/download/pretty-bytes-5.6.0.tgz?cache=0&sync_timestamp=1613919908059&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fpretty-bytes%2Fdownload%2Fpretty-bytes-5.6.0.tgz", + "integrity": "sha1-NWJW9kOAR3PIL2RyP+eMksYr6us=", + "dev": true + }, "pretty-error": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", @@ -25284,6 +25789,11 @@ "unicode-match-property-value-ecmascript": "^1.2.0" } }, + "register-service-worker": { + "version": "1.7.2", + "resolved": "https://registry.npm.taobao.org/register-service-worker/download/register-service-worker-1.7.2.tgz", + "integrity": "sha1-ZRaYPh73kKmMQiWvEha8gJQaS9I=" + }, "regjsgen": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", @@ -26460,6 +26970,25 @@ "define-properties": "^1.1.3" } }, + "stringify-object": { + "version": "3.3.0", + "resolved": "https://registry.npm.taobao.org/stringify-object/download/stringify-object-3.3.0.tgz", + "integrity": "sha1-cDBlrvyhkwDTzoivT1s5VtdVZik=", + "dev": true, + "requires": { + "get-own-enumerable-property-symbols": "^3.0.0", + "is-obj": "^1.0.1", + "is-regexp": "^1.0.0" + }, + "dependencies": { + "is-obj": { + "version": "1.0.1", + "resolved": "https://registry.npm.taobao.org/is-obj/download/is-obj-1.0.1.tgz?cache=0&sync_timestamp=1618601442079&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fis-obj%2Fdownload%2Fis-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + } + } + }, "strip-ansi": { "version": "5.2.0", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", @@ -26469,6 +26998,16 @@ "ansi-regex": "^4.1.0" } }, + "strip-comments": { + "version": "1.0.2", + "resolved": "https://registry.npm.taobao.org/strip-comments/download/strip-comments-1.0.2.tgz", + "integrity": "sha1-grnEXn8FhzvuU/NxaK+TCqNoZ50=", + "dev": true, + "requires": { + "babel-extract-comments": "^1.0.0", + "babel-plugin-transform-object-rest-spread": "^6.26.0" + } + }, "strip-eof": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", @@ -27670,8 +28209,7 @@ "vuetify": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/vuetify/-/vuetify-2.4.11.tgz", - "integrity": "sha512-xFNwr95tFRfbyGNg5DBuUkWaKazMBr+ptzoSSL4PGrI0qItY5Vuusxh+ETPtjUXxwz76v5zVtGvF5rWvGQjy7A==", - "requires": {} + "integrity": "sha512-xFNwr95tFRfbyGNg5DBuUkWaKazMBr+ptzoSSL4PGrI0qItY5Vuusxh+ETPtjUXxwz76v5zVtGvF5rWvGQjy7A==" }, "vuetify-loader": { "version": "1.7.2", @@ -27721,8 +28259,7 @@ "vuex": { "version": "3.6.2", "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.2.tgz", - "integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==", - "requires": {} + "integrity": "sha512-ETW44IqCgBpVomy520DT5jf8n0zoCac+sxWnn+hMe/CzaSejb/eVw2YToiXYX+Ex/AuHHia28vWTq4goAexFbw==" }, "vuex-persistedstate": { "version": "4.0.0-beta.3", @@ -28343,6 +28880,184 @@ "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", "dev": true }, + "workbox-background-sync": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-background-sync/download/workbox-background-sync-4.3.1.tgz", + "integrity": "sha1-JoIbm/Funjf9HWQCie3dwIr9GVA=", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-broadcast-update": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-broadcast-update/download/workbox-broadcast-update-4.3.1.tgz", + "integrity": "sha1-4sAoCxSeOlBJg7dXYGrQQfMyw1s=", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-build": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-build/download/workbox-build-4.3.1.tgz", + "integrity": "sha1-QU9w+01t5H9lOGCLgOxSQS0jPmQ=", + "dev": true, + "requires": { + "@babel/runtime": "^7.3.4", + "@hapi/joi": "^15.0.0", + "common-tags": "^1.8.0", + "fs-extra": "^4.0.2", + "glob": "^7.1.3", + "lodash.template": "^4.4.0", + "pretty-bytes": "^5.1.0", + "stringify-object": "^3.3.0", + "strip-comments": "^1.0.2", + "workbox-background-sync": "^4.3.1", + "workbox-broadcast-update": "^4.3.1", + "workbox-cacheable-response": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-expiration": "^4.3.1", + "workbox-google-analytics": "^4.3.1", + "workbox-navigation-preload": "^4.3.1", + "workbox-precaching": "^4.3.1", + "workbox-range-requests": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1", + "workbox-streams": "^4.3.1", + "workbox-sw": "^4.3.1", + "workbox-window": "^4.3.1" + }, + "dependencies": { + "fs-extra": { + "version": "4.0.3", + "resolved": "https://registry.nlark.com/fs-extra/download/fs-extra-4.0.3.tgz?cache=0&other_urls=https%3A%2F%2Fregistry.nlark.com%2Ffs-extra%2Fdownload%2Ffs-extra-4.0.3.tgz", + "integrity": "sha1-DYUhIuW8W+tFP7Ao6cDJvzY0DJQ=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + } + } + }, + "workbox-cacheable-response": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-cacheable-response/download/workbox-cacheable-response-4.3.1.tgz", + "integrity": "sha1-9T4HkXnAlaPxnlMTsoSXXJFCjJE=", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-core": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-core/download/workbox-core-4.3.1.tgz", + "integrity": "sha1-AF0sagahcUN6/WyikEpXJ+zXO+Y=", + "dev": true + }, + "workbox-expiration": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-expiration/download/workbox-expiration-4.3.1.tgz", + "integrity": "sha1-15BDNWICnlaDfzQdf1U8Snjr6SE=", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-google-analytics": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-google-analytics/download/workbox-google-analytics-4.3.1.tgz", + "integrity": "sha1-ntoBg7EDiQtcJW5vTqFaHxVIUZo=", + "dev": true, + "requires": { + "workbox-background-sync": "^4.3.1", + "workbox-core": "^4.3.1", + "workbox-routing": "^4.3.1", + "workbox-strategies": "^4.3.1" + } + }, + "workbox-navigation-preload": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-navigation-preload/download/workbox-navigation-preload-4.3.1.tgz", + "integrity": "sha1-Kcjk21hDgDs0zZbcFV+evZr6RT0=", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-precaching": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-precaching/download/workbox-precaching-4.3.1.tgz", + "integrity": "sha1-n8Re0SLZS74fDqlYT/WUCWB3HLo=", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-range-requests": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-range-requests/download/workbox-range-requests-4.3.1.tgz", + "integrity": "sha1-+KRwGIkiFFy/DAmpotXjVkUkTnQ=", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-routing": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-routing/download/workbox-routing-4.3.1.tgz", + "integrity": "sha1-pnWEGvYj4LsMZ85O2OckrAvtDNo=", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-strategies": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-strategies/download/workbox-strategies-4.3.1.tgz", + "integrity": "sha1-0r4DxO8hTBFeGrKcnHWcn+Pp5kY=", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-streams": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-streams/download/workbox-streams-4.3.1.tgz", + "integrity": "sha1-C1facOmCVy3gnIdC3Qy0Cmt8LMM=", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, + "workbox-sw": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-sw/download/workbox-sw-4.3.1.tgz", + "integrity": "sha1-32njlcR5700USZNyvNhMD14kYWQ=", + "dev": true + }, + "workbox-webpack-plugin": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-webpack-plugin/download/workbox-webpack-plugin-4.3.1.tgz", + "integrity": "sha1-R/9eocwHS2xA+1qGEIhjokEg1L0=", + "dev": true, + "requires": { + "@babel/runtime": "^7.0.0", + "json-stable-stringify": "^1.0.1", + "workbox-build": "^4.3.1" + } + }, + "workbox-window": { + "version": "4.3.1", + "resolved": "https://registry.npm.taobao.org/workbox-window/download/workbox-window-4.3.1.tgz", + "integrity": "sha1-7mBRvxDwavpUg8m436BTGZTt4PM=", + "dev": true, + "requires": { + "workbox-core": "^4.3.1" + } + }, "worker-farm": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", diff --git a/frontend/package.json b/frontend/package.json index 7217b41d2d24..15dc2fe7233f 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -15,6 +15,7 @@ "fast-levenshtein": "^3.0.0", "fuse.js": "^6.4.6", "qs": "^6.9.6", + "register-service-worker": "^1.7.1", "typeface-roboto": "^1.1.13", "v-jsoneditor": "^1.4.2", "vue": "^2.6.11", @@ -30,6 +31,7 @@ "@mdi/font": "^5.9.55", "@vue/cli-plugin-babel": "^4.5.11", "@vue/cli-plugin-eslint": "^4.5.11", + "@vue/cli-plugin-pwa": "~4.5.0", "@vue/cli-service": "^4.5.12", "babel-eslint": "^10.1.0", "eslint": "^6.7.2", @@ -55,16 +57,16 @@ }, "rules": {} }, - "browserslist": [ - "> 1%", - "last 2 versions", - "not dead" - ], "prettier": { "trailingComma": "es5", "tabWidth": 2, "semi": true, "singleQuote": false, "printWidth": 120 - } + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not dead" + ] } diff --git a/frontend/public/favicon.ico b/frontend/public/favicon.ico index 0ca99249ead57569d40776c12fb1f5cd9a9bdc32..37be96f5e07d4bebe2bbacd9e1213cfba759907f 100644 GIT binary patch literal 33310 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 B?$rPQ literal 7219 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 literal 0 HcmV?d00001 diff --git a/frontend/public/img/icons/apple-touch-icon-180x180.png b/frontend/public/img/icons/apple-touch-icon-180x180.png new file mode 100644 index 0000000000000000000000000000000000000000..12ee3c053603c8793b8d4ad2078de8ee191a1a07 GIT binary patch literal 13075 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∓ zc{$6_WnDe@(5<}m+I<8s{~M1PjQ?2Edb1_}I!)Ogmv3t2&309wC}V$G&|M|wWy`=h z`w6VH(U7_qF2KrP+^jilsgk*jF>%D?S_4njsr0f6P+b)&w)%sDuN#l>~T^^f=*@^yDH~aGV2}GmBiOR3vhJUzNkqeZ4SJG|Ga7*S%i_L zmpcIt4EM+K#hgK|7K--tz#PuP`=a}X!n^+LZ-vCAuRYYvgRt?B>DRmg-5m$1oQ8KI z9TC%+j(00DMO@tF5vPwM-qu#aHugmNa#q4|zAw#c{EKzr`|LuXjde9F5c&jDo2^y$ zpVqx55t$2B`?5sJ3HIA%F)#hIaMBO0A$hzrTxM2z2X>u>giu|58NutHJOK)$IEX9n zzG;ZJhtw;r->-S2@ShDT!Cqxd@p4|J*i@u^uFe;;A^S0{V$KYdv)VGL8`K$y@bZGS z7o=*>wFJM(&OdmITS(d;KD=QBLJ}(*Ugxn5X`;6d>@u!+1BS-foI4Y;&&-eeFEB=M z+K+}-LzOIk#u+o%wHn)!1$jQbUYHIJ0D?SomU_AS)8v{4;0nVQ1{Xk#465%r&2q{Y zj@omRYO2qUFDBhZVqQ!}`=?x>BAOT_q^K~zx_1HfABGmP?Xm#yBIslEG&C$8GGS}8 z*0F+6pVy28oWd^{I?cwgGT?r+QFC*ciOaV-unL6c>dgf~7$_g6n86fipeQL0UWQ53 zF-+6{o@+WG+63nX;}iJlZc)QMnR^1}9C{PCSwzdhi3QS4py_?t%~~RESx2h>h`7ND zoJxdS6SlO$V!!_G6aY^m$+-1j4FO@K|Kit>gDg7(v_g@>caEE! z0c2=LvLwn_R_*7kWVV4PkORwu57%XCXTw3{pM=K&{1jNX|eRkO#D) zxd>s2PIc84ykggup_|d3HQp>M5_)s|A3Ygm37J@53Kgofsc!&^*n>>4Ij15-;K!=- zSwF0L* z0o7GfMG^5`J(>J4JEy%d*=Q#kYsfrZ`62B_LOeD2JzD|fi1RrBf@25SYiq6b+9!n= z!K8rN^IY=_Jw(pJHilNxUkq$0RaYxX+9p?9mH$>8BxIX{5bMn(#4@(M=MDE2WihOP zF~`%HUCiVVfNB9gx4(@2C4RcZLA1?*Hn*jdF(`QvNCT|r?Kzb*XYneuO@NqKr)M2F z5!fbBDrP;xVihgwu;wQTS<^uhsa!F1P|7u1Hk&UOqO3}NFi*RQv+RXwXHc~$djl1X0GzbZOH zQ<(J1nwD?`;i--6G?gJN)|D|%q_6In?-x^u6pX>?_UE+{Nr=EZT9t6(r;nLq997aQ z%ehS=0EHhGt3N~F3@-4Z8O_gV`4q^7!3Ss)m!au@Vo@iuOYUgEJ~P@tm-Q(agwq9! zHc1c_Q`%!|;Gd^+I!Qkp^yTqKM9SP397rSwCPN8xUmh8({rkR0=^$+6A zFWxEc)^c*1n?9~^(J-bh4_zHq83c1b=ax=^iR{~EWkzK90=Pyoy|Q!^;qfVfe|gFb z*qno@1XB>FVkDLe@pc-4#$=lParukL;knsOM|_qB&A>$G3PvBpS!)YQ&y8HUEcLDGAG@n!3LBbLMsdF- z;qdA~;uP?c4Dj?~F3zsb_H1laXk=2=XmnN!zu8wz{*N#P0O=MSe4N4NUmw5fU#|db zn$%i!QBx1$061&Q0F66=ZGQvZ&zs7;)SSnNF6h+F39>xF+5s)P@em|%zq(YAXKWId zxz)Ovm2fG7ye+gJIv#KUU9+lQ6IvW1=HBnHcpb zk37-_QN;gW#HIdkpnK``+K=#?kQX{koSMk)c7mN(N{6J{=)o0BV-Uk?K@Yj96|Yj9 zIf3K$3&e=lE&adqQ9&!*O7=F&CMg3yj7`Em)ora*j`BD&h)e)|^9u%H{Y`=2DwTKx zY(ER*!iq3?yh$kFD4KfTYZF3#vLWraRwR}B(^=y%;FO&d{QoR~=mfm_zhsd2rK%Kr R{kP=;kd;)Fs1h>_`adSpODzBZ literal 0 HcmV?d00001 diff --git a/frontend/public/img/icons/apple-touch-icon-60x60.png b/frontend/public/img/icons/apple-touch-icon-60x60.png new file mode 100644 index 0000000000000000000000000000000000000000..772375179bb6a09645b351d11a9af7131f84d81a GIT binary patch literal 2881 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 IM6N<$f@l*|_5c6? literal 0 HcmV?d00001 diff --git a/frontend/public/img/icons/apple-touch-icon.png b/frontend/public/img/icons/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..12ee3c053603c8793b8d4ad2078de8ee191a1a07 GIT binary patch literal 13075 zcmbVzRaYEL)9v7H!GeVV34!1Y?k>SYaJRwT-Q6wB;4Z=4-C^*-J-7#V_@4JCoO4lf z(W@?MbywHgwJTCtQ5p-K6deEnV9Clz{QS>0{7+Dk|I>mK$n5_aGzS?iX8@c#;C}+Q z55LU<0DK0>N{IgQSUK~>@Gvp=+-Dib3K3z4$kHa84iO)bkKV~w>Hf%bv22!0JFjO< zV?K3zZYTM`I>GBsPKYBdi6c@lh0Qbo( z4$myqMK|kC$xA#H{TYO(#gb2@;f z!49)>fak~E+V$x%GEb52gsDH0n|u@Qid4{}G#fN+s85K2zaFY`!iCZXdXi?RZ97T@ zJe$;eQ`^8-;Q;tdX-ZRX0IcQ#kYs>l)(&MzX0 z9gqpyjR7ZF!yT#)Y&sw{^oO-ZpKA@=06^bXTY#EBjpB(^#MZ*S+hN^WlbHgJwO|Kz z*Ff^<#g_;=J@aHEX?EI#MDVjc>Npkwrl z(lh<~(Nk&1>cpHmP(33Hy!8#0U>PUV*shELlP-z=7oOe3_`uE0nD|5ZLS!yu`V%(K zBEAO}IWe@&5JZvHS7&GqXdGY5aby={ac5t*S%>#xM~E9X#LSAEo@sAie)x=h(TGxb zP4x+f$L0CtAQxF=E)VQAqdp?FRPTSS%~fm7U!PQ~m?7p+3&+##+1oJ}m+&zti@^oJ zk1;fKFqi4m5T2#CI_YTFL2kOkhvYJOh;S#_SrIyV3B2jP%*3%J>dMCZcBAf%SUB?R zo*-?D5%1+xDxFtnxsD0VTK%t)3xei29Uy6@VJIN@W)E1225>DwZUmOA6EPHTxW} zEa6YrrYP?Eai7hYg6jvi>NDlvFNzp$%o;foJVwAZwwZGtE+-tqHFGJSnYBi^oxU=yDO3rJ zNutXL7O{(}`L=Ap>aCFphZd5kW()k&|H#k0n-v3sjbOt4i`qH1dQC(FI%N+QC{jpz zRQ~)h)lD4uJ-A^s!}p8r1LrLNp?g%n76Tf14lUuM?2kmZ&$!!PzS=$wv@e$&>rmj} z$X=`2D>kby%wGaq@row#PQy_c2?kv-+*VBOVFUUYrvB^MK+sTo#F zU&EM)mC}6ka_CBgB!9-5hJ#w*@stSPiaB4sSOr>y@eGThC*APtvYH(5AMvEpF6}~T z5PhD4<6F*iN$l%Y6tk2lYk=Bh8|6efhpxI`qr`+j3$uG$^sms5{u z;tN?gP$4Git>O1^PEG+~9!t0SNSIq&V_rdorAv$>0|>-;FN}gZO$UrntM@{jT&-`K zhQh;KDMZpByrnq&pi?zELO>}Zh=DMC@fx5-Vobn0N>(_-3yvKbbkOViy7Wq!W%{BU z9^5J(@~D1~HuST9=V-CEcDMX;!bd-I8n_XeNj4q#jemF44f1rrts5sFU=~MZNc~%B zK-16S)lD_iYl|JUj=Eb541=y&mgIlbIu3Qdi`f~&mfDb7_gJn;(Hm zzm2cb|5G#zE5;^O^xn85@2U@8E-CBuXhg9x#CE$0qbQvFmuxU1p=C!AMB3{J?nE+` zk{`h|>@$MDR?-DkrEy$>wWKotUC!j=b>@l`<$0mtA}2`VLJMa^b9V0Wpqje-rui9L zx0LQaGYnq4D&_v)NuI{Ps3sQ=C2h|mTSbcrXrtJ-z&3XVvrdKtr}|)RIIy+6ke%tH z&UG7~(s(OzbWlp_&l4ptz*~plUzjS=4(A`y3yBOIC=EgxWTvOLn)7!-=A|VJu4*?MT_U&DcLzKtsKY`cPpUZ zlPSN|-=JYT;%M>HQ4`l=1uwh9ncg6XPH;B*9URTrakbWmi|ENqmO`8bM{uG@i`KEv zSnW+?^^gw^P}C~OTmWAad?T42{Nr_`Hj!i0bjmcPg-8mbM)Ioz-Umx2&GE%o(WZ0D z`bS!d)@LxbZ$Dw|6FyLYhwFJui(VYUo(#fLQzD|(P!93i0T#=CJf(Ff;bQ$0%rg8_ zM|56S2+1seAMYO-9667H6QS?C{ql zaL2>FwW}hrM4zdy05JUaCj_WGJHogEzOO)f;*d73FMg0#&3i)&ZD5C(tzhFDAw#*I zh1u==@N}u=V4(d=;RC@G7skHTBNZfF(fCLE_00zJZ#jv}1u`)TOStjfIcpa6vxpQR z8<4A^&txM)A9*S#=@v>3)m~<^vI34ZrI5VX-6Q(oaz#Deu<|Y8_w)?LNTUuSbTZ;R zt^FAJf)&7v0kuJdw9@X-LDGY@4=vAz6~A{y-ndw$>XCh`bdA8=w%(rTvfwVrI!ODR z{nDc(9Pso-H=>rzWKCrt1m28rk*L%YS#c+i-6Q1QgG9j3Kq7eetW#G3o;pPe%DD6# zDaPlASI5L>9ZEnHaEpvQh6}uapAh)?4H6jVVZ;%}zN2#4yJf50C|g(8qPi7+98)^$ z-IfqzAeKZ^8Co%~ZV`6c`#jm;zWfracDew!;+`l_9ER_Ga3rW_LybqAyN`vmKnmb= zeNq;biV2_l*9iwiu;`*JHRmdi2+pBYnTuf$etT_KME;6k?uosRIuhU^0@Mixbme_y z10J2IH~?fp4k**kjOE~E7ktjSzuuefKcBv?k;J&|-rdx^{QI69nkh>6`_X(N+*dL z|JR}WD5=x@AgVqK`i;)muWfc51yId5KEr*zwv0mh(>Og;VQ;WGo**j)Pi1mo+MueOCd#z~#2qG(vpe@8MZc@t_w^{$;g``gzAFR~ zLEflIMd1lc2C!p`L(fX&d_PPVbm#*^kOV4IOK|t^+?%dx3}je~J6C~-A_;?oAzple z5IMj;b=ZN=OqlAu!I-t^7ckb3S(~1aXeMESzU78;J{`o?Up}{U(p&C&64gc)6o*qO zTg+R+?+X(;kmQ&-(F?-prClD3lwU_&->t4>99AtP1U>Gn}(VS zD|IF%lj?C|2DZ%?i>JA_M{f!G$qgi$CH;}=zrx{q%>ly0l=iV~>t75%w`6b56FPuf z5kBsaNXK}5E_J)72IF|kk}9O!FE|2tAtO&mG+WKO^4FJ`Z_ht^Zr(QCZvvzQi$f7D zU9e3NFC9|SMP)Xd@pFBXb~?NMrWGMJq;YJW=>q%O-v%OAnT?C`{K#GB18Y~QkB40v zVj(1=@(6mUP=d%23*zMuQ2n7sMHkUz8&4?-Qa=FYE)#aO9QKY6A7a|33iJBH1j9`T zf=mV9O0eNuF$U;<#ZnYvbf_jvdL|7&6Q(U&Wd47t@7im~7*j;Ch`A8LInBOKwxS4N^%|K=fsd2T)XX@cwo0cP8pLPBA zt~Lo^RJoAJOe%4z<1<&0dWk%y_1CVm9})Eg?#n4I)VZ%cY&1HDjSkr8|8;-ClONfx zu{4*y%q;`zwo8YhVGO`OekJ?gaI{QbJ9WQzjVem<0v8d0V=;L`PUx5KhSX4Yn(CnL ziwq};z9peb{A!%)8|!2*s~_H~P?c`vY++#y(f1@vE0$JP8i8vi@=xmk;$MaOm-cc} zD}Q1m5hlHE1PJTLiCiwGUZ{f| zIyrRHC7G5PTz*_)W|aH|3*an7(k?R=lQc8_V>CMe>hK}0uX}rXn1{D00>_%eN$4d8 zP|rX4_pK!Mo|U0dk3)S2Dj0iS!GLne2mpcOFt%_quU4vlf11{hTC^ofm)u-;-%%PW!@#&A(+jC^VlLM$z~rb+$evFgFJgTb zNr3+aexCHhYF%dl)|pD)tNGgEF6EN9f4U&fWZ>t|=em8?6}UR@4{osv*vBrps?>Jh zdC(O(53q;Kv6)E+PgFA!&NPKDZY!Y!3X^F~eA-lq2z|9LvP_^+RI z3E5yVg@e-IeP_X91^R$XpOJjwkKZn~4S$<_@Hui`Eq`r!F6!hX>u<+wbiR}dCag{7 z9(p*0f0MGuJFSBy#_>`};=mANl-?3{!x#k)^72!o{CG4^ue+bh{K&@*zs+^B4C7h) zG$3$E$h5j~QA&JK!JG-Ov6#|~)Z`w@2(0WMbO}-De4Q5%?Z;;@a!IO8x%%OY@&Kyu#$JWH% zQ_NVGwWlq+vrlk7QiQC}C7SLP3eao4ugpJ5v$I}z$kd*V*$xt^9FL|x@bkGM%UMPy z7VTHVBq(8qPi8DB82MInHLHNWNb*G4>JH=$C}D&DSJb{9Dg6zdUg01)j*f9r)Hi!{ ziDCOB+>|L|7^=-$Wg9iqRy+*-O|ohcn2oefISDsH8}@|InKh{5ATl9@c36{qY!v#7 z8>OBc({hqzk@>kV^x;`?Pt|voF};frrxG>yeed_;Ol5JxIT|mByQ}sYF_(BlwdKoX zK7W}kYvWtwh0mD}7vylK5vzyVv)+AKB(@(LZkj55YGBAK(mVv8XQz9fTcu@>2sP5< zg~vx&y(bZY-YdR(0FJ#$sefhOU8!H#6E*?x8>jZ{dV_r1>yRaalmAr zgHu1x1sS;1Fz zU!1JUInR!YTsJwb#4=Bri{$u1gF#yQ@3?0*sIc*54^hLBe9wmrp~JaSGjqHH*&5wt zH|s*Q7$P6x{V&D`AHb58b^dfF${-oN^94=+c2fy%ZEA1GuqIoL%MAAoidk4{tjY@M z2vrQ_CkFg(T)#KR&6lG(;Jq$xA`f+$O3=aLPY)cSn{TRkvws;tQ$7*}4@TH_uK1&e zp8txo6J04VNX%+ds00o2rCGsuqcrZF*frEj($HJ{kj<4ScL*k`~rT59T5jTIz)^S!_z%e`x- zEG-Is+pz603`+N;Cu9{4iN={$7fKn7DL4VNMZS2>dGObPe-xod|IAI>{NldERv*l` zQ7HN*^~le}T9_AIS*kB@5*|A0_ELY<#|=Rs%i2bDLp?CiDj zhr5pF$|jAhUo%YUiBa>yCZsVkkG`|TbA?=nzW(Vsl~OB|V(D@GdSuU-)OPL!I{TC> zq4)eNHW48Z4FO&DRZ>K*k}lUbcfVO*#j4ErPm+h=_*aiJlzCNiN3g<)=!E-(GLcO+ zw74oEUZtAnosFNcT}1sTGB6`B7QIMNqtEl0@Zg8M^4I|P573=vvwqUh+=CcApZbq> z_++8njDBn%kvIe72g_!ppF|#4NWc$XLcVO}Yh(Y2p0V5=a_^-yFqia0Nm(pD0N!1S zei}XYqSj$sTA5mw58|KrR$Ao{HQ$qXKNe{&Q&gT1lH!5c=yyig(9{ftklbqpesK5^ z)3B!1IocpUG*#r>5l7GS1au*5!`J7XIY$0mabey2A)hdi#8=N9 zGDE)2v8lJd-pbKlYa?2%W7S1RRp6jW+YH^MQdfN`)ypDAy!B13b+2Dj=DvsvTQ#Z; zMPk45>A9rO>F?+`2*e425JF#SYzJ5f95-1}v^Z+GuV4v7v|Hr6K4^JKc*A0UE|&Cl zG?%Nmi3eicuc^Oy*!6pFQ2mJQh4aBL|7fp!bvT<}nbIrD%9mrq;lxQsS-cY3?mKVf zggO=_B}DG-CMn|Q^C#&Em?_=s8_2;Tz|xdUxXC@>5U5l%1)?8%LRogu@y8C52eH zqw}?wk!k7#&4L->t}b@7!sPUp@>LJ-?urvWvomX4k4Lt762;H2rlcTYkI>Phxi-lQ z18~L{>i>6qjH!9|pT^N1t|JVDch#xU-~n|J)L`)t_M~O-q&_%`_dag{p|Va_%U& z70t3gt_SeXSr(uaN>PUG)TG9Od2`~>S;r@dxYzYNNhgWZX||Mlu6Y!x1{bH`WK+VL z0}xt%XxtmAU{KbV%f^OH4wwWnP5y_-*EgK$Zv5+?5^~?ds^B@zsM6+KsxjJxzqLwQ zkoFO;S&C83h|)h!&}+2T984oe(X3(9xdBPm&*V@jCRKX`7Ww}Qz%eg zkLa|Y4Y|4`QsQTe%c|LF(dN_ZJa0+C3VMFM7FX~JELDU_I=)TKSgP}M7Jc5&V?~{P z$=si-uCf19WHe-$ONW)Q44PD z?g3tyCrum4TUQA@P}s_9Z5@u=XD!HZUyPcx@lm~j6+1+ru|53z)j~?-0tHKN!VGgt zF45NzTm0GUSdQdqS0RmurPN;%QR$CeW^m1JofWkFH z{A=lTaTA{6Zh=!#(BWU^RoevG=FZ)Kijuce=dumuz+gzp{mk_-wI3Tj#>?lXn2uW=OW76iF`W#p(u?*Plo9)rJ==dkQw6dvvwbZA#Q+%70h9OFNYox!63ed)u1-E<%A7qlWH;SQFP6p#W^eI(M4qN^1>oiUtx3NYU^jGkrVz`yn4!?M(TU?i~(i8fs+ zQw5|aLGuTSxvI%G)fI+qck(8UCi*^u9X4ySI;IM)Nk-MfE^XWt`gP+rOAq)->93;; zo9IFt%JfguxVt2_;sDq!!aYN(T1q@~DU)+J7&of^3la9===v&{hWJ;y_BVq{yk+!@ zXX37jwp2HM8+)eA?#AO15yka5I=DTBPb*J)=1dqT^!t&rA1O=M9jh2}6e^a&gbRoN z!@b`gFL&ddhmti~qUni`Z? zjV`31Rp^V9Amz?wztljNkZqcYPXz>rEA1t%ggZRS-;!Ed?iJ0N0_&TZT)4u9F6$J- z&Lw=}&;piaZKMr1zmhZhJNl8a)$5q<=Gfk2%2Y9jSKsWIa*$&EI;yn39>=kH9?ftx zJ(ljU+b6_1dITCdF)ViXT~<*8@Z%C(iNf~lejFHb)dX0Fqkxh#Yn?Ju78kCm);u^n z4sw?00YIhSu6&v?VR}ET1=D9VcY_gD*o{Ax&Rt>%C`Tt`w^BD!b};ZOBjk0PlGQf< zmCS;=gvMcag-sw?n1Y0QGJ(K_H=_H$b{_%tnRKQeoGZ2nAR1JV%3Pe`hLj;PLwf;U z%zK$cWjHUOzjNoa!^u_$-k9y-7__HvR|&l(+DbJ?Wie%i%7+lv3I6+pLf~+K>=N^P zWn?d5i8e=R=a=f)$%db0rNF!CB#{!=t$Vd9XZ9T>20ipavTtV}+X?j~wz4jqV{+26 z7b@NZZAR=pg`LIOA%KWXhB{KmpXLTr+{(zIaf^F57HRO;eScwWa2E8!4r?~M@I1W+ z?$7w0xIaB*dl}8OJq-QGuxL0M{?(qUo$`kIr?S(KHt=B; z?%0n`H63NY7nR}cqCA!4Y-URt1LPj`!N6HXM!K0NKgWT51nC(==^F>q^w1uPdm*E^ z`cW?vKR)j!j+K&slbvRCwSuKoin3=CJJ^t$)|o3<@gB{R+Bl=dC=5l%2bkE_7F4wMhGT0|Gh1R*0;n7pDR`D z$HU{>^;Q1t;^*({q8U6N{@1r(U!cTzk_h7r2>uK~BwFN)onWb1Z z*JhC?AVtE1Y*X*U8CV`?`tOgDNoeC}p4|#tl9DrP&Ion{xc)yh=8q&N0Pvype_Vh? zNIo}uS6v$HpZd}^u6ufskw?AY={_hsCAgn#{jQ$ozwrd4)l$DFurH28j{{y_OOCT~ zpLrRtsD$VGL3EhAr+spy966cxT%Fzpu&J2zjRH$4XpY%qB|&72ySDG5 zvKfMgu^5^9h?id^*fDslY{}IUzEJkaLHDGWQe`lYJJdocx8z)5;8`B49ST+)(mM$r-aPXY<^@t zIT3p#6rf~+Br2{FB)>cE_9({`Uo+@nKT?rPwxX7Tcdz=n%SwEHQ?R^+UI0J9$f2YR zh50ZaW$-ZEz@PvUydMV#TSU*rVE0KJDJ%Cez>5M143fQY5c;=@*<5v{$HjK3i=pfvPI~N<-Eg23!&1nla_t+_wz{Jt^%oHn`FXQj>TbuN zrvQpS$j%7sr*Eio%NhXJf1z1=pIKyv{&g-PPmCKHYkgyPLxE>kGHa<7dVr8^`TEZF zIu3>Tk$y4=xsSrcp1LJ>TkF4f>qDvC9Cb-FfLF9{p(FKI8GHSHNrrC9KrQ-{xwOB- zkuxs$?T=xhWzLRjl|GE#8W^JZioh7ixW!5Uxb&d?qy0atAlNqAy8F@^w48ocP`C=_ z(z(q-A--j>LnxuwxqCgbQP`L?M}s1>S8cEb&ftqzuR6uQI&w6}$6upo{jfJN5nnBv zQ6pfQ;0a7Mi?#o_RW0hj*n41)=$n0%hlquxGSFRaBE&gJSI1i2ztP zD&lY?PCh`*(s|&+8^)0iZ;x?#aC(@wq1o41;L?(Wv(ilr=qHTjL21-#OrElRbK%@; zM}uz7ABc#_8~$jILx>P*LgEpz3h_%^?;HBCsx#Y2f!RD0ex{CSmHjRR?`#wp9m}dN z;Cz66SKWLYIb*VG;xfI!;(=K9VQjrMGFI4ux!&$4X=`jU3)|#^u?ZszCu?J#|FZC` z8m$6i%{zk`l`5aXP~`REY@?-~&7A~_a?s=8I&uA_C=PV;uQYB-Ck5Tpn;7kP8eXdN zmp{x2t{7I@^rEs@LYy2qFi)BI;4_VLT`qC|_>Y-Of&3B@I=?2Y|L%W_F(shqC<#C9 z?w9=UyYijJx^BgfNdMG9ckywP-*wAf9J|tYr=aEEc_IQlMnZoQnIcxv zD@q>64N0=j^@!o6^QU%X?j<#hKe-vGJLWBqgr?bDrK6MVwG<^p)KPA9XGt?-;(=6i z^`~Zo>sgxQs91;H?~O$LMuxD;=!N#1KY`gC{}vvH?hCN8^oo4smOR&~a>-3NG<#IR zwh|iSt`h0o5Y;1%nho^+^D51m8wrU8V@`$YkJwb9PdxT?aM-Ha(U&k1rsjSU{zn>L zrmBKuWrh)%^lukw5F*{&0@XbMFzcc4*f}(? z?T{=g?x%)f_4D$+f8)5LTw0`}6;tVH`q3cR6N_6=AFl&0E;cdo5qszIeauc3$hQ67 z_vj=TN%c@`9v3~gkt)KmU>Zj8!Y>&m5|sKu6p0UDhW9f8H*&iJKUV&Ys5&R{0)PaM zQqVL*n|+6nwqNc*xWrieYmtQT^UT3UA-SX(IkYr`7gq#musGqQ23;HYoKe@l5h(ma zY8_*^20W#Kb$r!#VD<~x*px#)*r`#Lu;JwnupF;UAep0F>2vBw+<%1wagjO!#@%qC zbqM<+qo>AhNtu(KPMe2(HVq3%MEdHfpmi-(-V@Bb17c1_8&yn3tzwth0XEf z@eG8j)x`DkdhmQMPb|&2!2WBUP7A3Wr~nH1o(il4t{(CmNLVwE@Yc*^=|~2XzDcNh1YSCrYA#n+iFXQpc|kPBtA>+N(8!I%=BfX`idmr-U^oCNwWeW@nspV1Sf2b^2y2B>QtR-nEQhR2sW2IXR2<*5))6@OS3eEQVkEyVLO zuN4XCELcpWNbOEQ`Ia2;V!>6QIS3Pd+_wLq+(>z5ztn0QeGJUx)M!nsMH8Yr4A6l8 z!&w12K&;m~190i*oHA2L-n|@Cs#_oLi+kDeYpBUwY;3BW>6V8=9KX}E0Rudp8Z!3q ze{K5olxd@O|FZ~FuSz26oz7IDNRQ@*I|P3dPAH@Fu#SDH(IKD3U~NP{YWxOny∓ zc{$6_WnDe@(5<}m+I<8s{~M1PjQ?2Edb1_}I!)Ogmv3t2&309wC}V$G&|M|wWy`=h z`w6VH(U7_qF2KrP+^jilsgk*jF>%D?S_4njsr0f6P+b)&w)%sDuN#l>~T^^f=*@^yDH~aGV2}GmBiOR3vhJUzNkqeZ4SJG|Ga7*S%i_L zmpcIt4EM+K#hgK|7K--tz#PuP`=a}X!n^+LZ-vCAuRYYvgRt?B>DRmg-5m$1oQ8KI z9TC%+j(00DMO@tF5vPwM-qu#aHugmNa#q4|zAw#c{EKzr`|LuXjde9F5c&jDo2^y$ zpVqx55t$2B`?5sJ3HIA%F)#hIaMBO0A$hzrTxM2z2X>u>giu|58NutHJOK)$IEX9n zzG;ZJhtw;r->-S2@ShDT!Cqxd@p4|J*i@u^uFe;;A^S0{V$KYdv)VGL8`K$y@bZGS z7o=*>wFJM(&OdmITS(d;KD=QBLJ}(*Ugxn5X`;6d>@u!+1BS-foI4Y;&&-eeFEB=M z+K+}-LzOIk#u+o%wHn)!1$jQbUYHIJ0D?SomU_AS)8v{4;0nVQ1{Xk#465%r&2q{Y zj@omRYO2qUFDBhZVqQ!}`=?x>BAOT_q^K~zx_1HfABGmP?Xm#yBIslEG&C$8GGS}8 z*0F+6pVy28oWd^{I?cwgGT?r+QFC*ciOaV-unL6c>dgf~7$_g6n86fipeQL0UWQ53 zF-+6{o@+WG+63nX;}iJlZc)QMnR^1}9C{PCSwzdhi3QS4py_?t%~~RESx2h>h`7ND zoJxdS6SlO$V!!_G6aY^m$+-1j4FO@K|Kit>gDg7(v_g@>caEE! z0c2=LvLwn_R_*7kWVV4PkORwu57%XCXTw3{pM=K&{1jNX|eRkO#D) zxd>s2PIc84ykggup_|d3HQp>M5_)s|A3Ygm37J@53Kgofsc!&^*n>>4Ij15-;K!=- zSwF0L* z0o7GfMG^5`J(>J4JEy%d*=Q#kYsfrZ`62B_LOeD2JzD|fi1RrBf@25SYiq6b+9!n= z!K8rN^IY=_Jw(pJHilNxUkq$0RaYxX+9p?9mH$>8BxIX{5bMn(#4@(M=MDE2WihOP zF~`%HUCiVVfNB9gx4(@2C4RcZLA1?*Hn*jdF(`QvNCT|r?Kzb*XYneuO@NqKr)M2F z5!fbBDrP;xVihgwu;wQTS<^uhsa!F1P|7u1Hk&UOqO3}NFi*RQv+RXwXHc~$djl1X0GzbZOH zQ<(J1nwD?`;i--6G?gJN)|D|%q_6In?-x^u6pX>?_UE+{Nr=EZT9t6(r;nLq997aQ z%ehS=0EHhGt3N~F3@-4Z8O_gV`4q^7!3Ss)m!au@Vo@iuOYUgEJ~P@tm-Q(agwq9! zHc1c_Q`%!|;Gd^+I!Qkp^yTqKM9SP397rSwCPN8xUmh8({rkR0=^$+6A zFWxEc)^c*1n?9~^(J-bh4_zHq83c1b=ax=^iR{~EWkzK90=Pyoy|Q!^;qfVfe|gFb z*qno@1XB>FVkDLe@pc-4#$=lParukL;knsOM|_qB&A>$G3PvBpS!)YQ&y8HUEcLDGAG@n!3LBbLMsdF- z;qdA~;uP?c4Dj?~F3zsb_H1laXk=2=XmnN!zu8wz{*N#P0O=MSe4N4NUmw5fU#|db zn$%i!QBx1$061&Q0F66=ZGQvZ&zs7;)SSnNF6h+F39>xF+5s)P@em|%zq(YAXKWId zxz)Ovm2fG7ye+gJIv#KUU9+lQ6IvW1=HBnHcpb zk37-_QN;gW#HIdkpnK``+K=#?kQX{koSMk)c7mN(N{6J{=)o0BV-Uk?K@Yj96|Yj9 zIf3K$3&e=lE&adqQ9&!*O7=F&CMg3yj7`Em)ora*j`BD&h)e)|^9u%H{Y`=2DwTKx zY(ER*!iq3?yh$kFD4KfTYZF3#vLWraRwR}B(^=y%;FO&d{QoR~=mfm_zhsd2rK%Kr R{kP=;kd;)Fs1h>_`adSpODzBZ literal 0 HcmV?d00001 diff --git a/frontend/public/img/icons/favicon-16x16.png b/frontend/public/img/icons/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..05e2e7625d463ecd7868229db7514e6bc416ccb0 GIT binary patch literal 574 zcmV-E0>S->P)a}rVZ8sE49+v z(!$ogv-t_)?@$m-5DX>=0SmPiB$&BEet>8puFv_H?25(9x##PhGw(f9q!%(MhW0Q($YK z;41zB{))vz&j~bng~SZJNt4`+jS4yGGBuw$><;z`qu-YCA+GZ%8{jvrGwd!!wZ(PR zOW>H?W8#k>-o@V}w=IVk3x!9p&Irz6-lMSZcYQ`)V&CvzQge-(PvjrUq|#iekg*wH zzxosqh4-$_eXRIgF?_)Pi2uN~tNirfcMSuGz6c2??crY_{(|D4#D3Ux;jT8v&=XtC z)kaknCalx=9QO0zm5dK=k-Lt6!v(JMPM8KpAm4raD>~j=V!voU1+VQ_>a>07IoWBP zV7@eZjcz)S?*r2!jA&Z(Dc+^&sGMKfHrSeFO{ICVDq`+?!#Ec~G6sM6-tQ*EtXr80 zN}pgElEWm0EzPY7CEB=X<76aKvz$qag>Bo?`?ld`7S;A&(es84v^WJ@dF55S?{VlN zh9zI^%J+ZqQB~fwl%`DdbeJ`;XM57-`|=v2H{0m{zto+PJwS4Q0RmjYjGF}PUjP6A M07*qoM6N<$f)Vr+4gdfE literal 0 HcmV?d00001 diff --git a/frontend/public/img/icons/favicon-32x32.png b/frontend/public/img/icons/favicon-32x32.png new file mode 100644 index 0000000000000000000000000000000000000000..9263cc67c9c480597e617ed2bb38487b6eb9690a GIT binary patch literal 1217 zcmV;y1U~zTP)dHa_+rn=FQr>YaA#LD_zaLH#7H~ zxu5fvmi}+Q7?*#!R5#_mEp2J!f+oGhS zm$8>g$h)(_U6HN!^3vD{JgItxgz22Es}QgS7jTkGM#S~Yi58Hk!2#McUH&FyA39#7 zI|kV`VyROE5;i7T(7KN>{tCcVnvff3yF*EL;C%ydH=ttz;=g15njWH#jgtft{exTUoaKDz_m{a#uA;HNTR>Mz?gjj+x(UJHK%C1#e@d2%HU~9z+ zn#vRI+ts>ahZ~gCt?Nqa^10CnH4>XCX9fM6%rZjYB`O+0eoh24Yq>+r|7mgHBgCgF zfQ_`DRgz0HX_9s_jfu@@L3yYOt-w6bEVvBWVbznlyHTuTCYR?eh%Xhj?fT99c3Ma{ zB|*1*%*?olxvR|MQPTWo`nB$x^qHC!^ZpCWeS-HFt@`=?Ota4?kz+!FawTv45bs`2 zHMqIs0PBvGSliWl)1jvB&22(ww%6cu!Lk2lzKsHIWqZN^jF5E(=3`P_Euekbd#+!1 zq0r3(ntccv^W*~hHRLM`RDG7YHD<=3>lyx0z{`zhz`KIv@DB4`z`nBrrT};13=+~i z&P}4!`O=0p9-z>TQ+M(^V_dIdSS>9Y!!80}snNReL$I-yAUWXb~Wac*WiKRQ#W9hGf5;~L>3UR7R$@S zcJX;__6#1Tzzd03k*H#38#2llk(mT!at}c@HW%E@<+Teq^LY(ke-Cu->qx{*!ZPQ_ zx~|Miy@r>ED_VAg{~?8y?&R}swI@i_?!embG2Vkbm-1CCxP^tMVIV$>%}>PkwAmMZ z8J%>8=m6j{?*Yx+W)!DOZ!fpa*z%Hc2KaOzDeh=Gca-3s-wo^XYixbpq95TKv3%w= f9k~B*eNF!b$F^GVe3Z1V00000NkvXXu0mjf_mW7~ literal 0 HcmV?d00001 diff --git a/frontend/public/img/icons/msapplication-icon-144x144.png b/frontend/public/img/icons/msapplication-icon-144x144.png new file mode 100644 index 0000000000000000000000000000000000000000..c4a5fcb71b59900301f6a3137f4b61e7e094cc77 GIT binary patch literal 8950 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 literal 0 HcmV?d00001 diff --git a/frontend/public/img/icons/mstile-150x150.png b/frontend/public/img/icons/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..c6dfc5414f9b7d0267590fc742e4140fcfe5f3db GIT binary patch literal 10304 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 + + \ No newline at end of file diff --git a/frontend/public/index.html b/frontend/public/index.html index 06f996088cda..014c9fa49efe 100644 --- a/frontend/public/index.html +++ b/frontend/public/index.html @@ -1,21 +1,24 @@ - - - - - - - - Mealie - - - - - -

- - - + + + + + + + + Mealie + + + + + + +
+ + + + \ No newline at end of file diff --git a/frontend/public/manifest.json b/frontend/public/manifest.json new file mode 100644 index 000000000000..dad08e0e4b88 --- /dev/null +++ b/frontend/public/manifest.json @@ -0,0 +1,82 @@ +{ + "name": "Mealie", + "short_name": "Mealie", + "icons": [ + { + "src": "./img/icons/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "./img/icons/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + }, + { + "src": "./img/icons/android-chrome-maskable-192x192.png", + "sizes": "192x192", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "./img/icons/android-chrome-maskable-512x512.png", + "sizes": "512x512", + "type": "image/png", + "purpose": "maskable" + }, + { + "src": "./img/icons/apple-touch-icon-60x60.png", + "sizes": "60x60", + "type": "image/png" + }, + { + "src": "./img/icons/apple-touch-icon-76x76.png", + "sizes": "76x76", + "type": "image/png" + }, + { + "src": "./img/icons/apple-touch-icon-120x120.png", + "sizes": "120x120", + "type": "image/png" + }, + { + "src": "./img/icons/apple-touch-icon-152x152.png", + "sizes": "152x152", + "type": "image/png" + }, + { + "src": "./img/icons/apple-touch-icon-180x180.png", + "sizes": "180x180", + "type": "image/png" + }, + { + "src": "./img/icons/apple-touch-icon.png", + "sizes": "180x180", + "type": "image/png" + }, + { + "src": "./img/icons/favicon-16x16.png", + "sizes": "16x16", + "type": "image/png" + }, + { + "src": "./img/icons/favicon-32x32.png", + "sizes": "32x32", + "type": "image/png" + }, + { + "src": "./img/icons/msapplication-icon-144x144.png", + "sizes": "144x144", + "type": "image/png" + }, + { + "src": "./img/icons/mstile-150x150.png", + "sizes": "150x150", + "type": "image/png" + } + ], + "start_url": ".", + "display": "standalone", + "background_color": "#FFFFFF", + "theme_color": "#E58325" +} \ No newline at end of file diff --git a/frontend/public/robots.txt b/frontend/public/robots.txt new file mode 100644 index 000000000000..eb0536286f30 --- /dev/null +++ b/frontend/public/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: diff --git a/frontend/src/App.vue b/frontend/src/App.vue index d096b49031ff..bc433d6df936 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -9,6 +9,17 @@ + + {{ snackWithBtnText }} + + @@ -51,6 +62,29 @@ export default { this.$store.dispatch("requestSiteSettings"); }, + data() { + return { + refreshing: false, + registration: null, + snackBtnText: "", + snackWithBtnText: "", + snackWithButtons: false, + }; + }, + + created() { + // Listen for swUpdated event and display refresh snackbar as required. + document.addEventListener("swUpdated", this.showRefreshUI, { once: true }); + // Refresh all open app tabs when a new service worker is installed. + if (navigator.serviceWorker) { + navigator.serviceWorker.addEventListener("controllerchange", () => { + if (this.refreshing) return; + this.refreshing = true; + window.location.reload(); + }); + } + }, + methods: { // For Later! @@ -70,6 +104,25 @@ export default { this.darkModeSystemCheck(); }); }, + + showRefreshUI(e) { + // Display a snackbar inviting the user to refresh/reload the app due + // to an app update being available. + // The new service worker is installed, but not yet active. + // Store the ServiceWorkerRegistration instance for later use. + this.registration = e.detail; + this.snackBtnText = "Refresh"; + this.snackWithBtnText = "New version available!"; + this.snackWithButtons = true; + }, + refreshApp() { + this.snackWithButtons = false; + // Protect against missing registration.waiting. + if (!this.registration || !this.registration.waiting) { + return; + } + this.registration.waiting.postMessage("skipWaiting"); + }, }, }; diff --git a/frontend/src/main.js b/frontend/src/main.js index 90ce10f913ce..2a87e397711d 100644 --- a/frontend/src/main.js +++ b/frontend/src/main.js @@ -8,6 +8,7 @@ import { globals } from "@/utils/globals"; import i18n from "./i18n"; import "@mdi/font/css/materialdesignicons.css"; import "typeface-roboto/index.css"; +import './registerServiceWorker' Vue.config.productionTip = false; Vue.use(VueRouter); diff --git a/frontend/src/registerServiceWorker.js b/frontend/src/registerServiceWorker.js new file mode 100644 index 000000000000..6cb38651365d --- /dev/null +++ b/frontend/src/registerServiceWorker.js @@ -0,0 +1,39 @@ +/* eslint-disable no-console */ + +import { register } from "register-service-worker"; + +if (process.env.NODE_ENV === "production") { + register(`${process.env.BASE_URL}service-worker.js`, { + ready() { + console.log("Service worker is active."); + }, + registered(registration) { + console.log("Service worker has been registered."); + + // Routinely check for app updates by testing for a new service worker. + setInterval(() => { + registration.update(); + }, 1000 * 60 * 60); // hourly checks + }, + cached() { + console.log("Content has been cached for offline use."); + }, + updatefound() { + console.log("New content is downloading."); + }, + updated(registration) { + console.log("New content is available; please refresh."); + + // Add a custom event and dispatch it. + // Used to display of a 'refresh' banner following a service worker update. + // Set the event payload to the service worker registration object. + document.dispatchEvent(new CustomEvent("swUpdated", { detail: registration })); + }, + offline() { + console.log("No internet connection found. App is running in offline mode."); + }, + error(error) { + console.error("Error during service worker registration:", error); + }, + }); +} diff --git a/frontend/src/sw.js b/frontend/src/sw.js new file mode 100644 index 000000000000..4b1037930aa1 --- /dev/null +++ b/frontend/src/sw.js @@ -0,0 +1,75 @@ +/* eslint-disable no-undef, no-underscore-dangle, no-restricted-globals */ + +self.addEventListener("install", event => { + event.waitUntil(preLoad()); +}); + +var preLoad = async () => { + console.log("Installing web app"); + const cache = await caches.open("offline"); + console.log("caching index and important routes"); + return await cache.addAll(["/", "/recipes/all"]); +}; + +self.addEventListener("fetch", event => { + event.respondWith( + checkResponse(event.request).catch(() => { + return returnFromCache(event.request); + }) + ); + event.waitUntil(addToCache(event.request)); +}); + +var checkResponse = request => { + return new Promise(function(fulfill, reject) { + fetch(request).then(function(response) { + if (response.status !== 404) { + fulfill(response); + } else { + reject(); + } + }, reject); + }); +}; + +var addToCache = async request => { + const cache = await caches.open("offline"); + const response = await fetch(request); + console.log(response.url + " was cached"); + return await cache.put(request, response); +}; + +var returnFromCache = async request => { + const cache = await caches.open("offline"); + const matching = await cache.match(request); + if (!matching || matching.status == 404) { + return cache.match("offline.html"); + } else { + return matching; + } +}; + +// This is the code piece that GenerateSW mode can't provide for us. +// This code listens for the user's confirmation to update the app. +self.addEventListener("message", e => { + if (!e.data) { + return; + } + + switch (e.data) { + case "skipWaiting": + self.skipWaiting(); + break; + default: + // NOOP + break; + } +}); + +workbox.core.clientsClaim(); // Vue CLI 4 and Workbox v4, else +// workbox.clientsClaim(); // Vue CLI 3 and Workbox v3. + +// The precaching code provided by Workbox. +self.__precacheManifest = [].concat(self.__precacheManifest || []); +// workbox.precaching.suppressWarnings(); // Only used with Vue CLI 3 and Workbox v3. +workbox.precaching.precacheAndRoute(self.__precacheManifest, {}); diff --git a/frontend/vue.config.js b/frontend/vue.config.js index 1507b94311c6..62e6ac0b1252 100644 --- a/frontend/vue.config.js +++ b/frontend/vue.config.js @@ -1,4 +1,5 @@ const path = require("path"); +const manifestJSON = require("./public/manifest.json"); module.exports = { transpileDependencies: ["vuetify"], publicPath: process.env.NODE_ENV === "production" ? "/" : "/", @@ -26,4 +27,17 @@ module.exports = { }, }, }, + pwa: { + name: manifestJSON.short_name, + themeColor: manifestJSON.theme_color, + msTileColor: manifestJSON.background_color, + appleMobileWebAppCapable: "yes", + appleMobileWebAppStatusBarStyle: "black", + + workboxPluginMode: "InjectManifest", + workboxOptions: { + swSrc: "./src/sw.js", + swDest: "service-worker.js", + }, + }, };