diff --git a/package.json b/package.json index dfed106e..7ba19e7d 100644 --- a/package.json +++ b/package.json @@ -13,16 +13,16 @@ }, "dependencies": { "@headlessui/react": "^1.4.2", - "@meshtastic/meshtasticjs": "^0.6.30", + "@meshtastic/meshtasticjs": "^0.6.31", "@reduxjs/toolkit": "^1.6.2", "boring-avatars": "^1.5.8", - "i18next": "^21.5.2", + "i18next": "^21.5.3", "i18next-browser-languagedetector": "^6.1.2", "react": "^17.0.2", "react-dom": "^17.0.2", "react-file-icon": "^1.1.0", - "react-hook-form": "^7.20.2", - "react-i18next": "^11.14.2", + "react-hook-form": "^7.20.4", + "react-i18next": "^11.14.3", "react-icons": "^4.3.1", "react-json-pretty": "^2.2.0", "react-qr-code": "^2.0.3", @@ -31,10 +31,10 @@ "swr": "^1.0.1", "timeago-react": "^3.0.4", "type-route": "^0.6.0", - "use-breakpoint": "^2.0.2" + "use-breakpoint": "^3.0.0" }, "devDependencies": { - "@types/react": "^17.0.35", + "@types/react": "^17.0.37", "@types/react-dom": "^17.0.11", "@types/react-file-icon": "^1.0.1", "@types/w3c-web-serial": "^1.0.2", @@ -42,10 +42,10 @@ "@typescript-eslint/eslint-plugin": "^5.4.0", "@typescript-eslint/parser": "^5.4.0", "@verypossible/eslint-config": "^1.6.1", - "@vitejs/plugin-react": "^1.0.9", + "@vitejs/plugin-react": "^1.1.0", "autoprefixer": "^10.4.0", "babel-plugin-module-resolver": "^4.1.0", - "eslint": "8.2.0", + "eslint": "8.3.0", "eslint-config-prettier": "^8.3.0", "eslint-import-resolver-alias": "^1.1.2", "eslint-import-resolver-babel-module": "^5.3.1", @@ -54,13 +54,13 @@ "eslint-plugin-react": "^7.27.1", "eslint-plugin-react-hooks": "^4.3.0", "gzipper": "^6.0.0", - "postcss": "^8.3.11", - "prettier": "^2.4.1", + "postcss": "^8.4.4", + "prettier": "^2.5.0", "tailwindcss": "^3.0.0-alpha.2", "tar": "^6.1.11", "typescript": "^4.5.2", "vite": "^2.6.14", - "vite-plugin-pwa": "^0.11.6", + "vite-plugin-pwa": "^0.11.7", "workbox-window": "^6.4.1" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e8587d9e..937fe1dc 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2,9 +2,9 @@ lockfileVersion: 5.3 specifiers: '@headlessui/react': ^1.4.2 - '@meshtastic/meshtasticjs': ^0.6.30 + '@meshtastic/meshtasticjs': ^0.6.31 '@reduxjs/toolkit': ^1.6.2 - '@types/react': ^17.0.35 + '@types/react': ^17.0.37 '@types/react-dom': ^17.0.11 '@types/react-file-icon': ^1.0.1 '@types/w3c-web-serial': ^1.0.2 @@ -12,11 +12,11 @@ specifiers: '@typescript-eslint/eslint-plugin': ^5.4.0 '@typescript-eslint/parser': ^5.4.0 '@verypossible/eslint-config': ^1.6.1 - '@vitejs/plugin-react': ^1.0.9 + '@vitejs/plugin-react': ^1.1.0 autoprefixer: ^10.4.0 babel-plugin-module-resolver: ^4.1.0 boring-avatars: ^1.5.8 - eslint: 8.2.0 + eslint: 8.3.0 eslint-config-prettier: ^8.3.0 eslint-import-resolver-alias: ^1.1.2 eslint-import-resolver-babel-module: ^5.3.1 @@ -25,15 +25,15 @@ specifiers: eslint-plugin-react: ^7.27.1 eslint-plugin-react-hooks: ^4.3.0 gzipper: ^6.0.0 - i18next: ^21.5.2 + i18next: ^21.5.3 i18next-browser-languagedetector: ^6.1.2 - postcss: ^8.3.11 - prettier: ^2.4.1 + postcss: ^8.4.4 + prettier: ^2.5.0 react: ^17.0.2 react-dom: ^17.0.2 react-file-icon: ^1.1.0 - react-hook-form: ^7.20.2 - react-i18next: ^11.14.2 + react-hook-form: ^7.20.4 + react-i18next: ^11.14.3 react-icons: ^4.3.1 react-json-pretty: ^2.2.0 react-qr-code: ^2.0.3 @@ -45,23 +45,23 @@ specifiers: timeago-react: ^3.0.4 type-route: ^0.6.0 typescript: ^4.5.2 - use-breakpoint: ^2.0.2 + use-breakpoint: ^3.0.0 vite: ^2.6.14 - vite-plugin-pwa: ^0.11.6 + vite-plugin-pwa: ^0.11.7 workbox-window: ^6.4.1 dependencies: '@headlessui/react': 1.4.2_react-dom@17.0.2+react@17.0.2 - '@meshtastic/meshtasticjs': 0.6.30 + '@meshtastic/meshtasticjs': 0.6.31 '@reduxjs/toolkit': 1.6.2_react-redux@7.2.6+react@17.0.2 boring-avatars: 1.5.8 - i18next: 21.5.2 + i18next: 21.5.3 i18next-browser-languagedetector: 6.1.2 react: 17.0.2 react-dom: 17.0.2_react@17.0.2 react-file-icon: 1.1.0_react-dom@17.0.2+react@17.0.2 - react-hook-form: 7.20.2_react@17.0.2 - react-i18next: 11.14.2_i18next@21.5.2+react@17.0.2 + react-hook-form: 7.20.4_react@17.0.2 + react-i18next: 11.14.3_i18next@21.5.3+react@17.0.2 react-icons: 4.3.1_react@17.0.2 react-json-pretty: 2.2.0_react-dom@17.0.2+react@17.0.2 react-qr-code: 2.0.3_react@17.0.2 @@ -70,47 +70,47 @@ dependencies: swr: 1.0.1_react@17.0.2 timeago-react: 3.0.4_react@17.0.2 type-route: 0.6.0 - use-breakpoint: 2.0.2_react-dom@17.0.2+react@17.0.2 + use-breakpoint: 3.0.0_react-dom@17.0.2+react@17.0.2 devDependencies: - '@types/react': 17.0.35 + '@types/react': 17.0.37 '@types/react-dom': 17.0.11 '@types/react-file-icon': 1.0.1 '@types/w3c-web-serial': 1.0.2 '@types/web-bluetooth': 0.0.11 - '@typescript-eslint/eslint-plugin': 5.4.0_d6f2571581882eb2d6c9d9867e002185 - '@typescript-eslint/parser': 5.4.0_eslint@8.2.0+typescript@4.5.2 + '@typescript-eslint/eslint-plugin': 5.4.0_5c8ff4cecd5a55e744866c0654edac32 + '@typescript-eslint/parser': 5.4.0_eslint@8.3.0+typescript@4.5.2 '@verypossible/eslint-config': 1.6.1_typescript@4.5.2 - '@vitejs/plugin-react': 1.0.9 - autoprefixer: 10.4.0_postcss@8.3.11 + '@vitejs/plugin-react': 1.1.0 + autoprefixer: 10.4.0_postcss@8.4.4 babel-plugin-module-resolver: 4.1.0 - eslint: 8.2.0 - eslint-config-prettier: 8.3.0_eslint@8.2.0 + eslint: 8.3.0 + eslint-config-prettier: 8.3.0_eslint@8.3.0 eslint-import-resolver-alias: 1.1.2_eslint-plugin-import@2.25.3 eslint-import-resolver-babel-module: 5.3.1_e51044130ac762fd207a8cd2109b5344 - eslint-import-resolver-typescript: 2.5.0_6e04a54c7bcd7530b1a4c2da0aa486b1 - eslint-plugin-import: 2.25.3_eslint@8.2.0 - eslint-plugin-react: 7.27.1_eslint@8.2.0 - eslint-plugin-react-hooks: 4.3.0_eslint@8.2.0 + eslint-import-resolver-typescript: 2.5.0_a32f4f7b9ceb1e357b5ea9f682f0210a + eslint-plugin-import: 2.25.3_eslint@8.3.0 + eslint-plugin-react: 7.27.1_eslint@8.3.0 + eslint-plugin-react-hooks: 4.3.0_eslint@8.3.0 gzipper: 6.0.0 - postcss: 8.3.11 - prettier: 2.4.1 - tailwindcss: 3.0.0-alpha.2_0c54bdadaf9d9c9c6c134cb2c6c061a3 + postcss: 8.4.4 + prettier: 2.5.0 + tailwindcss: 3.0.0-alpha.2_6b4e3d148bdcb715d5f821ed0a9c268b tar: 6.1.11 typescript: 4.5.2 vite: 2.6.14 - vite-plugin-pwa: 0.11.6_vite@2.6.14 + vite-plugin-pwa: 0.11.7_vite@2.6.14 workbox-window: 6.4.1 packages: - /@apideck/better-ajv-errors/0.2.7_ajv@8.8.1: + /@apideck/better-ajv-errors/0.2.7_ajv@8.8.2: resolution: {integrity: sha512-J2dW+EHYudbwI7MGovcHWLBrxasl21uuroc2zT8bH2RxYuv2g5GqsO5jcKUZz4LaMST45xhKjVuyRYkhcWyMhA==} engines: {node: '>=10'} peerDependencies: ajv: '>=8' dependencies: - ajv: 8.8.1 + ajv: 8.8.2 json-schema: 0.3.0 jsonpointer: 5.0.0 leven: 3.1.0 @@ -148,7 +148,7 @@ packages: '@babel/traverse': 7.16.3 '@babel/types': 7.16.0 convert-source-map: 1.8.0 - debug: 4.3.2 + debug: 4.3.3 gensync: 1.0.0-beta.2 json5: 2.2.0 semver: 6.3.0 @@ -232,7 +232,7 @@ packages: '@babel/helper-module-imports': 7.16.0 '@babel/helper-plugin-utils': 7.14.5 '@babel/traverse': 7.16.3 - debug: 4.3.2 + debug: 4.3.3 lodash.debounce: 4.0.8 resolve: 1.20.0 semver: 6.3.0 @@ -1274,7 +1274,7 @@ packages: '@babel/helper-split-export-declaration': 7.16.0 '@babel/parser': 7.16.4 '@babel/types': 7.16.0 - debug: 4.3.2 + debug: 4.3.3 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -1293,7 +1293,7 @@ packages: engines: {node: ^10.12.0 || >=12.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.2 + debug: 4.3.3 espree: 7.3.1 globals: 13.12.0 ignore: 4.0.6 @@ -1310,8 +1310,8 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.2 - espree: 9.0.0 + debug: 4.3.3 + espree: 9.1.0 globals: 13.12.0 ignore: 4.0.6 import-fresh: 3.3.0 @@ -1338,7 +1338,7 @@ packages: engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.2 + debug: 4.3.3 minimatch: 3.0.4 transitivePeerDependencies: - supports-color @@ -1349,7 +1349,7 @@ packages: engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.2 + debug: 4.3.3 minimatch: 3.0.4 transitivePeerDependencies: - supports-color @@ -1359,8 +1359,8 @@ packages: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} dev: true - /@meshtastic/meshtasticjs/0.6.30: - resolution: {integrity: sha512-gxlu4ifju60Dwruz6UbREiZ73uCibtJOQdml28lzvsmTHY2vsEXfRiAoo2AvQFmTpoySJMJWrFzBQvK7RCqbtA==} + /@meshtastic/meshtasticjs/0.6.31: + resolution: {integrity: sha512-MV4Pav7ob0/GSRsJViv3MfOhVroqm0tNkzCIA1Cvjj/PnSSqet8bdyMdFO2iCxuvnf1wE5hJ3rZoQ0+wfmaXaA==} dependencies: '@protobuf-ts/runtime': 2.0.7 sub-events: 1.8.9 @@ -1402,15 +1402,15 @@ packages: react-redux: optional: true dependencies: - immer: 9.0.6 + immer: 9.0.7 react: 17.0.2 react-redux: 7.2.6_react-dom@17.0.2+react@17.0.2 redux: 4.1.2 - redux-thunk: 2.4.0_redux@4.1.2 - reselect: 4.1.4 + redux-thunk: 2.4.1_redux@4.1.2 + reselect: 4.1.5 dev: false - /@rollup/plugin-babel/5.3.0_@babel+core@7.16.0+rollup@2.60.0: + /@rollup/plugin-babel/5.3.0_@babel+core@7.16.0+rollup@2.60.1: resolution: {integrity: sha512-9uIC8HZOnVLrLHxayq/PTzw+uS25E14KPUBh5ktF+18Mjo5yK0ToMMx6epY0uEgkjwJw0aBW4x2horYXh8juWw==} engines: {node: '>= 10.0.0'} peerDependencies: @@ -1423,36 +1423,36 @@ packages: dependencies: '@babel/core': 7.16.0 '@babel/helper-module-imports': 7.16.0 - '@rollup/pluginutils': 3.1.0_rollup@2.60.0 - rollup: 2.60.0 + '@rollup/pluginutils': 3.1.0_rollup@2.60.1 + rollup: 2.60.1 dev: true - /@rollup/plugin-node-resolve/11.2.1_rollup@2.60.0: + /@rollup/plugin-node-resolve/11.2.1_rollup@2.60.1: resolution: {integrity: sha512-yc2n43jcqVyGE2sqV5/YCmocy9ArjVAP/BeXyTtADTBBX6V0e5UMqwO8CdQ0kzjb6zu5P1qMzsScCMRvE9OlVg==} engines: {node: '>= 10.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.60.0 + '@rollup/pluginutils': 3.1.0_rollup@2.60.1 '@types/resolve': 1.17.1 builtin-modules: 3.2.0 deepmerge: 4.2.2 is-module: 1.0.0 resolve: 1.20.0 - rollup: 2.60.0 + rollup: 2.60.1 dev: true - /@rollup/plugin-replace/2.4.2_rollup@2.60.0: + /@rollup/plugin-replace/2.4.2_rollup@2.60.1: resolution: {integrity: sha512-IGcu+cydlUMZ5En85jxHH4qj2hta/11BHq95iHEyb2sbgiN0eCdzvUcHw5gt9pBL5lTi4JDYJ1acCoMGpTvEZg==} peerDependencies: rollup: ^1.20.0 || ^2.0.0 dependencies: - '@rollup/pluginutils': 3.1.0_rollup@2.60.0 + '@rollup/pluginutils': 3.1.0_rollup@2.60.1 magic-string: 0.25.7 - rollup: 2.60.0 + rollup: 2.60.1 dev: true - /@rollup/pluginutils/3.1.0_rollup@2.60.0: + /@rollup/pluginutils/3.1.0_rollup@2.60.1: resolution: {integrity: sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==} engines: {node: '>= 8.0.0'} peerDependencies: @@ -1461,7 +1461,7 @@ packages: '@types/estree': 0.0.39 estree-walker: 1.0.1 picomatch: 2.3.0 - rollup: 2.60.0 + rollup: 2.60.1 dev: true /@rollup/pluginutils/4.1.1: @@ -1488,7 +1488,7 @@ packages: /@types/hoist-non-react-statics/3.3.1: resolution: {integrity: sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==} dependencies: - '@types/react': 17.0.35 + '@types/react': 17.0.37 hoist-non-react-statics: 3.3.2 dev: false @@ -1500,8 +1500,8 @@ packages: resolution: {integrity: sha1-7ihweulOEdK4J7y+UnC86n8+ce4=} dev: true - /@types/node/16.11.9: - resolution: {integrity: sha512-MKmdASMf3LtPzwLyRrFjtFFZ48cMf8jmX5VRYrDQiJa8Ybu5VAmkqBWqKU8fdCwD8ysw4mQ9nrEHvzg6gunR7A==} + /@types/node/16.11.10: + resolution: {integrity: sha512-3aRnHa1KlOEEhJ6+CvyHKK5vE9BcLGjtUpwvqYLRvYNQKMfabu3BwfJaA/SLW8dxe28LsNDjtHwePTuzn3gmOA==} dev: true /@types/parse-json/4.0.0: @@ -1514,26 +1514,26 @@ packages: /@types/react-dom/17.0.11: resolution: {integrity: sha512-f96K3k+24RaLGVu/Y2Ng3e1EbZ8/cVJvypZWd7cy0ofCBaf2lcM46xNhycMZ2xGwbBjRql7hOlZ+e2WlJ5MH3Q==} dependencies: - '@types/react': 17.0.35 + '@types/react': 17.0.37 dev: true /@types/react-file-icon/1.0.1: resolution: {integrity: sha512-QTdYCkYXzh/PfKEIwcPxRdaPQkii5R4Ke7fcO+KB++IDPbYAG1jj+ulEcTA7pRf0gZ5jAvjWcTXBJJRtfYHjlw==} dependencies: - '@types/react': 17.0.35 + '@types/react': 17.0.37 dev: true /@types/react-redux/7.1.20: resolution: {integrity: sha512-q42es4c8iIeTgcnB+yJgRTTzftv3eYYvCZOh1Ckn2eX/3o5TdsQYKUWpLoLuGlcY/p+VAhV9IOEZJcWk/vfkXw==} dependencies: '@types/hoist-non-react-statics': 3.3.1 - '@types/react': 17.0.35 + '@types/react': 17.0.37 hoist-non-react-statics: 3.3.2 redux: 4.1.2 dev: false - /@types/react/17.0.35: - resolution: {integrity: sha512-r3C8/TJuri/SLZiiwwxQoLAoavaczARfT9up9b4Jr65+ErAUX3MIkU0oMOQnrpfgHme8zIqZLX7O5nnjm5Wayw==} + /@types/react/17.0.37: + resolution: {integrity: sha512-2FS1oTqBGcH/s0E+CjrCCR9+JMpsu9b69RTFO+40ua43ZqP5MmQ4iUde/dMjWR909KxZwmOQIFq6AV6NjEG5xg==} dependencies: '@types/prop-types': 15.7.4 '@types/scheduler': 0.16.2 @@ -1542,7 +1542,7 @@ packages: /@types/resolve/1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 16.11.9 + '@types/node': 16.11.10 dev: true /@types/scheduler/0.16.2: @@ -1574,7 +1574,7 @@ packages: '@typescript-eslint/experimental-utils': 4.33.0_eslint@7.32.0+typescript@4.5.2 '@typescript-eslint/parser': 4.33.0_eslint@7.32.0+typescript@4.5.2 '@typescript-eslint/scope-manager': 4.33.0 - debug: 4.3.2 + debug: 4.3.3 eslint: 7.32.0 functional-red-black-tree: 1.0.1 ignore: 5.1.9 @@ -1586,7 +1586,7 @@ packages: - supports-color dev: true - /@typescript-eslint/eslint-plugin/5.4.0_d6f2571581882eb2d6c9d9867e002185: + /@typescript-eslint/eslint-plugin/5.4.0_5c8ff4cecd5a55e744866c0654edac32: resolution: {integrity: sha512-9/yPSBlwzsetCsGEn9j24D8vGQgJkOTr4oMLas/w886ZtzKIs1iyoqFrwsX2fqYEeUwsdBpC21gcjRGo57u0eg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1597,11 +1597,11 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/experimental-utils': 5.4.0_eslint@8.2.0+typescript@4.5.2 - '@typescript-eslint/parser': 5.4.0_eslint@8.2.0+typescript@4.5.2 + '@typescript-eslint/experimental-utils': 5.4.0_eslint@8.3.0+typescript@4.5.2 + '@typescript-eslint/parser': 5.4.0_eslint@8.3.0+typescript@4.5.2 '@typescript-eslint/scope-manager': 5.4.0 - debug: 4.3.2 - eslint: 8.2.0 + debug: 4.3.3 + eslint: 8.3.0 functional-red-black-tree: 1.0.1 ignore: 5.1.9 regexpp: 3.2.0 @@ -1630,7 +1630,7 @@ packages: - typescript dev: true - /@typescript-eslint/experimental-utils/5.4.0_eslint@8.2.0+typescript@4.5.2: + /@typescript-eslint/experimental-utils/5.4.0_eslint@8.3.0+typescript@4.5.2: resolution: {integrity: sha512-Nz2JDIQUdmIGd6p33A+naQmwfkU5KVTLb/5lTk+tLVTDacZKoGQisj8UCxk7onJcrgjIvr8xWqkYI+DbI3TfXg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1640,9 +1640,9 @@ packages: '@typescript-eslint/scope-manager': 5.4.0 '@typescript-eslint/types': 5.4.0 '@typescript-eslint/typescript-estree': 5.4.0_typescript@4.5.2 - eslint: 8.2.0 + eslint: 8.3.0 eslint-scope: 5.1.1 - eslint-utils: 3.0.0_eslint@8.2.0 + eslint-utils: 3.0.0_eslint@8.3.0 transitivePeerDependencies: - supports-color - typescript @@ -1661,14 +1661,14 @@ packages: '@typescript-eslint/scope-manager': 4.33.0 '@typescript-eslint/types': 4.33.0 '@typescript-eslint/typescript-estree': 4.33.0_typescript@4.5.2 - debug: 4.3.2 + debug: 4.3.3 eslint: 7.32.0 typescript: 4.5.2 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser/5.4.0_eslint@8.2.0+typescript@4.5.2: + /@typescript-eslint/parser/5.4.0_eslint@8.3.0+typescript@4.5.2: resolution: {integrity: sha512-JoB41EmxiYpaEsRwpZEYAJ9XQURPFer8hpkIW9GiaspVLX8oqbqNM8P4EP8HOZg96yaALiLEVWllA2E8vwsIKw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: @@ -1681,8 +1681,8 @@ packages: '@typescript-eslint/scope-manager': 5.4.0 '@typescript-eslint/types': 5.4.0 '@typescript-eslint/typescript-estree': 5.4.0_typescript@4.5.2 - debug: 4.3.2 - eslint: 8.2.0 + debug: 4.3.3 + eslint: 8.3.0 typescript: 4.5.2 transitivePeerDependencies: - supports-color @@ -1725,7 +1725,7 @@ packages: dependencies: '@typescript-eslint/types': 4.33.0 '@typescript-eslint/visitor-keys': 4.33.0 - debug: 4.3.2 + debug: 4.3.3 globby: 11.0.4 is-glob: 4.0.3 semver: 7.3.5 @@ -1746,7 +1746,7 @@ packages: dependencies: '@typescript-eslint/types': 5.4.0 '@typescript-eslint/visitor-keys': 5.4.0 - debug: 4.3.2 + debug: 4.3.3 globby: 11.0.4 is-glob: 4.0.3 semver: 7.3.5 @@ -1785,15 +1785,15 @@ packages: eslint-plugin-import: 2.25.3_eslint@7.32.0 eslint-plugin-react: 7.27.1_eslint@7.32.0 eslint-plugin-react-hooks: 4.3.0_eslint@7.32.0 - prettier: 2.4.1 + prettier: 2.5.0 transitivePeerDependencies: - '@babel/core' - supports-color - typescript dev: true - /@vitejs/plugin-react/1.0.9: - resolution: {integrity: sha512-1iTS/c3z4QWj8aXIItp6zFMI08UQEz5+fGvnahSCFOSIfazKDlCTEUUQJP23zoxFjeKOF+M3/WA0ZatcHUVEqg==} + /@vitejs/plugin-react/1.1.0: + resolution: {integrity: sha512-hRAqG6/lYf0mfDm/1r0U81vwPWMpyi87e4bFK+LvVQQeIgdh6TwvfuF20waenSGSumz6JH2bfk9DbxdgDLRp/w==} engines: {node: '>=12.0.0'} dependencies: '@babel/core': 7.16.0 @@ -1802,7 +1802,7 @@ packages: '@babel/plugin-transform-react-jsx-self': 7.16.0_@babel+core@7.16.0 '@babel/plugin-transform-react-jsx-source': 7.16.0_@babel+core@7.16.0 '@rollup/pluginutils': 4.1.1 - react-refresh: 0.10.0 + react-refresh: 0.11.0 resolve: 1.20.0 transitivePeerDependencies: - supports-color @@ -1858,8 +1858,8 @@ packages: uri-js: 4.4.1 dev: true - /ajv/8.8.1: - resolution: {integrity: sha512-6CiMNDrzv0ZR916u2T+iRunnD60uWmNn8SkdB44/6stVORUg0aAkWO7PkOhpCmjmW8f2I/G/xnowD66fxGyQJg==} + /ajv/8.8.2: + resolution: {integrity: sha512-x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==} dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -1961,7 +1961,7 @@ packages: engines: {node: '>= 4.0.0'} dev: true - /autoprefixer/10.4.0_postcss@8.3.11: + /autoprefixer/10.4.0_postcss@8.4.4: resolution: {integrity: sha512-7FdJ1ONtwzV1G43GDD0kpVMn/qbiNqyOPMFTX5nRffI+7vgWoFEc6DcXOxHJxrWNDXrZh18eDsZjvZGUljSRGA==} engines: {node: ^10 || ^12 || >=14} hasBin: true @@ -1969,11 +1969,11 @@ packages: postcss: ^8.1.0 dependencies: browserslist: 4.18.1 - caniuse-lite: 1.0.30001282 + caniuse-lite: 1.0.30001283 fraction.js: 4.1.2 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.3.11 + postcss: 8.4.4 postcss-value-parser: 4.1.0 dev: true @@ -1995,7 +1995,7 @@ packages: find-babel-config: 1.2.0 glob: 7.2.0 pkg-up: 3.1.0 - reselect: 4.1.4 + reselect: 4.1.5 resolve: 1.20.0 dev: true @@ -2067,8 +2067,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001282 - electron-to-chromium: 1.3.904 + caniuse-lite: 1.0.30001283 + electron-to-chromium: 1.4.4 escalade: 3.1.1 node-releases: 2.0.1 picocolors: 1.0.0 @@ -2100,8 +2100,8 @@ packages: engines: {node: '>= 6'} dev: true - /caniuse-lite/1.0.30001282: - resolution: {integrity: sha512-YhF/hG6nqBEllymSIjLtR2iWDDnChvhnVJqp+vloyt2tEHFG1yBR+ac2B/rOw0qOK0m0lEXU2dv4E/sMk5P9Kg==} + /caniuse-lite/1.0.30001283: + resolution: {integrity: sha512-9RoKo841j1GQFSJz/nCXOj0sD7tHBtlowjYlrqIUS812x9/emfBLBt6IyMz1zIaYc/eRL8Cs6HPUVi2Hzq4sIg==} dev: true /chalk/2.4.2: @@ -2239,8 +2239,8 @@ packages: ms: 2.1.3 dev: true - /debug/4.3.2: - resolution: {integrity: sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==} + /debug/4.3.3: + resolution: {integrity: sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -2343,8 +2343,8 @@ packages: jake: 10.8.2 dev: true - /electron-to-chromium/1.3.904: - resolution: {integrity: sha512-x5uZWXcVNYkTh4JubD7KSC1VMKz0vZwJUqVwY3ihsW0bst1BXDe494Uqbg3Y0fDGVjJqA8vEeGuvO5foyH2+qw==} + /electron-to-chromium/1.4.4: + resolution: {integrity: sha512-teHtgwcmVcL46jlFvAaqjyiTLWuMrUQO1JqV303JKB4ysXG6m8fXSFhbjal9st0r9mNskI22AraJZorb1VcLVg==} dev: true /emoji-regex/8.0.0: @@ -2412,164 +2412,164 @@ packages: is-symbol: 1.0.4 dev: true - /esbuild-android-arm64/0.13.14: - resolution: {integrity: sha512-Q+Xhfp827r+ma8/DJgpMRUbDZfefsk13oePFEXEIJ4gxFbNv5+vyiYXYuKm43/+++EJXpnaYmEnu4hAKbAWYbA==} + /esbuild-android-arm64/0.13.15: + resolution: {integrity: sha512-m602nft/XXeO8YQPUDVoHfjyRVPdPgjyyXOxZ44MK/agewFFkPa8tUo6lAzSWh5Ui5PB4KR9UIFTSBKh/RrCmg==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /esbuild-darwin-64/0.13.14: - resolution: {integrity: sha512-YmOhRns6QBNSjpVdTahi/yZ8dscx9ai7a6OY6z5ACgOuQuaQ2Qk2qgJ0/siZ6LgD0gJFMV8UINFV5oky5TFNQQ==} + /esbuild-darwin-64/0.13.15: + resolution: {integrity: sha512-ihOQRGs2yyp7t5bArCwnvn2Atr6X4axqPpEdCFPVp7iUj4cVSdisgvEKdNR7yH3JDjW6aQDw40iQFoTqejqxvQ==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /esbuild-darwin-arm64/0.13.14: - resolution: {integrity: sha512-Lp00VTli2jqZghSa68fx3fEFCPsO1hK59RMo1PRap5RUjhf55OmaZTZYnCDI0FVlCtt+gBwX5qwFt4lc6tI1xg==} + /esbuild-darwin-arm64/0.13.15: + resolution: {integrity: sha512-i1FZssTVxUqNlJ6cBTj5YQj4imWy3m49RZRnHhLpefFIh0To05ow9DTrXROTE1urGTQCloFUXTX8QfGJy1P8dQ==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /esbuild-freebsd-64/0.13.14: - resolution: {integrity: sha512-BKosI3jtvTfnmsCW37B1TyxMUjkRWKqopR0CE9AF2ratdpkxdR24Vpe3gLKNyWiZ7BE96/SO5/YfhbPUzY8wKw==} + /esbuild-freebsd-64/0.13.15: + resolution: {integrity: sha512-G3dLBXUI6lC6Z09/x+WtXBXbOYQZ0E8TDBqvn7aMaOCzryJs8LyVXKY4CPnHFXZAbSwkCbqiPuSQ1+HhrNk7EA==} cpu: [x64] os: [freebsd] requiresBuild: true dev: true optional: true - /esbuild-freebsd-arm64/0.13.14: - resolution: {integrity: sha512-yd2uh0yf+fWv5114+SYTl4/1oDWtr4nN5Op+PGxAkMqHfYfLjFKpcxwCo/QOS/0NWqPVE8O41IYZlFhbEN2B8Q==} + /esbuild-freebsd-arm64/0.13.15: + resolution: {integrity: sha512-KJx0fzEDf1uhNOZQStV4ujg30WlnwqUASaGSFPhznLM/bbheu9HhqZ6mJJZM32lkyfGJikw0jg7v3S0oAvtvQQ==} cpu: [arm64] os: [freebsd] requiresBuild: true dev: true optional: true - /esbuild-linux-32/0.13.14: - resolution: {integrity: sha512-a8rOnS1oWSfkkYWXoD2yXNV4BdbDKA7PNVQ1klqkY9SoSApL7io66w5H44mTLsfyw7G6Z2vLlaLI2nz9MMAowA==} + /esbuild-linux-32/0.13.15: + resolution: {integrity: sha512-ZvTBPk0YWCLMCXiFmD5EUtB30zIPvC5Itxz0mdTu/xZBbbHJftQgLWY49wEPSn2T/TxahYCRDWun5smRa0Tu+g==} cpu: [ia32] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-64/0.13.14: - resolution: {integrity: sha512-yPZSoMs9W2MC3Dw+6kflKt5FfQm6Dicex9dGIr1OlHRsn3Hm7yGMUTctlkW53KknnZdOdcdd5upxvbxqymczVQ==} + /esbuild-linux-64/0.13.15: + resolution: {integrity: sha512-eCKzkNSLywNeQTRBxJRQ0jxRCl2YWdMB3+PkWFo2BBQYC5mISLIVIjThNtn6HUNqua1pnvgP5xX0nHbZbPj5oA==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-arm/0.13.14: - resolution: {integrity: sha512-8chZE4pkKRvJ/M/iwsNQ1KqsRg2RyU5eT/x2flNt/f8F2TVrDreR7I0HEeCR50wLla3B1C3wTIOzQBmjuc6uWg==} + /esbuild-linux-arm/0.13.15: + resolution: {integrity: sha512-wUHttDi/ol0tD8ZgUMDH8Ef7IbDX+/UsWJOXaAyTdkT7Yy9ZBqPg8bgB/Dn3CZ9SBpNieozrPRHm0BGww7W/jA==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-arm64/0.13.14: - resolution: {integrity: sha512-Lvo391ln9PzC334e+jJ2S0Rt0cxP47eoH5gFyv/E8HhOnEJTvm7A+RRnMjjHnejELacTTfYgFGQYPjLsi/jObQ==} + /esbuild-linux-arm64/0.13.15: + resolution: {integrity: sha512-bYpuUlN6qYU9slzr/ltyLTR9YTBS7qUDymO8SV7kjeNext61OdmqFAzuVZom+OLW1HPHseBfJ/JfdSlx8oTUoA==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-mips64le/0.13.14: - resolution: {integrity: sha512-MZhgxbmrWbpY3TOE029O6l5tokG9+Yoj2hW7vdit/d/VnmneqeGrSHADuDL6qXM8L5jaCiaivb4VhsyVCpdAbQ==} + /esbuild-linux-mips64le/0.13.15: + resolution: {integrity: sha512-KlVjIG828uFPyJkO/8gKwy9RbXhCEUeFsCGOJBepUlpa7G8/SeZgncUEz/tOOUJTcWMTmFMtdd3GElGyAtbSWg==} cpu: [mips64el] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-linux-ppc64le/0.13.14: - resolution: {integrity: sha512-un7KMwS7fX1Un6BjfSZxTT8L5cV/8Uf4SAhM7WYy2XF8o8TI+uRxxD03svZnRNIPsN2J5cl6qV4n7Iwz+yhhVw==} + /esbuild-linux-ppc64le/0.13.15: + resolution: {integrity: sha512-h6gYF+OsaqEuBjeesTBtUPw0bmiDu7eAeuc2OEH9S6mV9/jPhPdhOWzdeshb0BskRZxPhxPOjqZ+/OqLcxQwEQ==} cpu: [ppc64] os: [linux] requiresBuild: true dev: true optional: true - /esbuild-netbsd-64/0.13.14: - resolution: {integrity: sha512-5ekKx/YbOmmlTeNxBjh38Uh5TGn5C4uyqN17i67k18pS3J+U2hTVD7rCxcFcRS1AjNWumkVL3jWqYXadFwMS0Q==} + /esbuild-netbsd-64/0.13.15: + resolution: {integrity: sha512-3+yE9emwoevLMyvu+iR3rsa+Xwhie7ZEHMGDQ6dkqP/ndFzRHkobHUKTe+NCApSqG5ce2z4rFu+NX/UHnxlh3w==} cpu: [x64] os: [netbsd] requiresBuild: true dev: true optional: true - /esbuild-openbsd-64/0.13.14: - resolution: {integrity: sha512-9bzvwewHjct2Cv5XcVoE1yW5YTW12Sk838EYfA46abgnhxGoFSD1mFcaztp5HHC43AsF+hQxbSFG/RilONARUA==} + /esbuild-openbsd-64/0.13.15: + resolution: {integrity: sha512-wTfvtwYJYAFL1fSs8yHIdf5GEE4NkbtbXtjLWjM3Cw8mmQKqsg8kTiqJ9NJQe5NX/5Qlo7Xd9r1yKMMkHllp5g==} cpu: [x64] os: [openbsd] requiresBuild: true dev: true optional: true - /esbuild-sunos-64/0.13.14: - resolution: {integrity: sha512-mjMrZB76M6FmoiTvj/RGWilrioR7gVwtFBRVugr9qLarXMIU1W/pQx+ieEOtflrW61xo8w1fcxyHsVVGRvoQ0w==} + /esbuild-sunos-64/0.13.15: + resolution: {integrity: sha512-lbivT9Bx3t1iWWrSnGyBP9ODriEvWDRiweAs69vI+miJoeKwHWOComSRukttbuzjZ8r1q0mQJ8Z7yUsDJ3hKdw==} cpu: [x64] os: [sunos] requiresBuild: true dev: true optional: true - /esbuild-windows-32/0.13.14: - resolution: {integrity: sha512-GZa6mrx2rgfbH/5uHg0Rdw50TuOKbdoKCpEBitzmG5tsXBdce+cOL+iFO5joZc6fDVCLW3Y6tjxmSXRk/v20Hg==} + /esbuild-windows-32/0.13.15: + resolution: {integrity: sha512-fDMEf2g3SsJ599MBr50cY5ve5lP1wyVwTe6aLJsM01KtxyKkB4UT+fc5MXQFn3RLrAIAZOG+tHC+yXObpSn7Nw==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /esbuild-windows-64/0.13.14: - resolution: {integrity: sha512-Lsgqah24bT7ClHjLp/Pj3A9wxjhIAJyWQcrOV4jqXAFikmrp2CspA8IkJgw7HFjx6QrJuhpcKVbCAe/xw0i2yw==} + /esbuild-windows-64/0.13.15: + resolution: {integrity: sha512-9aMsPRGDWCd3bGjUIKG/ZOJPKsiztlxl/Q3C1XDswO6eNX/Jtwu4M+jb6YDH9hRSUflQWX0XKAfWzgy5Wk54JQ==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /esbuild-windows-arm64/0.13.14: - resolution: {integrity: sha512-KP8FHVlWGhM7nzYtURsGnskXb/cBCPTfj0gOKfjKq2tHtYnhDZywsUG57nk7TKhhK0fL11LcejHG3LRW9RF/9A==} + /esbuild-windows-arm64/0.13.15: + resolution: {integrity: sha512-zzvyCVVpbwQQATaf3IG8mu1IwGEiDxKkYUdA4FpoCHi1KtPa13jeScYDjlW0Qh+ebWzpKfR2ZwvqAQkSWNcKjA==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /esbuild/0.13.14: - resolution: {integrity: sha512-xu4D+1ji9x53ocuomcY+KOrwAnWzhBu/wTEjpdgZ8I1c8i5vboYIeigMdzgY1UowYBKa2vZgVgUB32bu7gkxeg==} + /esbuild/0.13.15: + resolution: {integrity: sha512-raCxt02HBKv8RJxE8vkTSCXGIyKHdEdGfUmiYb8wnabnaEmHzyW7DCHb5tEN0xU8ryqg5xw54mcwnYkC4x3AIw==} hasBin: true requiresBuild: true optionalDependencies: - esbuild-android-arm64: 0.13.14 - esbuild-darwin-64: 0.13.14 - esbuild-darwin-arm64: 0.13.14 - esbuild-freebsd-64: 0.13.14 - esbuild-freebsd-arm64: 0.13.14 - esbuild-linux-32: 0.13.14 - esbuild-linux-64: 0.13.14 - esbuild-linux-arm: 0.13.14 - esbuild-linux-arm64: 0.13.14 - esbuild-linux-mips64le: 0.13.14 - esbuild-linux-ppc64le: 0.13.14 - esbuild-netbsd-64: 0.13.14 - esbuild-openbsd-64: 0.13.14 - esbuild-sunos-64: 0.13.14 - esbuild-windows-32: 0.13.14 - esbuild-windows-64: 0.13.14 - esbuild-windows-arm64: 0.13.14 + esbuild-android-arm64: 0.13.15 + esbuild-darwin-64: 0.13.15 + esbuild-darwin-arm64: 0.13.15 + esbuild-freebsd-64: 0.13.15 + esbuild-freebsd-arm64: 0.13.15 + esbuild-linux-32: 0.13.15 + esbuild-linux-64: 0.13.15 + esbuild-linux-arm: 0.13.15 + esbuild-linux-arm64: 0.13.15 + esbuild-linux-mips64le: 0.13.15 + esbuild-linux-ppc64le: 0.13.15 + esbuild-netbsd-64: 0.13.15 + esbuild-openbsd-64: 0.13.15 + esbuild-sunos-64: 0.13.15 + esbuild-windows-32: 0.13.15 + esbuild-windows-64: 0.13.15 + esbuild-windows-arm64: 0.13.15 dev: true /escalade/3.1.1: @@ -2596,13 +2596,13 @@ packages: eslint: 7.32.0 dev: true - /eslint-config-prettier/8.3.0_eslint@8.2.0: + /eslint-config-prettier/8.3.0_eslint@8.3.0: resolution: {integrity: sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.2.0 + eslint: 8.3.0 dev: true /eslint-import-resolver-alias/1.1.2_eslint-plugin-import@2.25.3: @@ -2611,7 +2611,7 @@ packages: peerDependencies: eslint-plugin-import: '>=1.4.0' dependencies: - eslint-plugin-import: 2.25.3_eslint@8.2.0 + eslint-plugin-import: 2.25.3_eslint@8.3.0 dev: true /eslint-import-resolver-babel-module/5.3.1_e51044130ac762fd207a8cd2109b5344: @@ -2633,16 +2633,16 @@ packages: resolve: 1.20.0 dev: true - /eslint-import-resolver-typescript/2.5.0_6e04a54c7bcd7530b1a4c2da0aa486b1: + /eslint-import-resolver-typescript/2.5.0_a32f4f7b9ceb1e357b5ea9f682f0210a: resolution: {integrity: sha512-qZ6e5CFr+I7K4VVhQu3M/9xGv9/YmwsEXrsm3nimw8vWaVHRDrQRp26BgCypTxBp3vUp4o5aVEJRiy0F2DFddQ==} engines: {node: '>=4'} peerDependencies: eslint: '*' eslint-plugin-import: '*' dependencies: - debug: 4.3.2 - eslint: 8.2.0 - eslint-plugin-import: 2.25.3_eslint@8.2.0 + debug: 4.3.3 + eslint: 8.3.0 + eslint-plugin-import: 2.25.3_eslint@8.3.0 glob: 7.2.0 is-glob: 4.0.3 resolve: 1.20.0 @@ -2658,7 +2658,7 @@ packages: eslint: '*' eslint-plugin-import: '*' dependencies: - debug: 4.3.2 + debug: 4.3.3 eslint: 7.32.0 eslint-plugin-import: 2.25.3_eslint@7.32.0 glob: 7.2.0 @@ -2700,7 +2700,7 @@ packages: tsconfig-paths: 3.12.0 dev: true - /eslint-plugin-import/2.25.3_eslint@8.2.0: + /eslint-plugin-import/2.25.3_eslint@8.3.0: resolution: {integrity: sha512-RzAVbby+72IB3iOEL8clzPLzL3wpDrlwjsTBAQXgyp5SeTqqY+0bFubwuo+y/HLhNZcXV4XqTBO4LGsfyHIDXg==} engines: {node: '>=4'} peerDependencies: @@ -2710,7 +2710,7 @@ packages: array.prototype.flat: 1.2.5 debug: 2.6.9 doctrine: 2.1.0 - eslint: 8.2.0 + eslint: 8.3.0 eslint-import-resolver-node: 0.3.6 eslint-module-utils: 2.7.1 has: 1.0.3 @@ -2731,13 +2731,13 @@ packages: eslint: 7.32.0 dev: true - /eslint-plugin-react-hooks/4.3.0_eslint@8.2.0: + /eslint-plugin-react-hooks/4.3.0_eslint@8.3.0: resolution: {integrity: sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: - eslint: 8.2.0 + eslint: 8.3.0 dev: true /eslint-plugin-react/7.27.1_eslint@7.32.0: @@ -2763,7 +2763,7 @@ packages: string.prototype.matchall: 4.0.6 dev: true - /eslint-plugin-react/7.27.1_eslint@8.2.0: + /eslint-plugin-react/7.27.1_eslint@8.3.0: resolution: {integrity: sha512-meyunDjMMYeWr/4EBLTV1op3iSG3mjT/pz5gti38UzfM4OPpNc2m0t2xvKCOMU5D6FSdd34BIMFOvQbW+i8GAA==} engines: {node: '>=4'} peerDependencies: @@ -2772,7 +2772,7 @@ packages: array-includes: 3.1.4 array.prototype.flatmap: 1.2.5 doctrine: 2.1.0 - eslint: 8.2.0 + eslint: 8.3.0 estraverse: 5.3.0 jsx-ast-utils: 3.2.1 minimatch: 3.0.4 @@ -2794,8 +2794,8 @@ packages: estraverse: 4.3.0 dev: true - /eslint-scope/6.0.0: - resolution: {integrity: sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA==} + /eslint-scope/7.1.0: + resolution: {integrity: sha512-aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 @@ -2819,13 +2819,13 @@ packages: eslint-visitor-keys: 2.1.0 dev: true - /eslint-utils/3.0.0_eslint@8.2.0: + /eslint-utils/3.0.0_eslint@8.3.0: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: eslint: '>=5' dependencies: - eslint: 8.2.0 + eslint: 8.3.0 eslint-visitor-keys: 2.1.0 dev: true @@ -2855,7 +2855,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.2 + debug: 4.3.3 doctrine: 3.0.0 enquirer: 2.3.6 escape-string-regexp: 4.0.0 @@ -2893,8 +2893,8 @@ packages: - supports-color dev: true - /eslint/8.2.0: - resolution: {integrity: sha512-erw7XmM+CLxTOickrimJ1SiF55jiNlVSp2qqm0NuBWPtHYQCegD5ZMaW0c3i5ytPqL+SSLaCxdvQXFPLJn+ABw==} + /eslint/8.3.0: + resolution: {integrity: sha512-aIay56Ph6RxOTC7xyr59Kt3ewX185SaGnAr8eWukoPLeriCrvGjvAubxuvaXOfsxhtwV5g0uBOsyhAom4qJdww==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: @@ -2903,14 +2903,14 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.2 + debug: 4.3.3 doctrine: 3.0.0 enquirer: 2.3.6 escape-string-regexp: 4.0.0 - eslint-scope: 6.0.0 - eslint-utils: 3.0.0_eslint@8.2.0 + eslint-scope: 7.1.0 + eslint-utils: 3.0.0_eslint@8.3.0 eslint-visitor-keys: 3.1.0 - espree: 9.0.0 + espree: 9.1.0 esquery: 1.4.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 @@ -2949,8 +2949,8 @@ packages: eslint-visitor-keys: 1.3.0 dev: true - /espree/9.0.0: - resolution: {integrity: sha512-r5EQJcYZ2oaGbeR0jR0fFVijGOcwai07/690YRXLINuhmVeRY4UKSAsQPe/0BNuDgwP7Ophoc1PRsr2E3tkbdQ==} + /espree/9.1.0: + resolution: {integrity: sha512-ZgYLvCS1wxOczBYGcQT9DDWgicXwJ4dbocr9uYN+/eresBAUuBu+O4WzB21ufQ/JqQT8gyp7hJ3z8SHii32mTQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.6.0 @@ -3273,8 +3273,8 @@ packages: '@babel/runtime': 7.16.3 dev: false - /i18next/21.5.2: - resolution: {integrity: sha512-Iuztr2+7CPCh5SYQV0utw2HXMx1za18xfznrw/PmgX+98oIpm84bhIM7VUPODjLycwIZ299oP7sEVQ9oCgmzfg==} + /i18next/21.5.3: + resolution: {integrity: sha512-9R8127a0/N5okiD7eeo6XBPQsHgHsLr1GdQEa35Pcw305ArC9KZDLs9kbgdn3xuVUNYlVu8+gWzz73eVkna0gA==} dependencies: '@babel/runtime': 7.16.3 dev: false @@ -3293,8 +3293,8 @@ packages: engines: {node: '>= 4'} dev: true - /immer/9.0.6: - resolution: {integrity: sha512-G95ivKpy+EvVAnAab4fVa4YGYn24J1SpEktnJX7JJ45Bd7xqME/SCplFzYFmTbrkwZbQ4xJK1xMTUYBkN6pWsQ==} + /immer/9.0.7: + resolution: {integrity: sha512-KGllzpbamZDvOIxnmJ0jI840g7Oikx58lBPWV0hUh7dtAyZpFqqrBZdKka5GlTwMTZ1Tjc/bKKW4VSFAt6BqMA==} dev: false /import-cwd/3.0.0: @@ -3529,7 +3529,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 16.11.9 + '@types/node': 16.11.10 merge-stream: 2.0.0 supports-color: 7.2.0 dev: true @@ -3642,8 +3642,8 @@ packages: engines: {node: '>=10'} dev: true - /lines-and-columns/1.1.6: - resolution: {integrity: sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=} + /lines-and-columns/1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true /locate-path/2.0.0: @@ -3929,7 +3929,7 @@ packages: '@babel/code-frame': 7.16.0 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.1.6 + lines-and-columns: 1.2.4 dev: true /path-exists/3.0.0: @@ -3984,7 +3984,7 @@ packages: engines: {node: '>=10.0'} dependencies: camelcase-css: 2.0.1 - postcss: 8.3.11 + postcss: 8.4.4 dev: true /postcss-load-config/3.1.0: @@ -4001,13 +4001,13 @@ packages: yaml: 1.10.2 dev: true - /postcss-nested/5.0.6_postcss@8.3.11: + /postcss-nested/5.0.6_postcss@8.4.4: resolution: {integrity: sha512-rKqm2Fk0KbA8Vt3AdGN0FB9OBOMDVajMG6ZCf/GoHgdxUJ4sBFp0A/uMIRm+MJUdo33YXEtjqIz8u7DAp8B7DA==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 dependencies: - postcss: 8.3.11 + postcss: 8.4.4 postcss-selector-parser: 6.0.6 dev: true @@ -4023,13 +4023,13 @@ packages: resolution: {integrity: sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==} dev: true - /postcss/8.3.11: - resolution: {integrity: sha512-hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==} + /postcss/8.4.4: + resolution: {integrity: sha512-joU6fBsN6EIer28Lj6GDFoC/5yOZzLCfn0zHAn/MYXI7aPt4m4hK5KC5ovEZXy+lnCjmYIbQWngvju2ddyEr8Q==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.1.30 picocolors: 1.0.0 - source-map-js: 0.6.2 + source-map-js: 1.0.1 dev: true /prelude-ls/1.2.1: @@ -4037,8 +4037,8 @@ packages: engines: {node: '>= 0.8.0'} dev: true - /prettier/2.4.1: - resolution: {integrity: sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==} + /prettier/2.5.0: + resolution: {integrity: sha512-FM/zAKgWTxj40rH03VxzIPdXmj39SwSjwG0heUcNFwI+EMZJnY93yAiKXM3dObIKAM5TA88werc8T/EwhB45eg==} engines: {node: '>=10.13.0'} hasBin: true dev: true @@ -4108,8 +4108,8 @@ packages: tinycolor2: 1.4.2 dev: false - /react-hook-form/7.20.2_react@17.0.2: - resolution: {integrity: sha512-J5zkZW0Mf3KuMlk7Tl1tWYXoSjYhfKyEu//NfWTn2xzvv2vnDT5/EE/vHgtNb7kVeYpx6/mHIBd9aOfNnWcOsg==} + /react-hook-form/7.20.4_react@17.0.2: + resolution: {integrity: sha512-Nvy6TnNMlBoR+qS8FpA8lrqtGJ4uoi/MRYEgMEdBMY0HwHVuC7wB1sk6wTjg7FjOUt7QqMAP2W/vOhTWbKrtkQ==} engines: {node: '>=12.0'} peerDependencies: react: ^16.8.0 || ^17 @@ -4117,15 +4117,15 @@ packages: react: 17.0.2 dev: false - /react-i18next/11.14.2_i18next@21.5.2+react@17.0.2: - resolution: {integrity: sha512-fmDhwNA0zDmSEL3BBT5qwNMvxrKu25oXDDAZyHprfB0AHZmWXfBmRLf8MX8i1iBd2I2C2vsA2D9wxYBIwzooEQ==} + /react-i18next/11.14.3_i18next@21.5.3+react@17.0.2: + resolution: {integrity: sha512-Hf2aanbKgYxPjG8ZdKr+PBz9sY6sxXuZWizxCYyJD2YzvJ0W9JTQcddVEjDaKyBoCyd3+5HTerdhc9ehFugc6g==} peerDependencies: i18next: '>= 19.0.0' react: '>= 16.8.0' dependencies: '@babel/runtime': 7.16.3 html-parse-stringify: 3.0.1 - i18next: 21.5.2 + i18next: 21.5.3 react: 17.0.2 dev: false @@ -4188,8 +4188,8 @@ packages: react-is: 17.0.2 dev: false - /react-refresh/0.10.0: - resolution: {integrity: sha512-PgidR3wST3dDYKr6b4pJoqQFpPGNKDSCDx4cZoshjXipw3LzO7mG1My2pwEzz2JVkF+inx3xRpDeQLFQGH/hsQ==} + /react-refresh/0.11.0: + resolution: {integrity: sha512-F27qZr8uUqwhWZboondsPx8tnC3Ct3SxZA3V5WyEvujRyyNv0VYPhoBg1gZ8/MV5tubQp76Trw8lTv9hzRBa+A==} engines: {node: '>=0.10.0'} dev: true @@ -4208,8 +4208,8 @@ packages: picomatch: 2.3.0 dev: true - /redux-thunk/2.4.0_redux@4.1.2: - resolution: {integrity: sha512-/y6ZKQNU/0u8Bm7ROLq9Pt/7lU93cT0IucYMrubo89ENjxPa7i8pqLKu6V4X7/TvYovQ6x01unTeyeZ9lgXiTA==} + /redux-thunk/2.4.1_redux@4.1.2: + resolution: {integrity: sha512-OOYGNY5Jy2TWvTL1KgAlVy6dcx3siPJ1wTq741EPyUKfn6W6nChdICjZwCd0p8AZBs5kWpZlbkXW2nE/zjUa+Q==} peerDependencies: redux: ^4 dependencies: @@ -4283,8 +4283,8 @@ packages: engines: {node: '>=0.10.0'} dev: true - /reselect/4.1.4: - resolution: {integrity: sha512-i1LgXw8DKSU5qz1EV0ZIKz4yIUHJ7L3bODh+Da6HmVSm9vdL/hG7IpbgzQ3k2XSirzf8/eI7OMEs81gb1VV2fQ==} + /reselect/4.1.5: + resolution: {integrity: sha512-uVdlz8J7OO+ASpBYoz1Zypgx0KasCY20H+N8JD13oUMtPvSHQuscrHop4KbXrbsBcdB9Ds7lVK7eRkBIfO43vQ==} /resolve-from/4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} @@ -4326,22 +4326,22 @@ packages: glob: 7.2.0 dev: true - /rollup-plugin-terser/7.0.2_rollup@2.60.0: + /rollup-plugin-terser/7.0.2_rollup@2.60.1: resolution: {integrity: sha512-w3iIaU4OxcF52UUXiZNsNeuXIMDvFrr+ZXK6bFZ0Q60qyVfq4uLptoS4bbq3paG3x216eQllFZX7zt6TIImguQ==} peerDependencies: rollup: ^2.0.0 dependencies: '@babel/code-frame': 7.16.0 jest-worker: 26.6.2 - rollup: 2.60.0 + rollup: 2.60.1 serialize-javascript: 4.0.0 terser: 5.10.0 transitivePeerDependencies: - acorn dev: true - /rollup/2.60.0: - resolution: {integrity: sha512-cHdv9GWd58v58rdseC8e8XIaPUo8a9cgZpnCMMDGZFDZKEODOiPPEQFXLriWr/TjXzhPPmG5bkAztPsOARIcGQ==} + /rollup/2.60.1: + resolution: {integrity: sha512-akwfnpjY0rXEDSn1UTVfKXJhPsEBu+imi1gqBA1ZkHGydUnkV/fWCC90P7rDaLEW8KTwBcS1G3N4893Ndz+jwg==} engines: {node: '>=10.0.0'} hasBin: true optionalDependencies: @@ -4427,8 +4427,8 @@ packages: is-fullwidth-code-point: 3.0.0 dev: true - /source-map-js/0.6.2: - resolution: {integrity: sha512-/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==} + /source-map-js/1.0.1: + resolution: {integrity: sha512-4+TN2b3tqOCd/kaGRJ/sTYA0tR0mdXx26ipdolxcwtJVqEnqNYvlCAt1q3ypy4QMlYus+Zh34RNtYLoq2oQ4IA==} engines: {node: '>=0.10.0'} dev: true @@ -4572,14 +4572,14 @@ packages: resolution: {integrity: sha512-5DkIxeA7XERBqMwJq0aHZOdMadBx4e6eDoFRuyT5VR82J0Ycg2DwM6GfA/EQAhJ+toRTaS1lIdSQCqgrmhPnlw==} engines: {node: '>=10.0.0'} dependencies: - ajv: 8.8.1 + ajv: 8.8.2 lodash.truncate: 4.4.2 slice-ansi: 4.0.0 string-width: 4.2.3 strip-ansi: 6.0.1 dev: true - /tailwindcss/3.0.0-alpha.2_0c54bdadaf9d9c9c6c134cb2c6c061a3: + /tailwindcss/3.0.0-alpha.2_6b4e3d148bdcb715d5f821ed0a9c268b: resolution: {integrity: sha512-DLPLL927a05mhwTAPMPgSk1EFLAsWc0qmZeB1yHDSRAj/Bfn0nvdFTqj2u/8FnM5EiS20nsqCZ/HFfXzzaFOZg==} engines: {node: '>=12.13.0'} hasBin: true @@ -4588,7 +4588,7 @@ packages: postcss: ^8.0.9 dependencies: arg: 5.0.1 - autoprefixer: 10.4.0_postcss@8.3.11 + autoprefixer: 10.4.0_postcss@8.4.4 chalk: 4.1.2 chokidar: 3.5.2 color-name: 1.1.4 @@ -4601,10 +4601,10 @@ packages: is-glob: 4.0.3 normalize-path: 3.0.0 object-hash: 2.2.0 - postcss: 8.3.11 + postcss: 8.4.4 postcss-js: 3.0.3 postcss-load-config: 3.1.0 - postcss-nested: 5.0.6_postcss@8.3.11 + postcss-nested: 5.0.6_postcss@8.4.4 postcss-selector-parser: 6.0.6 postcss-value-parser: 4.1.0 quick-lru: 5.1.1 @@ -4809,8 +4809,9 @@ packages: punycode: 2.1.1 dev: true - /use-breakpoint/2.0.2_react-dom@17.0.2+react@17.0.2: - resolution: {integrity: sha512-xBZvpxPImdAz+gB5jAB6apmxBxE/qUXurk1FJWjJhUq2VAWMXq9sEwiBVLu0oJ1WgqJDJGRhn8eusVVcxDPjhg==} + /use-breakpoint/3.0.0_react-dom@17.0.2+react@17.0.2: + resolution: {integrity: sha512-YWP+3xRAqqr27l+bE1J/tvDOBf0rf/sEjQhWOICDfKvsloq9iKcQlm90F3mnAjk3YM/cgJXsscEeHGBm+7gzDg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} peerDependencies: react: '>=16.8' react-dom: '>=16.8' @@ -4832,16 +4833,16 @@ packages: resolution: {integrity: sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==} dev: true - /vite-plugin-pwa/0.11.6_vite@2.6.14: - resolution: {integrity: sha512-C95xVO8csEedN29aHszKjRSb/P7Odd6+tCP3LfjqQQkNRkZPieT6y8mS5MlEbs9V+8D+z4THD6ksYB5mzLTzPg==} + /vite-plugin-pwa/0.11.7_vite@2.6.14: + resolution: {integrity: sha512-sU+VrUNVP87E79GCCBTusdoiqja3Qapsrp48+xFDf28zaeNZ2nuuCoCIPshmyusGuY0I51wRFxiBjcbdheEBSw==} peerDependencies: vite: ^2.0.0 dependencies: chalk: 4.1.2 - debug: 4.3.2 + debug: 4.3.3 fast-glob: 3.2.7 pretty-bytes: 5.6.0 - rollup: 2.60.0 + rollup: 2.60.1 vite: 2.6.14 workbox-build: 6.4.1 workbox-window: 6.4.1 @@ -4867,10 +4868,10 @@ packages: stylus: optional: true dependencies: - esbuild: 0.13.14 - postcss: 8.3.11 + esbuild: 0.13.15 + postcss: 8.4.4 resolve: 1.20.0 - rollup: 2.60.0 + rollup: 2.60.1 optionalDependencies: fsevents: 2.3.2 dev: true @@ -4953,23 +4954,23 @@ packages: resolution: {integrity: sha512-cvH74tEO8SrziFrCntZ/35B0uaMZFKG+gnk3vZmKLSUTab/6MlhL+UwYXf1sMV5SD/W/v7pnFKZbdAOAg5Ne2w==} engines: {node: '>=10.0.0'} dependencies: - '@apideck/better-ajv-errors': 0.2.7_ajv@8.8.1 + '@apideck/better-ajv-errors': 0.2.7_ajv@8.8.2 '@babel/core': 7.16.0 '@babel/preset-env': 7.16.4_@babel+core@7.16.0 '@babel/runtime': 7.16.3 - '@rollup/plugin-babel': 5.3.0_@babel+core@7.16.0+rollup@2.60.0 - '@rollup/plugin-node-resolve': 11.2.1_rollup@2.60.0 - '@rollup/plugin-replace': 2.4.2_rollup@2.60.0 + '@rollup/plugin-babel': 5.3.0_@babel+core@7.16.0+rollup@2.60.1 + '@rollup/plugin-node-resolve': 11.2.1_rollup@2.60.1 + '@rollup/plugin-replace': 2.4.2_rollup@2.60.1 '@surma/rollup-plugin-off-main-thread': 2.2.3 - ajv: 8.8.1 + ajv: 8.8.2 common-tags: 1.8.2 fast-json-stable-stringify: 2.1.0 fs-extra: 9.1.0 glob: 7.2.0 lodash: 4.17.21 pretty-bytes: 5.6.0 - rollup: 2.60.0 - rollup-plugin-terser: 7.0.2_rollup@2.60.0 + rollup: 2.60.1 + rollup-plugin-terser: 7.0.2_rollup@2.60.1 source-map: 0.8.0-beta.0 source-map-url: 0.4.1 stringify-object: 3.3.0 diff --git a/src/components/connection/Serial.tsx b/src/components/connection/Serial.tsx index 7cb3e73e..318db691 100644 --- a/src/components/connection/Serial.tsx +++ b/src/components/connection/Serial.tsx @@ -38,7 +38,6 @@ export const Serial = (): JSX.Element => { => { - dispatch(setConnType(parseInt(e.target.value))); await setConnection(connType.SERIAL); }} icon={} diff --git a/src/core/slices/appSlice.ts b/src/core/slices/appSlice.ts index a5dc5dc5..2c53b6b3 100644 --- a/src/core/slices/appSlice.ts +++ b/src/core/slices/appSlice.ts @@ -74,17 +74,9 @@ export const appSlice = createSlice({ params: Types.ConnectionParameters; }>, ) { - switch (action.payload.type) { - case connType.BLE: - state.connectionParams.BLE = action.payload.params; - break; - case connType.HTTP: - state.connectionParams.HTTP = action.payload.params; - break; - case connType.SERIAL: - state.connectionParams.SERIAL = action.payload.params; - break; - } + // @ts-ignore tmp + state.connectionParams[connType[action.payload.type]] = + action.payload.params; }, }, }); diff --git a/src/core/slices/meshtasticSlice.ts b/src/core/slices/meshtasticSlice.ts index 86016f88..776560db 100644 --- a/src/core/slices/meshtasticSlice.ts +++ b/src/core/slices/meshtasticSlice.ts @@ -86,6 +86,8 @@ export const meshtasticSlice = createSlice({ node.user = action.payload.data; // todo: use rx time node.lastHeard = new Date(); + } else { + console.log('Node not in DB'); } }, addPosition: (state, action: PayloadAction) => { @@ -110,8 +112,6 @@ export const meshtasticSlice = createSlice({ node.lastHeard = new Date(action.payload.lastHeard * 1000); node.snr.push(action.payload.snr); } else { - console.log('node does not exist'); - state.nodes.push({ number: action.payload.num, lastHeard: new Date(action.payload.lastHeard * 1000), diff --git a/src/pages/Plugins/Index.tsx b/src/pages/Plugins/Index.tsx index 9dd44282..2f93530b 100644 --- a/src/pages/Plugins/Index.tsx +++ b/src/pages/Plugins/Index.tsx @@ -1,6 +1,12 @@ import type React from 'react'; -import { FiAlignLeft, FiBell, FiFileText, FiRss } from 'react-icons/fi'; +import { + FiAlignLeft, + FiBell, + FiFastForward, + FiFileText, + FiRss, +} from 'react-icons/fi'; import { PageLayout } from '@components/templates/PageLayout'; @@ -8,6 +14,7 @@ import { ExternalNotification } from './ExternalNotification'; import { Files } from './Files'; import { RangeTest } from './RangeTest'; import { Serial } from './Serial'; +import { StoreAndForward } from './StoreAndForward'; export const Plugins = (): JSX.Element => { return ( @@ -34,12 +41,18 @@ export const Plugins = (): JSX.Element => { description: 'Send serial data over the mesh', icon: , }, + { + title: 'Store & Forward', + description: 'Retrive message history', + icon: , + }, ]} panels={[ , , , , + , ]} /> ); diff --git a/src/pages/Plugins/StoreAndForward.tsx b/src/pages/Plugins/StoreAndForward.tsx new file mode 100644 index 00000000..be6df930 --- /dev/null +++ b/src/pages/Plugins/StoreAndForward.tsx @@ -0,0 +1,96 @@ +import React from 'react'; + +import { useForm, useWatch } from 'react-hook-form'; +import { FiMenu } from 'react-icons/fi'; + +import { useAppSelector } from '@app/hooks/redux'; +import { FormFooter } from '@components/FormFooter'; +import { Card } from '@components/generic/Card'; +import { Checkbox } from '@components/generic/form/Checkbox'; +import { Input } from '@components/generic/form/Input'; +import { IconButton } from '@components/generic/IconButton'; +import { PrimaryTemplate } from '@components/templates/PrimaryTemplate'; +import { connection } from '@core/connection'; +import type { RadioConfig_UserPreferences } from '@meshtastic/meshtasticjs/dist/generated'; + +export interface StoreAndForwardProps { + navOpen?: boolean; + setNavOpen?: React.Dispatch>; +} + +export const StoreAndForward = ({ + navOpen, + setNavOpen, +}: StoreAndForwardProps): JSX.Element => { + const preferences = useAppSelector( + (state) => state.meshtastic.radio.preferences, + ); + + const { register, handleSubmit, formState, reset, control } = + useForm({ + defaultValues: { + storeForwardPluginEnabled: preferences.storeForwardPluginEnabled, + storeForwardPluginRecords: preferences.storeForwardPluginRecords, + }, + }); + + React.useEffect(() => { + reset({ + storeForwardPluginEnabled: preferences.storeForwardPluginEnabled, + storeForwardPluginRecords: preferences.storeForwardPluginRecords, + }); + }, [reset, preferences]); + + const onSubmit = handleSubmit((data) => { + void connection.setPreferences(data); + }); + + const watchStoreForwardPluginEnabled = useWatch({ + control, + name: 'storeForwardPluginEnabled', + defaultValue: false, + }); + + return ( + } + onClick={(): void => { + setNavOpen && setNavOpen(!navOpen); + }} + /> + } + footer={ + + } + > +
+ +
+
+ + + +
+
+
+
+ ); +};