diff --git a/CHANGELOGS.md b/CHANGELOGS.md index 7493ee6c..d3a284f3 100644 --- a/CHANGELOGS.md +++ b/CHANGELOGS.md @@ -1,7 +1,30 @@ # CHANGELOGS +## v1.13.0 + +### 変更 + +- パスワード保存機能追加 + +### 依存パッケージ + +- @babel/preset-env from 7.14.2 to 7.14.4 +- @types/node from 15.6.1 to 15.12.0 +- @vue/composition-api from 1.0.0-rc.9 to 1.0.0-rc.10 +- core-js from 3.12.1 to 3.13.1 +- eslint-plugin-import from 2.23.3 to 2.23.4 +- eslint-plugin-vue from 7.9.0 to 7.10.0 +- sass from 1.34.0 to 1.34.1 +- sass-loader from 11.1.1 to 12.0.0 +- twemoji from 13.0.2 to 13.1.0 +- typescript from 4.2.4 to 4.3.2 +- vue and vue-template-compiler +- webpack from 5.37.1 to 5.38.1 + ## v1.12.0 +### 変更 + - 絵文字をTwemojiに置き換え ### 依存パッケージ diff --git a/package-lock.json b/package-lock.json index 1b494cde..b48e7891 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,21 +1,21 @@ { "name": "syncroom-plus", - "version": "1.12.0", + "version": "1.13.0", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "syncroom-plus", - "version": "1.12.0", + "version": "1.13.0", "dependencies": { "@fortawesome/fontawesome-svg-core": "^1.2.35", "@fortawesome/free-solid-svg-icons": "^5.15.3", "@fortawesome/vue-fontawesome": "^2.0.0", - "@vue/composition-api": "^1.0.0-rc.9", + "@vue/composition-api": "^1.0.0-rc.10", "axios": "^0.21.1", "buefy": "^0.9.7", - "twemoji": "^13.0.2", - "vue": "^2.6.12", + "twemoji": "^13.1.0", + "vue": "^2.6.13", "vue-i18n": "^8.24.4", "vue-moment": "^4.1.0", "vuex": "^3.6.2" @@ -23,15 +23,15 @@ "devDependencies": { "@babel/core": "^7.14.3", "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/preset-env": "^7.14.2", + "@babel/preset-env": "^7.14.4", "@babel/runtime-corejs3": "^7.14.0", - "@types/node": "^15.6.1", + "@types/node": "^15.12.0", "@types/webpack": "^5.28.0", "archiver": "^5.3.0", "babel-eslint": "^10.0.3", "babel-loader": "^8.2.2", "copy-webpack-plugin": "^9.0.0", - "core-js": "^3.12.1", + "core-js": "^3.13.1", "cross-env": "^7.0.3", "css-loader": "^5.2.6", "eslint": "^7.27.0", @@ -39,12 +39,12 @@ "eslint-config-standard": "^16.0.3", "eslint-friendly-formatter": "^4.0.1", "eslint-loader": "^4.0.2", - "eslint-plugin-import": "^2.23.3", + "eslint-plugin-import": "^2.23.4", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^3.4.0", "eslint-plugin-promise": "^5.1.0", "eslint-plugin-standard": "^5.0.0", - "eslint-plugin-vue": "^7.9.0", + "eslint-plugin-vue": "^7.10.0", "fibers": "^5.0.0", "file-loader": "^6.2.0", "mini-css-extract-plugin": "^1.6.0", @@ -52,17 +52,17 @@ "pretty-quick": "^3.1.0", "pug": "^3.0.2", "pug-plain-loader": "^1.1.0", - "sass": "^1.34.0", - "sass-loader": "^11.1.1", + "sass": "^1.34.1", + "sass-loader": "^12.0.0", "ts-loader": "^8.1.0", "ts-node": "^10.0.0", "tslint": "^6.1.3", - "typescript": "^4.2.4", + "typescript": "^4.3.2", "vue-loader": "^15.9.7", - "vue-template-compiler": "^2.6.12", + "vue-template-compiler": "^2.6.13", "web-ext-types": "^3.2.1", "webextension-polyfill-ts": "^0.25.0", - "webpack": "^5.37.1", + "webpack": "^5.38.1", "webpack-cli": "^4.7.0", "webpack-extension-reloader": "^1.1.0" }, @@ -80,9 +80,9 @@ } }, "node_modules/@babel/compat-data": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.0.tgz", - "integrity": "sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.4.tgz", + "integrity": "sha512-i2wXrWQNkH6JplJQGn3Rd2I4Pij8GdHkXwHMxm+zV5YG/Jci+bCNrWZEWC4o+umiDkRrRs4dVzH3X4GP7vyjQQ==", "dev": true }, "node_modules/@babel/core": { @@ -164,14 +164,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz", - "integrity": "sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.4.tgz", + "integrity": "sha512-JgdzOYZ/qGaKTVkn5qEDV/SXAh8KcyUVkCoSWGN8T3bwrgd6m+/dJa2kVGi6RJYJgEYPBdZ84BZp9dUjNWkBaA==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.13.15", + "@babel/compat-data": "^7.14.4", "@babel/helper-validator-option": "^7.12.17", - "browserslist": "^4.14.5", + "browserslist": "^4.16.6", "semver": "^6.3.0" }, "peerDependencies": { @@ -188,16 +188,16 @@ } }, "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.0.tgz", - "integrity": "sha512-6pXDPguA5zC40Y8oI5mqr+jEUpjMJonKvknvA+vD8CYDz5uuXEwWBK8sRAsE/t3gfb1k15AQb9RhwpscC4nUJQ==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.4.tgz", + "integrity": "sha512-idr3pthFlDCpV+p/rMgGLGYIVtazeatrSOQk8YzO2pAepIjQhCN3myeihVg58ax2bbbGK9PUE1reFi7axOYIOw==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", + "@babel/helper-function-name": "^7.14.2", "@babel/helper-member-expression-to-functions": "^7.13.12", "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-replace-supers": "^7.13.12", + "@babel/helper-replace-supers": "^7.14.4", "@babel/helper-split-export-declaration": "^7.12.13" }, "peerDependencies": { @@ -345,15 +345,15 @@ } }, "node_modules/@babel/helper-replace-supers": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz", - "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.4.tgz", + "integrity": "sha512-zZ7uHCWlxfEAAOVDYQpEf/uyi1dmeC7fX4nCf2iz9drnCwi1zvwXL3HwWWNXUQEJ1k23yVn3VbddiI9iJEXaTQ==", "dev": true, "dependencies": { "@babel/helper-member-expression-to-functions": "^7.13.12", "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.12" + "@babel/traverse": "^7.14.2", + "@babel/types": "^7.14.4" } }, "node_modules/@babel/helper-simple-access": { @@ -483,11 +483,12 @@ } }, "node_modules/@babel/plugin-proposal-class-static-block": { - "version": "7.13.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.13.11.tgz", - "integrity": "sha512-fJTdFI4bfnMjvxJyNuaf8i9mVcZ0UhetaGEUHaHV9KEnibLugJkZAtXikR8KcYj+NYmI4DZMS8yQAyg+hvfSqg==", + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.3.tgz", + "integrity": "sha512-HEjzp5q+lWSjAgJtSluFDrGGosmwTgKwCXdDQZvhKsRlwv3YdkUEqxNrrjesJd+B9E9zvr1PVPVBvhYZ9msjvQ==", "dev": true, "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.14.3", "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-class-static-block": "^7.12.13" }, @@ -574,13 +575,13 @@ } }, "node_modules/@babel/plugin-proposal-object-rest-spread": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.2.tgz", - "integrity": "sha512-hBIQFxwZi8GIp934+nj5uV31mqclC1aYDhctDu5khTi9PCCUOczyy0b34W0oE9U/eJXiqQaKyVsmjeagOaSlbw==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.4.tgz", + "integrity": "sha512-AYosOWBlyyXEagrPRfLJ1enStufsr7D1+ddpj8OLi9k7B6+NdZ0t/9V7Fh+wJ4g2Jol8z2JkgczYqtWrZd4vbA==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.14.0", - "@babel/helper-compilation-targets": "^7.13.16", + "@babel/compat-data": "^7.14.4", + "@babel/helper-compilation-targets": "^7.14.4", "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-transform-parameters": "^7.14.2" @@ -864,9 +865,9 @@ } }, "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.2.tgz", - "integrity": "sha512-neZZcP19NugZZqNwMTH+KoBjx5WyvESPSIOQb4JHpfd+zPfqcH65RMu5xJju5+6q/Y2VzYrleQTr+b6METyyxg==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.4.tgz", + "integrity": "sha512-5KdpkGxsZlTk+fPleDtGKsA+pon28+ptYmMO8GBSa5fHERCJWAzj50uAfCKBqq42HO+Zot6JF1x37CRprwmN4g==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.13.0" @@ -876,16 +877,16 @@ } }, "node_modules/@babel/plugin-transform-classes": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.2.tgz", - "integrity": "sha512-7oafAVcucHquA/VZCsXv/gmuiHeYd64UJyyTYU+MPfNu0KeNlxw06IeENBO8bJjXVbolu+j1MM5aKQtH1OMCNg==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.4.tgz", + "integrity": "sha512-p73t31SIj6y94RDVX57rafVjttNr8MvKEgs5YFatNB/xC68zM3pyosuOEcQmYsYlyQaGY9R7rAULVRcat5FKJQ==", "dev": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.12.13", "@babel/helper-function-name": "^7.14.2", "@babel/helper-optimise-call-expression": "^7.12.13", "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-replace-supers": "^7.13.12", + "@babel/helper-replace-supers": "^7.14.4", "@babel/helper-split-export-declaration": "^7.12.13", "globals": "^11.1.0" }, @@ -906,9 +907,9 @@ } }, "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz", - "integrity": "sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.4.tgz", + "integrity": "sha512-JyywKreTCGTUsL1OKu1A3ms/R1sTP0WxbpXlALeGzF53eB3bxtNkYdMj9SDgK7g6ImPy76J5oYYKoTtQImlhQA==", "dev": true, "dependencies": { "@babel/helper-plugin-utils": "^7.13.0" @@ -1234,26 +1235,26 @@ } }, "node_modules/@babel/preset-env": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.2.tgz", - "integrity": "sha512-7dD7lVT8GMrE73v4lvDEb85cgcQhdES91BSD7jS/xjC6QY8PnRhux35ac+GCpbiRhp8crexBvZZqnaL6VrY8TQ==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.4.tgz", + "integrity": "sha512-GwMMsuAnDtULyOtuxHhzzuSRxFeP0aR/LNzrHRzP8y6AgDNgqnrfCCBm/1cRdTU75tRs28Eh76poHLcg9VF0LA==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.14.0", - "@babel/helper-compilation-targets": "^7.13.16", + "@babel/compat-data": "^7.14.4", + "@babel/helper-compilation-targets": "^7.14.4", "@babel/helper-plugin-utils": "^7.13.0", "@babel/helper-validator-option": "^7.12.17", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.13.12", "@babel/plugin-proposal-async-generator-functions": "^7.14.2", "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-class-static-block": "^7.13.11", + "@babel/plugin-proposal-class-static-block": "^7.14.3", "@babel/plugin-proposal-dynamic-import": "^7.14.2", "@babel/plugin-proposal-export-namespace-from": "^7.14.2", "@babel/plugin-proposal-json-strings": "^7.14.2", "@babel/plugin-proposal-logical-assignment-operators": "^7.14.2", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.2", "@babel/plugin-proposal-numeric-separator": "^7.14.2", - "@babel/plugin-proposal-object-rest-spread": "^7.14.2", + "@babel/plugin-proposal-object-rest-spread": "^7.14.4", "@babel/plugin-proposal-optional-catch-binding": "^7.14.2", "@babel/plugin-proposal-optional-chaining": "^7.14.2", "@babel/plugin-proposal-private-methods": "^7.13.0", @@ -1276,10 +1277,10 @@ "@babel/plugin-transform-arrow-functions": "^7.13.0", "@babel/plugin-transform-async-to-generator": "^7.13.0", "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.14.2", - "@babel/plugin-transform-classes": "^7.14.2", + "@babel/plugin-transform-block-scoping": "^7.14.4", + "@babel/plugin-transform-classes": "^7.14.4", "@babel/plugin-transform-computed-properties": "^7.13.0", - "@babel/plugin-transform-destructuring": "^7.13.17", + "@babel/plugin-transform-destructuring": "^7.14.4", "@babel/plugin-transform-dotall-regex": "^7.12.13", "@babel/plugin-transform-duplicate-keys": "^7.12.13", "@babel/plugin-transform-exponentiation-operator": "^7.12.13", @@ -1306,7 +1307,7 @@ "@babel/plugin-transform-unicode-escapes": "^7.12.13", "@babel/plugin-transform-unicode-regex": "^7.12.13", "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.14.2", + "@babel/types": "^7.14.4", "babel-plugin-polyfill-corejs2": "^0.2.0", "babel-plugin-polyfill-corejs3": "^0.2.0", "babel-plugin-polyfill-regenerator": "^0.2.0", @@ -1404,9 +1405,9 @@ } }, "node_modules/@babel/types": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.2.tgz", - "integrity": "sha512-SdjAG/3DikRHpUOjxZgnkbR11xUlyDMUFJdvnIgZEE16mqmY0BINMmc4//JMJglEmn6i7sq6p+mGrFWyZ98EEw==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.4.tgz", + "integrity": "sha512-lCj4aIs0xUefJFQnwwQv2Bxg7Omd6bgquZ6LGC+gGMh6/s5qDVfjuCMlDmYQ15SLsWHd9n+X3E75lKIhl5Lkiw==", "dev": true, "dependencies": { "@babel/helper-validator-identifier": "^7.14.0", @@ -1605,9 +1606,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "15.6.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.6.1.tgz", - "integrity": "sha512-7EIraBEyRHEe7CH+Fm1XvgqU6uwZN8Q7jppJGcqjROMT29qhAuuOxYB1uEY5UMYQKEmA5D+5tBnhdaPXSsLONA==", + "version": "15.12.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.0.tgz", + "integrity": "sha512-+aHJvoCsVhO2ZCuT4o5JtcPrCPyDE3+1nvbDprYes+pPkEsbjH7AGUCNtjMOXS0fqH14t+B7yLzaqSz92FPWyw==", "dev": true }, "node_modules/@types/source-list-map": { @@ -1758,9 +1759,9 @@ "dev": true }, "node_modules/@vue/composition-api": { - "version": "1.0.0-rc.9", - "resolved": "https://registry.npmjs.org/@vue/composition-api/-/composition-api-1.0.0-rc.9.tgz", - "integrity": "sha512-U//BqmGRVaPyZbYsPfRlmCKnnFkhRzUBu7cjrWn4PSwQ5Oh+M0KcYIHlupUd+Qmd8KwaiYiuUpJLncl3wFsrdg==", + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@vue/composition-api/-/composition-api-1.0.0-rc.10.tgz", + "integrity": "sha512-ftm4OU8H1Ipw64gxIVqzlCW9lJrtr9iOJME0/KJ/fWmVGy55Qbd0uIgIttOkCdLL94A5cjTSbJFTQhu9jBDRXw==", "dependencies": { "tslib": "^2.2.0" }, @@ -2399,16 +2400,16 @@ } }, "node_modules/browserslist": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", - "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", + "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", "dev": true, "dependencies": { - "caniuse-lite": "^1.0.30001181", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.649", + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", "escalade": "^3.1.1", - "node-releases": "^1.1.70" + "node-releases": "^1.1.71" }, "bin": { "browserslist": "cli.js" @@ -2512,10 +2513,14 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001192", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001192.tgz", - "integrity": "sha512-63OrUnwJj5T1rUmoyqYTdRWBqFFxZFlyZnRRjDR8NSUQFB6A+j/uBORU/SyJ5WzDLg4SPiZH40hQCBNdZ/jmAw==", - "dev": true + "version": "1.0.30001231", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001231.tgz", + "integrity": "sha512-WAFFv31GgU4DiwNAy77qMo3nNyycEhH3ikcCVHvkQpPe/fO8Tb2aRYzss8kgyLQBm8mJ7OryW4X6Y4vsBCIqag==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + } }, "node_modules/chalk": { "version": "2.4.2", @@ -2745,9 +2750,9 @@ } }, "node_modules/core-js": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.12.1.tgz", - "integrity": "sha512-Ne9DKPHTObRuB09Dru5AjwKjY4cJHVGu+y5f7coGn1E9Grkc3p2iBwE9AI/nJzsE29mQF7oq+mhYYRqOMFN1Bw==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.13.1.tgz", + "integrity": "sha512-JqveUc4igkqwStL2RTRn/EPFGBOfEZHxJl/8ej1mXJR75V3go2mFF4bmUYkEIT1rveHKnkUlcJX/c+f1TyIovQ==", "dev": true, "hasInstallScript": true, "funding": { @@ -3029,9 +3034,9 @@ "dev": true }, "node_modules/electron-to-chromium": { - "version": "1.3.675", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.675.tgz", - "integrity": "sha512-GEQw+6dNWjueXGkGfjgm7dAMtXfEqrfDG3uWcZdeaD4cZ3dKYdPRQVruVXQRXtPLtOr5GNVVlNLRMChOZ611pQ==", + "version": "1.3.742", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.742.tgz", + "integrity": "sha512-ihL14knI9FikJmH2XUIDdZFWJxvr14rPSdOhJ7PpS27xbz8qmaRwCwyg/bmFwjWKmWK9QyamiCZVCvXm5CH//Q==", "dev": true }, "node_modules/emoji-regex": { @@ -3408,9 +3413,9 @@ } }, "node_modules/eslint-plugin-import": { - "version": "2.23.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.23.3.tgz", - "integrity": "sha512-wDxdYbSB55F7T5CC7ucDjY641VvKmlRwT0Vxh7PkY1mI4rclVRFWYfsrjDgZvwYYDZ5ee0ZtfFKXowWjqvEoRQ==", + "version": "2.23.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz", + "integrity": "sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ==", "dev": true, "dependencies": { "array-includes": "^3.1.3", @@ -3538,9 +3543,9 @@ "dev": true }, "node_modules/eslint-plugin-vue": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.9.0.tgz", - "integrity": "sha512-2Q0qQp5+5h+pZvJKCbG1/jCRUYrdgAz5BYKGyTlp2NU8mx09u3Hp7PsH6d5qef6ojuPoCXMnrbbDxeoplihrSw==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.10.0.tgz", + "integrity": "sha512-xdr6e4t/L2moRAeEQ9HKgge/hFq+w9v5Dj+BA54nTAzSFdUyKLiSOdZaRQjCHMY0Pk2WaQBFH9QiWG60xiC+6A==", "dev": true, "dependencies": { "eslint-utils": "^2.1.0", @@ -6449,9 +6454,9 @@ "dev": true }, "node_modules/sass": { - "version": "1.34.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.0.tgz", - "integrity": "sha512-rHEN0BscqjUYuomUEaqq3BMgsXqQfkcMVR7UhscsAVub0/spUrZGBMxQXFS2kfiDsPLZw5yuU9iJEFNC2x38Qw==", + "version": "1.34.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.1.tgz", + "integrity": "sha512-scLA7EIZM+MmYlej6sdVr0HRbZX5caX5ofDT9asWnUJj21oqgsC+1LuNfm0eg+vM0fCTZHhwImTiCU0sx9h9CQ==", "dev": true, "dependencies": { "chokidar": ">=3.0.0 <4.0.0" @@ -6464,16 +6469,16 @@ } }, "node_modules/sass-loader": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-11.1.1.tgz", - "integrity": "sha512-fOCp/zLmj1V1WHDZbUbPgrZhA7HKXHEqkslzB+05U5K9SbSbcmH91C7QLW31AsXikxUMaxXRhhcqWZAxUMLDyA==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.0.0.tgz", + "integrity": "sha512-LJQMyDdNdhcvoO2gJFw7KpTaioVFDeRJOuatRDUNgCIqyu4s4kgDsNofdGzAZB1zFOgo/p3fy+aR/uGXamcJBg==", "dev": true, "dependencies": { "klona": "^2.0.4", "neo-async": "^2.6.2" }, "engines": { - "node": ">= 10.13.0" + "node": ">= 12.13.0" }, "funding": { "type": "opencollective", @@ -7269,20 +7274,20 @@ "dev": true }, "node_modules/twemoji": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/twemoji/-/twemoji-13.0.2.tgz", - "integrity": "sha512-R9tDS4pEVczjVYM5SvoAJ0AcZ4EgG1h3yw1oi1m/yrXOH17OOjaaRxZU4r5TIHEy3xYbuZQLB/tJZyC6rpQVmA==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/twemoji/-/twemoji-13.1.0.tgz", + "integrity": "sha512-e3fZRl2S9UQQdBFLYXtTBT6o4vidJMnpWUAhJA+yLGR+kaUTZAt3PixC0cGvvxWSuq2MSz/o0rJraOXrWw/4Ew==", "dependencies": { "fs-extra": "^8.0.1", "jsonfile": "^5.0.0", - "twemoji-parser": "13.0.0", + "twemoji-parser": "13.1.0", "universalify": "^0.1.2" } }, "node_modules/twemoji-parser": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/twemoji-parser/-/twemoji-parser-13.0.0.tgz", - "integrity": "sha512-zMaGdskpH8yKjT2RSE/HwE340R4Fm+fbie4AaqjDa4H/l07YUmAvxkSfNl6awVWNRRQ0zdzLQ8SAJZuY5MgstQ==" + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/twemoji-parser/-/twemoji-parser-13.1.0.tgz", + "integrity": "sha512-AQOzLJpYlpWMy8n+0ATyKKZzWlZBJN+G0C+5lhX7Ftc2PeEVdUU/7ns2Pn2vVje26AIZ/OHwFoUbdv6YYD/wGg==" }, "node_modules/twemoji/node_modules/jsonfile": { "version": "5.0.0", @@ -7317,9 +7322,9 @@ } }, "node_modules/typescript": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", - "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz", + "integrity": "sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -7465,9 +7470,9 @@ } }, "node_modules/vue": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz", - "integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==" + "version": "2.6.13", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.13.tgz", + "integrity": "sha512-O+pAdJkce1ooYS1XyoQtpBQr9An+Oys3w39rkqxukVO3ZD1ilYJkWBGoRuadiQEm2LLJnCL2utV4TMSf52ubjw==" }, "node_modules/vue-eslint-parser": { "version": "7.6.0", @@ -7561,9 +7566,9 @@ } }, "node_modules/vue-template-compiler": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz", - "integrity": "sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==", + "version": "2.6.13", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.13.tgz", + "integrity": "sha512-latKAqpUjCkovB8XppW5gnZbSdYQzkf8pavsMBZYZrQcG6lAnj0EH4Ty7jMwAwFw5Cf4mybKBHlp1UTjnLPOWw==", "dev": true, "dependencies": { "de-indent": "^1.0.2", @@ -7585,9 +7590,9 @@ } }, "node_modules/watchpack": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz", - "integrity": "sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", + "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", "dev": true, "dependencies": { "glob-to-regexp": "^0.4.1", @@ -7619,9 +7624,9 @@ } }, "node_modules/webpack": { - "version": "5.37.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.37.1.tgz", - "integrity": "sha512-btZjGy/hSjCAAVHw+cKG+L0M+rstlyxbO2C+BOTaQ5/XAnxkDrP5sVbqWhXgo4pL3X2dcOib6rqCP20Zr9PLow==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.38.1.tgz", + "integrity": "sha512-OqRmYD1OJbHZph6RUMD93GcCZy4Z4wC0ele4FXyYF0J6AxO1vOSuIlU1hkS/lDlR9CDYBz64MZRmdbdnFFoT2g==", "dev": true, "dependencies": { "@types/eslint-scope": "^3.7.0", @@ -7634,7 +7639,7 @@ "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.8.0", "es-module-lexer": "^0.4.0", - "eslint-scope": "^5.1.1", + "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.4", @@ -7645,8 +7650,8 @@ "schema-utils": "^3.0.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.1", - "watchpack": "^2.0.0", - "webpack-sources": "^2.1.1" + "watchpack": "^2.2.0", + "webpack-sources": "^2.3.0" }, "bin": { "webpack": "bin/webpack.js" @@ -7898,9 +7903,9 @@ } }, "node_modules/webpack/node_modules/webpack-sources": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", - "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.0.tgz", + "integrity": "sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ==", "dev": true, "dependencies": { "source-list-map": "^2.0.1", @@ -8036,9 +8041,9 @@ } }, "@babel/compat-data": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.0.tgz", - "integrity": "sha512-vu9V3uMM/1o5Hl5OekMUowo3FqXLJSw+s+66nt0fSWVWTtmosdzn45JHOB3cPtZoe6CTBDzvSw0RdOY85Q37+Q==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.14.4.tgz", + "integrity": "sha512-i2wXrWQNkH6JplJQGn3Rd2I4Pij8GdHkXwHMxm+zV5YG/Jci+bCNrWZEWC4o+umiDkRrRs4dVzH3X4GP7vyjQQ==", "dev": true }, "@babel/core": { @@ -8112,14 +8117,14 @@ } }, "@babel/helper-compilation-targets": { - "version": "7.13.16", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.13.16.tgz", - "integrity": "sha512-3gmkYIrpqsLlieFwjkGgLaSHmhnvlAYzZLlYVjlW+QwI+1zE17kGxuJGmIqDQdYp56XdmGeD+Bswx0UTyG18xA==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.14.4.tgz", + "integrity": "sha512-JgdzOYZ/qGaKTVkn5qEDV/SXAh8KcyUVkCoSWGN8T3bwrgd6m+/dJa2kVGi6RJYJgEYPBdZ84BZp9dUjNWkBaA==", "dev": true, "requires": { - "@babel/compat-data": "^7.13.15", + "@babel/compat-data": "^7.14.4", "@babel/helper-validator-option": "^7.12.17", - "browserslist": "^4.14.5", + "browserslist": "^4.16.6", "semver": "^6.3.0" }, "dependencies": { @@ -8132,16 +8137,16 @@ } }, "@babel/helper-create-class-features-plugin": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.0.tgz", - "integrity": "sha512-6pXDPguA5zC40Y8oI5mqr+jEUpjMJonKvknvA+vD8CYDz5uuXEwWBK8sRAsE/t3gfb1k15AQb9RhwpscC4nUJQ==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.14.4.tgz", + "integrity": "sha512-idr3pthFlDCpV+p/rMgGLGYIVtazeatrSOQk8YzO2pAepIjQhCN3myeihVg58ax2bbbGK9PUE1reFi7axOYIOw==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.12.13", - "@babel/helper-function-name": "^7.12.13", + "@babel/helper-function-name": "^7.14.2", "@babel/helper-member-expression-to-functions": "^7.13.12", "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/helper-replace-supers": "^7.13.12", + "@babel/helper-replace-supers": "^7.14.4", "@babel/helper-split-export-declaration": "^7.12.13" } }, @@ -8279,15 +8284,15 @@ } }, "@babel/helper-replace-supers": { - "version": "7.13.12", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.13.12.tgz", - "integrity": "sha512-Gz1eiX+4yDO8mT+heB94aLVNCL+rbuT2xy4YfyNqu8F+OI6vMvJK891qGBTqL9Uc8wxEvRW92Id6G7sDen3fFw==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.14.4.tgz", + "integrity": "sha512-zZ7uHCWlxfEAAOVDYQpEf/uyi1dmeC7fX4nCf2iz9drnCwi1zvwXL3HwWWNXUQEJ1k23yVn3VbddiI9iJEXaTQ==", "dev": true, "requires": { "@babel/helper-member-expression-to-functions": "^7.13.12", "@babel/helper-optimise-call-expression": "^7.12.13", - "@babel/traverse": "^7.13.0", - "@babel/types": "^7.13.12" + "@babel/traverse": "^7.14.2", + "@babel/types": "^7.14.4" } }, "@babel/helper-simple-access": { @@ -8402,11 +8407,12 @@ } }, "@babel/plugin-proposal-class-static-block": { - "version": "7.13.11", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.13.11.tgz", - "integrity": "sha512-fJTdFI4bfnMjvxJyNuaf8i9mVcZ0UhetaGEUHaHV9KEnibLugJkZAtXikR8KcYj+NYmI4DZMS8yQAyg+hvfSqg==", + "version": "7.14.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.14.3.tgz", + "integrity": "sha512-HEjzp5q+lWSjAgJtSluFDrGGosmwTgKwCXdDQZvhKsRlwv3YdkUEqxNrrjesJd+B9E9zvr1PVPVBvhYZ9msjvQ==", "dev": true, "requires": { + "@babel/helper-create-class-features-plugin": "^7.14.3", "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-class-static-block": "^7.12.13" } @@ -8472,13 +8478,13 @@ } }, "@babel/plugin-proposal-object-rest-spread": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.2.tgz", - "integrity": "sha512-hBIQFxwZi8GIp934+nj5uV31mqclC1aYDhctDu5khTi9PCCUOczyy0b34W0oE9U/eJXiqQaKyVsmjeagOaSlbw==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.14.4.tgz", + "integrity": "sha512-AYosOWBlyyXEagrPRfLJ1enStufsr7D1+ddpj8OLi9k7B6+NdZ0t/9V7Fh+wJ4g2Jol8z2JkgczYqtWrZd4vbA==", "dev": true, "requires": { - "@babel/compat-data": "^7.14.0", - "@babel/helper-compilation-targets": "^7.13.16", + "@babel/compat-data": "^7.14.4", + "@babel/helper-compilation-targets": "^7.14.4", "@babel/helper-plugin-utils": "^7.13.0", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-transform-parameters": "^7.14.2" @@ -8693,25 +8699,25 @@ } }, "@babel/plugin-transform-block-scoping": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.2.tgz", - "integrity": "sha512-neZZcP19NugZZqNwMTH+KoBjx5WyvESPSIOQb4JHpfd+zPfqcH65RMu5xJju5+6q/Y2VzYrleQTr+b6METyyxg==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.14.4.tgz", + "integrity": "sha512-5KdpkGxsZlTk+fPleDtGKsA+pon28+ptYmMO8GBSa5fHERCJWAzj50uAfCKBqq42HO+Zot6JF1x37CRprwmN4g==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.13.0" } }, "@babel/plugin-transform-classes": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.2.tgz", - "integrity": "sha512-7oafAVcucHquA/VZCsXv/gmuiHeYd64UJyyTYU+MPfNu0KeNlxw06IeENBO8bJjXVbolu+j1MM5aKQtH1OMCNg==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.14.4.tgz", + "integrity": "sha512-p73t31SIj6y94RDVX57rafVjttNr8MvKEgs5YFatNB/xC68zM3pyosuOEcQmYsYlyQaGY9R7rAULVRcat5FKJQ==", "dev": true, "requires": { "@babel/helper-annotate-as-pure": "^7.12.13", "@babel/helper-function-name": "^7.14.2", "@babel/helper-optimise-call-expression": "^7.12.13", "@babel/helper-plugin-utils": "^7.13.0", - "@babel/helper-replace-supers": "^7.13.12", + "@babel/helper-replace-supers": "^7.14.4", "@babel/helper-split-export-declaration": "^7.12.13", "globals": "^11.1.0" } @@ -8726,9 +8732,9 @@ } }, "@babel/plugin-transform-destructuring": { - "version": "7.13.17", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.13.17.tgz", - "integrity": "sha512-UAUqiLv+uRLO+xuBKKMEpC+t7YRNVRqBsWWq1yKXbBZBje/t3IXCiSinZhjn/DC3qzBfICeYd2EFGEbHsh5RLA==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.14.4.tgz", + "integrity": "sha512-JyywKreTCGTUsL1OKu1A3ms/R1sTP0WxbpXlALeGzF53eB3bxtNkYdMj9SDgK7g6ImPy76J5oYYKoTtQImlhQA==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.13.0" @@ -8976,26 +8982,26 @@ } }, "@babel/preset-env": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.2.tgz", - "integrity": "sha512-7dD7lVT8GMrE73v4lvDEb85cgcQhdES91BSD7jS/xjC6QY8PnRhux35ac+GCpbiRhp8crexBvZZqnaL6VrY8TQ==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.4.tgz", + "integrity": "sha512-GwMMsuAnDtULyOtuxHhzzuSRxFeP0aR/LNzrHRzP8y6AgDNgqnrfCCBm/1cRdTU75tRs28Eh76poHLcg9VF0LA==", "dev": true, "requires": { - "@babel/compat-data": "^7.14.0", - "@babel/helper-compilation-targets": "^7.13.16", + "@babel/compat-data": "^7.14.4", + "@babel/helper-compilation-targets": "^7.14.4", "@babel/helper-plugin-utils": "^7.13.0", "@babel/helper-validator-option": "^7.12.17", "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.13.12", "@babel/plugin-proposal-async-generator-functions": "^7.14.2", "@babel/plugin-proposal-class-properties": "^7.13.0", - "@babel/plugin-proposal-class-static-block": "^7.13.11", + "@babel/plugin-proposal-class-static-block": "^7.14.3", "@babel/plugin-proposal-dynamic-import": "^7.14.2", "@babel/plugin-proposal-export-namespace-from": "^7.14.2", "@babel/plugin-proposal-json-strings": "^7.14.2", "@babel/plugin-proposal-logical-assignment-operators": "^7.14.2", "@babel/plugin-proposal-nullish-coalescing-operator": "^7.14.2", "@babel/plugin-proposal-numeric-separator": "^7.14.2", - "@babel/plugin-proposal-object-rest-spread": "^7.14.2", + "@babel/plugin-proposal-object-rest-spread": "^7.14.4", "@babel/plugin-proposal-optional-catch-binding": "^7.14.2", "@babel/plugin-proposal-optional-chaining": "^7.14.2", "@babel/plugin-proposal-private-methods": "^7.13.0", @@ -9018,10 +9024,10 @@ "@babel/plugin-transform-arrow-functions": "^7.13.0", "@babel/plugin-transform-async-to-generator": "^7.13.0", "@babel/plugin-transform-block-scoped-functions": "^7.12.13", - "@babel/plugin-transform-block-scoping": "^7.14.2", - "@babel/plugin-transform-classes": "^7.14.2", + "@babel/plugin-transform-block-scoping": "^7.14.4", + "@babel/plugin-transform-classes": "^7.14.4", "@babel/plugin-transform-computed-properties": "^7.13.0", - "@babel/plugin-transform-destructuring": "^7.13.17", + "@babel/plugin-transform-destructuring": "^7.14.4", "@babel/plugin-transform-dotall-regex": "^7.12.13", "@babel/plugin-transform-duplicate-keys": "^7.12.13", "@babel/plugin-transform-exponentiation-operator": "^7.12.13", @@ -9048,7 +9054,7 @@ "@babel/plugin-transform-unicode-escapes": "^7.12.13", "@babel/plugin-transform-unicode-regex": "^7.12.13", "@babel/preset-modules": "^0.1.4", - "@babel/types": "^7.14.2", + "@babel/types": "^7.14.4", "babel-plugin-polyfill-corejs2": "^0.2.0", "babel-plugin-polyfill-corejs3": "^0.2.0", "babel-plugin-polyfill-regenerator": "^0.2.0", @@ -9146,9 +9152,9 @@ } }, "@babel/types": { - "version": "7.14.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.2.tgz", - "integrity": "sha512-SdjAG/3DikRHpUOjxZgnkbR11xUlyDMUFJdvnIgZEE16mqmY0BINMmc4//JMJglEmn6i7sq6p+mGrFWyZ98EEw==", + "version": "7.14.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.14.4.tgz", + "integrity": "sha512-lCj4aIs0xUefJFQnwwQv2Bxg7Omd6bgquZ6LGC+gGMh6/s5qDVfjuCMlDmYQ15SLsWHd9n+X3E75lKIhl5Lkiw==", "dev": true, "requires": { "@babel/helper-validator-identifier": "^7.14.0", @@ -9316,9 +9322,9 @@ "dev": true }, "@types/node": { - "version": "15.6.1", - "resolved": "https://registry.npmjs.org/@types/node/-/node-15.6.1.tgz", - "integrity": "sha512-7EIraBEyRHEe7CH+Fm1XvgqU6uwZN8Q7jppJGcqjROMT29qhAuuOxYB1uEY5UMYQKEmA5D+5tBnhdaPXSsLONA==", + "version": "15.12.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-15.12.0.tgz", + "integrity": "sha512-+aHJvoCsVhO2ZCuT4o5JtcPrCPyDE3+1nvbDprYes+pPkEsbjH7AGUCNtjMOXS0fqH14t+B7yLzaqSz92FPWyw==", "dev": true }, "@types/source-list-map": { @@ -9457,9 +9463,9 @@ } }, "@vue/composition-api": { - "version": "1.0.0-rc.9", - "resolved": "https://registry.npmjs.org/@vue/composition-api/-/composition-api-1.0.0-rc.9.tgz", - "integrity": "sha512-U//BqmGRVaPyZbYsPfRlmCKnnFkhRzUBu7cjrWn4PSwQ5Oh+M0KcYIHlupUd+Qmd8KwaiYiuUpJLncl3wFsrdg==", + "version": "1.0.0-rc.10", + "resolved": "https://registry.npmjs.org/@vue/composition-api/-/composition-api-1.0.0-rc.10.tgz", + "integrity": "sha512-ftm4OU8H1Ipw64gxIVqzlCW9lJrtr9iOJME0/KJ/fWmVGy55Qbd0uIgIttOkCdLL94A5cjTSbJFTQhu9jBDRXw==", "requires": { "tslib": "^2.2.0" } @@ -9997,16 +10003,16 @@ } }, "browserslist": { - "version": "4.16.3", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.3.tgz", - "integrity": "sha512-vIyhWmIkULaq04Gt93txdh+j02yX/JzlyhLYbV3YQCn/zvES3JnY7TifHHvvr1w5hTDluNKMkV05cs4vy8Q7sw==", + "version": "4.16.6", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.6.tgz", + "integrity": "sha512-Wspk/PqO+4W9qp5iUTJsa1B/QrYn1keNCcEP5OvP7WBwT4KaDly0uONYmC6Xa3Z5IqnUgS0KcgLYu1l74x0ZXQ==", "dev": true, "requires": { - "caniuse-lite": "^1.0.30001181", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.649", + "caniuse-lite": "^1.0.30001219", + "colorette": "^1.2.2", + "electron-to-chromium": "^1.3.723", "escalade": "^3.1.1", - "node-releases": "^1.1.70" + "node-releases": "^1.1.71" } }, "buefy": { @@ -10067,9 +10073,9 @@ "dev": true }, "caniuse-lite": { - "version": "1.0.30001192", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001192.tgz", - "integrity": "sha512-63OrUnwJj5T1rUmoyqYTdRWBqFFxZFlyZnRRjDR8NSUQFB6A+j/uBORU/SyJ5WzDLg4SPiZH40hQCBNdZ/jmAw==", + "version": "1.0.30001231", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001231.tgz", + "integrity": "sha512-WAFFv31GgU4DiwNAy77qMo3nNyycEhH3ikcCVHvkQpPe/fO8Tb2aRYzss8kgyLQBm8mJ7OryW4X6Y4vsBCIqag==", "dev": true }, "chalk": { @@ -10265,9 +10271,9 @@ } }, "core-js": { - "version": "3.12.1", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.12.1.tgz", - "integrity": "sha512-Ne9DKPHTObRuB09Dru5AjwKjY4cJHVGu+y5f7coGn1E9Grkc3p2iBwE9AI/nJzsE29mQF7oq+mhYYRqOMFN1Bw==", + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.13.1.tgz", + "integrity": "sha512-JqveUc4igkqwStL2RTRn/EPFGBOfEZHxJl/8ej1mXJR75V3go2mFF4bmUYkEIT1rveHKnkUlcJX/c+f1TyIovQ==", "dev": true }, "core-js-compat": { @@ -10470,9 +10476,9 @@ "dev": true }, "electron-to-chromium": { - "version": "1.3.675", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.675.tgz", - "integrity": "sha512-GEQw+6dNWjueXGkGfjgm7dAMtXfEqrfDG3uWcZdeaD4cZ3dKYdPRQVruVXQRXtPLtOr5GNVVlNLRMChOZ611pQ==", + "version": "1.3.742", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.742.tgz", + "integrity": "sha512-ihL14knI9FikJmH2XUIDdZFWJxvr14rPSdOhJ7PpS27xbz8qmaRwCwyg/bmFwjWKmWK9QyamiCZVCvXm5CH//Q==", "dev": true }, "emoji-regex": { @@ -10857,9 +10863,9 @@ } }, "eslint-plugin-import": { - "version": "2.23.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.23.3.tgz", - "integrity": "sha512-wDxdYbSB55F7T5CC7ucDjY641VvKmlRwT0Vxh7PkY1mI4rclVRFWYfsrjDgZvwYYDZ5ee0ZtfFKXowWjqvEoRQ==", + "version": "2.23.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz", + "integrity": "sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ==", "dev": true, "requires": { "array-includes": "^3.1.3", @@ -10956,9 +10962,9 @@ "dev": true }, "eslint-plugin-vue": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.9.0.tgz", - "integrity": "sha512-2Q0qQp5+5h+pZvJKCbG1/jCRUYrdgAz5BYKGyTlp2NU8mx09u3Hp7PsH6d5qef6ojuPoCXMnrbbDxeoplihrSw==", + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-7.10.0.tgz", + "integrity": "sha512-xdr6e4t/L2moRAeEQ9HKgge/hFq+w9v5Dj+BA54nTAzSFdUyKLiSOdZaRQjCHMY0Pk2WaQBFH9QiWG60xiC+6A==", "dev": true, "requires": { "eslint-utils": "^2.1.0", @@ -13128,18 +13134,18 @@ "dev": true }, "sass": { - "version": "1.34.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.0.tgz", - "integrity": "sha512-rHEN0BscqjUYuomUEaqq3BMgsXqQfkcMVR7UhscsAVub0/spUrZGBMxQXFS2kfiDsPLZw5yuU9iJEFNC2x38Qw==", + "version": "1.34.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.34.1.tgz", + "integrity": "sha512-scLA7EIZM+MmYlej6sdVr0HRbZX5caX5ofDT9asWnUJj21oqgsC+1LuNfm0eg+vM0fCTZHhwImTiCU0sx9h9CQ==", "dev": true, "requires": { "chokidar": ">=3.0.0 <4.0.0" } }, "sass-loader": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-11.1.1.tgz", - "integrity": "sha512-fOCp/zLmj1V1WHDZbUbPgrZhA7HKXHEqkslzB+05U5K9SbSbcmH91C7QLW31AsXikxUMaxXRhhcqWZAxUMLDyA==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.0.0.tgz", + "integrity": "sha512-LJQMyDdNdhcvoO2gJFw7KpTaioVFDeRJOuatRDUNgCIqyu4s4kgDsNofdGzAZB1zFOgo/p3fy+aR/uGXamcJBg==", "dev": true, "requires": { "klona": "^2.0.4", @@ -13730,13 +13736,13 @@ } }, "twemoji": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/twemoji/-/twemoji-13.0.2.tgz", - "integrity": "sha512-R9tDS4pEVczjVYM5SvoAJ0AcZ4EgG1h3yw1oi1m/yrXOH17OOjaaRxZU4r5TIHEy3xYbuZQLB/tJZyC6rpQVmA==", + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/twemoji/-/twemoji-13.1.0.tgz", + "integrity": "sha512-e3fZRl2S9UQQdBFLYXtTBT6o4vidJMnpWUAhJA+yLGR+kaUTZAt3PixC0cGvvxWSuq2MSz/o0rJraOXrWw/4Ew==", "requires": { "fs-extra": "^8.0.1", "jsonfile": "^5.0.0", - "twemoji-parser": "13.0.0", + "twemoji-parser": "13.1.0", "universalify": "^0.1.2" }, "dependencies": { @@ -13752,9 +13758,9 @@ } }, "twemoji-parser": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/twemoji-parser/-/twemoji-parser-13.0.0.tgz", - "integrity": "sha512-zMaGdskpH8yKjT2RSE/HwE340R4Fm+fbie4AaqjDa4H/l07YUmAvxkSfNl6awVWNRRQ0zdzLQ8SAJZuY5MgstQ==" + "version": "13.1.0", + "resolved": "https://registry.npmjs.org/twemoji-parser/-/twemoji-parser-13.1.0.tgz", + "integrity": "sha512-AQOzLJpYlpWMy8n+0ATyKKZzWlZBJN+G0C+5lhX7Ftc2PeEVdUU/7ns2Pn2vVje26AIZ/OHwFoUbdv6YYD/wGg==" }, "type-check": { "version": "0.4.0", @@ -13772,9 +13778,9 @@ "dev": true }, "typescript": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.2.4.tgz", - "integrity": "sha512-V+evlYHZnQkaz8TRBuxTA92yZBPotr5H+WhQ7bD3hZUndx5tGOa1fuCgeSjxAzM1RiN5IzvadIXTVefuuwZCRg==", + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.2.tgz", + "integrity": "sha512-zZ4hShnmnoVnAHpVHWpTcxdv7dWP60S2FsydQLV8V5PbS3FifjWFFRiHSWpDJahly88PRyV5teTSLoq4eG7mKw==", "dev": true }, "unbox-primitive": { @@ -13894,9 +13900,9 @@ "dev": true }, "vue": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz", - "integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==" + "version": "2.6.13", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.13.tgz", + "integrity": "sha512-O+pAdJkce1ooYS1XyoQtpBQr9An+Oys3w39rkqxukVO3ZD1ilYJkWBGoRuadiQEm2LLJnCL2utV4TMSf52ubjw==" }, "vue-eslint-parser": { "version": "7.6.0", @@ -13968,9 +13974,9 @@ } }, "vue-template-compiler": { - "version": "2.6.12", - "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz", - "integrity": "sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==", + "version": "2.6.13", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.13.tgz", + "integrity": "sha512-latKAqpUjCkovB8XppW5gnZbSdYQzkf8pavsMBZYZrQcG6lAnj0EH4Ty7jMwAwFw5Cf4mybKBHlp1UTjnLPOWw==", "dev": true, "requires": { "de-indent": "^1.0.2", @@ -13990,9 +13996,9 @@ "requires": {} }, "watchpack": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.1.1.tgz", - "integrity": "sha512-Oo7LXCmc1eE1AjyuSBmtC3+Wy4HcV8PxWh2kP6fOl8yTlNS7r0K9l1ao2lrrUza7V39Y3D/BbJgY8VeSlc5JKw==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.2.0.tgz", + "integrity": "sha512-up4YAn/XHgZHIxFBVCdlMiWDj6WaLKpwVeGQk2I5thdYxF/KmF0aaz6TfJZ/hfl1h/XlcDr7k1KH7ThDagpFaA==", "dev": true, "requires": { "glob-to-regexp": "^0.4.1", @@ -14021,9 +14027,9 @@ } }, "webpack": { - "version": "5.37.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.37.1.tgz", - "integrity": "sha512-btZjGy/hSjCAAVHw+cKG+L0M+rstlyxbO2C+BOTaQ5/XAnxkDrP5sVbqWhXgo4pL3X2dcOib6rqCP20Zr9PLow==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.38.1.tgz", + "integrity": "sha512-OqRmYD1OJbHZph6RUMD93GcCZy4Z4wC0ele4FXyYF0J6AxO1vOSuIlU1hkS/lDlR9CDYBz64MZRmdbdnFFoT2g==", "dev": true, "requires": { "@types/eslint-scope": "^3.7.0", @@ -14036,7 +14042,7 @@ "chrome-trace-event": "^1.0.2", "enhanced-resolve": "^5.8.0", "es-module-lexer": "^0.4.0", - "eslint-scope": "^5.1.1", + "eslint-scope": "5.1.1", "events": "^3.2.0", "glob-to-regexp": "^0.4.1", "graceful-fs": "^4.2.4", @@ -14047,8 +14053,8 @@ "schema-utils": "^3.0.0", "tapable": "^2.1.1", "terser-webpack-plugin": "^5.1.1", - "watchpack": "^2.0.0", - "webpack-sources": "^2.1.1" + "watchpack": "^2.2.0", + "webpack-sources": "^2.3.0" }, "dependencies": { "acorn": { @@ -14091,9 +14097,9 @@ "dev": true }, "webpack-sources": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.2.0.tgz", - "integrity": "sha512-bQsA24JLwcnWGArOKUxYKhX3Mz/nK1Xf6hxullKERyktjNMC4x8koOeaDNTA2fEJ09BdWLbM/iTW0ithREUP0w==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.3.0.tgz", + "integrity": "sha512-WyOdtwSvOML1kbgtXbTDnEW0jkJ7hZr/bDByIwszhWd/4XX1A3XMkrbFMsuH4+/MfLlZCUzlAdg4r7jaGKEIgQ==", "dev": true, "requires": { "source-list-map": "^2.0.1", diff --git a/package.json b/package.json index 9328669e..d6a38210 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "syncroom-plus", - "version": "1.12.0", + "version": "1.13.0", "author": "", "engines": { "node": ">=10" @@ -20,11 +20,11 @@ "@fortawesome/fontawesome-svg-core": "^1.2.35", "@fortawesome/free-solid-svg-icons": "^5.15.3", "@fortawesome/vue-fontawesome": "^2.0.0", - "@vue/composition-api": "^1.0.0-rc.9", + "@vue/composition-api": "^1.0.0-rc.10", "axios": "^0.21.1", "buefy": "^0.9.7", - "twemoji": "^13.0.2", - "vue": "^2.6.12", + "twemoji": "^13.1.0", + "vue": "^2.6.13", "vue-i18n": "^8.24.4", "vue-moment": "^4.1.0", "vuex": "^3.6.2" @@ -32,15 +32,15 @@ "devDependencies": { "@babel/core": "^7.14.3", "@babel/plugin-proposal-optional-chaining": "^7.13.12", - "@babel/preset-env": "^7.14.2", + "@babel/preset-env": "^7.14.4", "@babel/runtime-corejs3": "^7.14.0", - "@types/node": "^15.6.1", + "@types/node": "^15.12.0", "@types/webpack": "^5.28.0", "archiver": "^5.3.0", "babel-eslint": "^10.0.3", "babel-loader": "^8.2.2", "copy-webpack-plugin": "^9.0.0", - "core-js": "^3.12.1", + "core-js": "^3.13.1", "cross-env": "^7.0.3", "css-loader": "^5.2.6", "eslint": "^7.27.0", @@ -48,12 +48,12 @@ "eslint-config-standard": "^16.0.3", "eslint-friendly-formatter": "^4.0.1", "eslint-loader": "^4.0.2", - "eslint-plugin-import": "^2.23.3", + "eslint-plugin-import": "^2.23.4", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^3.4.0", "eslint-plugin-promise": "^5.1.0", "eslint-plugin-standard": "^5.0.0", - "eslint-plugin-vue": "^7.9.0", + "eslint-plugin-vue": "^7.10.0", "fibers": "^5.0.0", "file-loader": "^6.2.0", "mini-css-extract-plugin": "^1.6.0", @@ -61,17 +61,17 @@ "pretty-quick": "^3.1.0", "pug": "^3.0.2", "pug-plain-loader": "^1.1.0", - "sass": "^1.34.0", - "sass-loader": "^11.1.1", + "sass": "^1.34.1", + "sass-loader": "^12.0.0", "ts-loader": "^8.1.0", "ts-node": "^10.0.0", "tslint": "^6.1.3", - "typescript": "^4.2.4", + "typescript": "^4.3.2", "vue-loader": "^15.9.7", - "vue-template-compiler": "^2.6.12", + "vue-template-compiler": "^2.6.13", "web-ext-types": "^3.2.1", "webextension-polyfill-ts": "^0.25.0", - "webpack": "^5.37.1", + "webpack": "^5.38.1", "webpack-cli": "^4.7.0", "webpack-extension-reloader": "^1.1.0" } diff --git a/src/content_script/components/Config.vue b/src/content_script/components/Config.vue index 58b6300f..aaa77406 100644 --- a/src/content_script/components/Config.vue +++ b/src/content_script/components/Config.vue @@ -18,6 +18,9 @@ b-switch(v-model="configAnimation", type="is-info", @input="onInputAnimation") | {{ translate('animation') }} + b-switch(v-model="configRememberPassword", type="is-info", @input="onInputRememberPassword") + | {{ translate('remember_password') }} + hr .subtitle @@ -63,6 +66,16 @@ b-table-column(:label="translate('action')", v-slot="props") b-button(type="is-danger", size="is-small", icon-left="trash", @click="confirmRemoveNotification(props.row.memberName)") | {{ translate("remove") }} + + hr + .subtitle + b-icon(icon="info-circle") + | + | {{ translate("other") }} + + b-button(type="is-danger", icon-left="trash", @click="onResetPasswords") + | {{ translate("remove_remember_passwords") }} + .modal-card-foot b-button(@click="$emit('close')", icon-left="times") {{ translate("close") }} @@ -83,6 +96,10 @@ export default defineComponent({ store.dispatch('config/setAnimation', value); }; + const onInputRememberPassword = (value: boolean) => { + store.dispatch('config/setRememberPassword', value); + }; + const confirmRemoveFavorite = (memberName: string) => { Dialog.confirm({ title: translate('unfavorite_user?'), @@ -129,16 +146,38 @@ export default defineComponent({ return store.getters['notificationOnlineMembers/members']; }); + const onResetPasswords = () => { + Dialog.confirm({ + title: translate('do_you_want_to_remove_the_passwords'), + message: translate('remove_the_saved_password_this_operation_cannot_be_undone'), + confirmText: translate('remove'), + cancelText: translate('close'), + type: 'is-danger', + hasIcon: true, + onConfirm: async () => { + store.dispatch('config/resetRememberPasswords').then((res) => { + Toast.open({ + message: translate('password_has_been_deleted'), + type: 'is-success', + }); + }); + }, + }); + }; + return { configAutoReload: store.getters['config/autoReload'], configAnimation: store.getters['config/animation'], + configRememberPassword: store.getters['config/rememberPassword'], onInputAutoReload, onInputAnimation, + onInputRememberPassword, confirmRemoveFavorite, confirmRemoveNotification, favoriteMembers, notificationOnlineMembers, translate, + onResetPasswords, }; }, }); diff --git a/src/content_script/components/PasswordPrompt.vue b/src/content_script/components/PasswordPrompt.vue new file mode 100644 index 00000000..0d07e7f6 --- /dev/null +++ b/src/content_script/components/PasswordPrompt.vue @@ -0,0 +1,106 @@ + + + diff --git a/src/content_script/components/RoomCard.vue b/src/content_script/components/RoomCard.vue index a251b2c5..074eb53b 100644 --- a/src/content_script/components/RoomCard.vue +++ b/src/content_script/components/RoomCard.vue @@ -31,7 +31,7 @@ .level .level-left b-button(type="is-light" @click="onOpenTentativeSyncroom") - | {{translate("take_a_peek")}} + | {{translate("temporary_entry")}} .level-right b-button.card__body__buttons__entry-button(v-if="needPasswd", type="is-dark" @click="onOpenSyncroom", icon-left="lock") @@ -47,10 +47,12 @@ import { defineComponent, computed } from '@vue/composition-api'; import twemoji from 'twemoji'; import Members from './Members'; +import PasswordPrompt from './PasswordPrompt'; import store from '../../store'; import makeJoinUri from '../../lib/make_join_uri'; import { translate } from '../../lib/i18n'; +import { ModalProgrammatic as Modal } from 'buefy'; type Props = { createTime: string; @@ -114,11 +116,14 @@ export default defineComponent({ const onOpenSyncroom = () => { if (props.needPasswd) { - const pwPrompt = window.prompt(translate('please_enter_room_password'), ''); - - if (pwPrompt) { - location.href = makeJoinUri(props.roomName, pwPrompt, false); - } + Modal.open({ + component: PasswordPrompt, + props: { + roomName: props.roomName, + temporaly: false, + }, + hasModalCard: true, + }); } else { location.href = makeJoinUri(props.roomName, '', false); } @@ -126,11 +131,14 @@ export default defineComponent({ const onOpenTentativeSyncroom = () => { if (props.needPasswd) { - const pwPrompt = window.prompt(translate('please_enter_room_password'), ''); - - if (pwPrompt) { - location.href = makeJoinUri(props.roomName, pwPrompt, true); - } + Modal.open({ + component: PasswordPrompt, + props: { + roomName: props.roomName, + temporaly: true, + }, + hasModalCard: true, + }); } else { location.href = makeJoinUri(props.roomName, '', true); } diff --git a/src/i18n.json b/src/i18n.json index 56f2c4f2..1985e026 100644 --- a/src/i18n.json +++ b/src/i18n.json @@ -20,7 +20,6 @@ "locked": "Locked", "reload": "Reload", "test_room": "Test room", - "take_a_peek": "Temporary join", "join": "Join", "temporary_entry": "temporary", "hidden_entry": "hidden", @@ -28,6 +27,8 @@ "notification_when_joinable": "Receive notification when joinable.", "test_room_description": "When you enter the room, the voice will be returned after 3 seconds, so you can check the communication.", "developed_by": "Developed by ", + "password": "Password", + "remember_password": "Remember password", "please_enter_room_password": "Please enter room password.", "unfavorite_user?": "Remove favorite?", "unfavorite_user": "Do you want to remove \"%{username}\" from your favorites? Note that you cannot undo this action.", @@ -44,6 +45,11 @@ "you_can_now_join": "You can now join", "no_room": "No room", "room_not_found": "Room not found", + "other": "Other", + "remove_remember_passwords": "Remove remember passwords", + "do_you_want_to_remove_the_passwords": "Do you want to remove the passwords?", + "remove_the_saved_password_this_operation_cannot_be_undone": "Remove the saved passwords. This operation cannot be undone.", + "password_has_been_deleted": "Passwords has been deleted.", "reports": "Report requests, bugs, translation errors, etc." }, "ja": { @@ -67,7 +73,6 @@ "locked": "鍵あり", "reload": "更新", "test_room": "接続テストルーム", - "take_a_peek": "仮入室", "join": "ルームに入る", "temporary_entry": "仮入室", "hidden_entry": "非公開入室", @@ -75,6 +80,8 @@ "notification_when_joinable": "空きが出たら通知を受け取る", "test_room_description": "SYNCROOMの公式テストルームです。入室すると、音声が3秒後に返ってきますので、通信の確認をすることができます。", "developed_by": "開発提供:", + "password": "パスワード", + "remember_password": "パスワードを保存", "please_enter_room_password": "ルームパスワードを入力してください。", "unfavorite_user?": "お気に入りから削除しますか?", "unfavorite_user": "「%{username}」さんをお気に入りから削除します。この操作は取り消せません。", @@ -91,6 +98,11 @@ "you_can_now_join": "空きがでました。", "no_room": "ルームがありません", "room_not_found": "ルームが見つかりませんでした", + "other": "その他", + "remove_remember_passwords": "保存したパスワードを削除", + "do_you_want_to_remove_the_passwords": "パスワード削除しますか?", + "remove_the_saved_password_this_operation_cannot_be_undone": "保存したパスワードを削除します。この操作は取り消せません。", + "password_has_been_deleted": "パスワードを削除しました", "reports": "要望・不具合報告はこちら" }, "ko": { @@ -114,7 +126,6 @@ "locked": "비밀번호 필요", "reload": "재 장전", "test_room": "테스트 룸", - "take_a_peek": "임시 입실", "join": "참여", "temporary_entry": "임시 입실", "hidden_entry": "익명", @@ -122,6 +133,8 @@ "notification_when_joinable": "자리가 비어 있었던 때 알림을받을", "test_room_description": "방에 들어 오면 3 초 후에 음성이 나오므로 통신 내용을 확인할 수 있습니다.", "developed_by": "개발자 ", + "password": "암호", + "remember_password": "비밀번호 기억", "please_enter_room_password": "방 비밀번호를 입력하세요.", "unfavorite_user?": "즐겨 찾기를 제거 하시겠습니까?", "unfavorite_user": "즐겨 찾기에서 \"%{username}\"를 제거 하시겠습니까? 이 작업은 실행 취소 할 수 없습니다.", @@ -138,6 +151,11 @@ "you_can_now_join": "입실 가능합니다", "no_room": "룸이 없습니다", "room_not_found": "방을 찾을 수 없습니다", + "other": "기타", + "remove_remember_passwords": "저장된 암호를 제거", + "do_you_want_to_remove_the_passwords": "비밀번호를 삭제 하시겠습니까?", + "remove_the_saved_password_this_operation_cannot_be_undone": "저장된 암호를 제거하십시오. 이 작업은 취소 할 수 없습니다.", + "password_has_been_deleted": "암호가 삭제되었습니다.", "reports": "요청, 버그, 번역 오류보고 등" } } \ No newline at end of file diff --git a/src/store/Config/index.ts b/src/store/Config/index.ts index 98d11b08..5a2be365 100644 --- a/src/store/Config/index.ts +++ b/src/store/Config/index.ts @@ -7,6 +7,7 @@ const state: ConfigState = { autoReload: true, animation: true, language: 'ja', + rememberPassword: false, }; const getters: GetterTree = { @@ -19,6 +20,9 @@ const getters: GetterTree = { language: (state) => { return state.language; }, + rememberPassword: (state) => { + return state.rememberPassword; + }, languageDisplayName: (state) => { return LanguageMap[state.language].displayName; }, @@ -45,6 +49,14 @@ const mutations: MutationTree = { state.language = 'ja'; } }); + + browser.storage.local.get('configRememberPassword').then(({ configRememberPassword }) => { + if (typeof configRememberPassword !== 'undefined') { + state.rememberPassword = configRememberPassword; + } else { + state.rememberPassword = false; + } + }); }, setAutoReload: (state, value: boolean) => { @@ -74,6 +86,20 @@ const mutations: MutationTree = { state.language = value; }); }, + setRememberPassword: (state, value: boolean) => { + browser.storage.local + .set({ + configRememberPassword: value, + }) + .then(() => { + state.rememberPassword = value; + }); + }, + resetRememberPasswords: (state) => { + browser.storage.local.set({ + roomPasswords: {}, + }); + }, }; const actions: ActionTree = { @@ -86,6 +112,12 @@ const actions: ActionTree = { setLanguage({ commit }, value: string) { commit('setLanguage', value); }, + setRememberPassword({ commit }, value: boolean) { + commit('setRememberPassword', value); + }, + resetRememberPasswords({ commit }) { + commit('resetRememberPasswords'); + }, restoreFromLocalStorage({ commit }) { commit('restoreFromLocalStorage'); }, diff --git a/src/store/types.ts b/src/store/types.ts index 7a340fab..d446902b 100644 --- a/src/store/types.ts +++ b/src/store/types.ts @@ -33,5 +33,6 @@ export interface NotificationVacancyRoomsState { export interface ConfigState { autoReload: boolean; animation: boolean; + rememberPassword: boolean; language: string; }