diff --git a/package.json b/package.json index a7e617af..d12e5d8e 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "scripts": { "start": "NODE_ENV=development snowpack dev", "build": "snowpack build", - "package": "gzipper c -i html,js,css,png,ico,svg,webmanifest build build/output && tar -cvf build/build.tar -C ./build/output/static/ $(ls ./build/output/static)", + "package": "gzipper c -i html,js,css,png,ico,svg,webmanifest build build/output && tar -cvf build/build.tar -C ./build/output/ $(ls ./build/output/)", "format": "prettier --write 'src/**/*.{ts,tsx}'", "lint": "eslint 'src/**/*.{ts,tsx}'" }, @@ -17,7 +17,7 @@ "@reduxjs/toolkit": "^1.6.2", "apexcharts": "^3.28.3", "boring-avatars": "^1.5.8", - "i18next": "^21.2.4", + "i18next": "^21.2.6", "i18next-browser-languagedetector": "^6.1.2", "moment": "^2.29.1", "react": "^17.0.2", @@ -44,7 +44,7 @@ "@verypossible/eslint-config": "^1.6.1", "autoprefixer": "^10.3.7", "babel-plugin-module-resolver": "^4.1.0", - "eslint": "^7.32.0", + "eslint": "^8.0.0", "eslint-config-prettier": "^8.3.0", "eslint-import-resolver-babel-module": "^5.3.1", "eslint-import-resolver-typescript": "^2.5.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1097e80d..5e4bfa12 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -20,7 +20,7 @@ specifiers: autoprefixer: ^10.3.7 babel-plugin-module-resolver: ^4.1.0 boring-avatars: ^1.5.8 - eslint: ^7.32.0 + eslint: ^8.0.0 eslint-config-prettier: ^8.3.0 eslint-import-resolver-babel-module: ^5.3.1 eslint-import-resolver-typescript: ^2.5.0 @@ -28,7 +28,7 @@ specifiers: eslint-plugin-react: ^7.26.1 eslint-plugin-react-hooks: ^4.2.0 gzipper: ^5.0.1 - i18next: ^21.2.4 + i18next: ^21.2.6 i18next-browser-languagedetector: ^6.1.2 moment: ^2.29.1 postcss: ^8.3.9 @@ -54,7 +54,7 @@ dependencies: '@reduxjs/toolkit': 1.6.2_react-redux@7.2.5+react@17.0.2 apexcharts: 3.28.3 boring-avatars: 1.5.8 - i18next: 21.2.4 + i18next: 21.2.6 i18next-browser-languagedetector: 6.1.2 moment: 2.29.1 react: 17.0.2 @@ -62,7 +62,7 @@ dependencies: react-dom: 17.0.2_react@17.0.2 react-flags-select: 2.1.2_react-dom@17.0.2+react@17.0.2 react-hook-form: 7.17.2_react@17.0.2 - react-i18next: 11.12.0_i18next@21.2.4+react@17.0.2 + react-i18next: 11.12.0_i18next@21.2.6+react@17.0.2 react-redux: 7.2.5_react-dom@17.0.2+react@17.0.2 type-route: 0.6.0 use-breakpoint: 2.0.2_react-dom@17.0.2+react@17.0.2 @@ -76,18 +76,18 @@ devDependencies: '@types/react-dom': 17.0.9 '@types/react-redux': 7.1.19 '@types/snowpack-env': 2.3.4 - '@typescript-eslint/eslint-plugin': 4.33.0_d753869925cce96d3eb2141eeedafe57 - '@typescript-eslint/parser': 4.33.0_eslint@7.32.0+typescript@4.4.3 + '@typescript-eslint/eslint-plugin': 4.33.0_09137341fc1e2b64b3a2a80b526ae803 + '@typescript-eslint/parser': 4.33.0_eslint@8.0.0+typescript@4.4.3 '@verypossible/eslint-config': 1.6.1_typescript@4.4.3 autoprefixer: 10.3.7_postcss@8.3.9 babel-plugin-module-resolver: 4.1.0 - eslint: 7.32.0 - eslint-config-prettier: 8.3.0_eslint@7.32.0 + eslint: 8.0.0 + eslint-config-prettier: 8.3.0_eslint@8.0.0 eslint-import-resolver-babel-module: 5.3.1_e51044130ac762fd207a8cd2109b5344 - eslint-import-resolver-typescript: 2.5.0_b7a4de75e7d0094cbe979e30a9a325ab - eslint-plugin-import: 2.24.2_eslint@7.32.0 - eslint-plugin-react: 7.26.1_eslint@7.32.0 - eslint-plugin-react-hooks: 4.2.0_eslint@7.32.0 + eslint-import-resolver-typescript: 2.5.0_4037f6cf62ed6e95b8492c2ccc3d744a + eslint-plugin-import: 2.24.2_eslint@8.0.0 + eslint-plugin-react: 7.26.1_eslint@8.0.0 + eslint-plugin-react-hooks: 4.2.0_eslint@8.0.0 gzipper: 5.0.1 postcss: 8.3.9 prettier: 2.4.1 @@ -354,6 +354,23 @@ packages: - supports-color dev: true + /@eslint/eslintrc/1.0.2: + resolution: {integrity: sha512-x1ZXdEFsvTcnbTZgqcWUL9w2ybgZCw/qbKTPQnab+XnYA2bMQpJCh+/bBzCRfDJaJdlrrQlOk49jNtru9gL/6Q==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.2 + espree: 9.0.0 + globals: 13.11.0 + ignore: 4.0.6 + import-fresh: 3.3.0 + js-yaml: 3.14.1 + minimatch: 3.0.4 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + /@gar/promisify/1.1.2: resolution: {integrity: sha512-82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==} dev: true @@ -388,6 +405,17 @@ packages: - supports-color dev: true + /@humanwhocodes/config-array/0.6.0: + resolution: {integrity: sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 1.2.0 + debug: 4.3.2 + minimatch: 3.0.4 + transitivePeerDependencies: + - supports-color + dev: true + /@humanwhocodes/object-schema/1.2.0: resolution: {integrity: sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==} dev: true @@ -802,6 +830,32 @@ packages: resolution: {integrity: sha512-zYzMb2aMyzXW5VgOQHy+FgI8N5tLFb+tIsUqk35CIgSr9pT4pji2GR8BCOTMdniusVuRHIp/DaYQNQGYGLVZHQ==} dev: true + /@typescript-eslint/eslint-plugin/4.33.0_09137341fc1e2b64b3a2a80b526ae803: + resolution: {integrity: sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==} + engines: {node: ^10.12.0 || >=12.0.0} + peerDependencies: + '@typescript-eslint/parser': ^4.0.0 + eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/experimental-utils': 4.33.0_eslint@8.0.0+typescript@4.4.3 + '@typescript-eslint/parser': 4.33.0_eslint@8.0.0+typescript@4.4.3 + '@typescript-eslint/scope-manager': 4.33.0 + debug: 4.3.2 + eslint: 8.0.0 + functional-red-black-tree: 1.0.1 + ignore: 5.1.8 + regexpp: 3.2.0 + semver: 7.3.5 + tsutils: 3.21.0_typescript@4.4.3 + typescript: 4.4.3 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/eslint-plugin/4.33.0_d753869925cce96d3eb2141eeedafe57: resolution: {integrity: sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -846,6 +900,24 @@ packages: - typescript dev: true + /@typescript-eslint/experimental-utils/4.33.0_eslint@8.0.0+typescript@4.4.3: + resolution: {integrity: sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==} + engines: {node: ^10.12.0 || >=12.0.0} + peerDependencies: + eslint: '*' + dependencies: + '@types/json-schema': 7.0.9 + '@typescript-eslint/scope-manager': 4.33.0 + '@typescript-eslint/types': 4.33.0 + '@typescript-eslint/typescript-estree': 4.33.0_typescript@4.4.3 + eslint: 8.0.0 + eslint-scope: 5.1.1 + eslint-utils: 3.0.0_eslint@8.0.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + /@typescript-eslint/parser/4.33.0_eslint@7.32.0+typescript@4.4.3: resolution: {integrity: sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==} engines: {node: ^10.12.0 || >=12.0.0} @@ -866,6 +938,26 @@ packages: - supports-color dev: true + /@typescript-eslint/parser/4.33.0_eslint@8.0.0+typescript@4.4.3: + resolution: {integrity: sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==} + engines: {node: ^10.12.0 || >=12.0.0} + peerDependencies: + eslint: ^5.0.0 || ^6.0.0 || ^7.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 4.33.0 + '@typescript-eslint/types': 4.33.0 + '@typescript-eslint/typescript-estree': 4.33.0_typescript@4.4.3 + debug: 4.3.2 + eslint: 8.0.0 + typescript: 4.4.3 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/scope-manager/4.33.0: resolution: {integrity: sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==} engines: {node: ^8.10.0 || ^10.13.0 || >=11.10.1} @@ -940,6 +1032,14 @@ packages: acorn: 7.4.1 dev: true + /acorn-jsx/5.3.2_acorn@8.5.0: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.5.0 + dev: true + /acorn-node/1.8.2: resolution: {integrity: sha512-8mt+fslDufLYntIoPAaIMUe/lrbrehIiwmR3t2k9LljIzoigEPF27eLk2hy8zSGzmR/ogr7zbRKINMo1u0yh5A==} dependencies: @@ -959,6 +1059,12 @@ packages: hasBin: true dev: true + /acorn/8.5.0: + resolution: {integrity: sha512-yXbYeFy+jUuYd3/CDcg2NkIYE991XYX/bje7LmjJigUciaeO1JR4XxXgCIV1/Zc/dRuFEyw1L0pbA+qynJkW5Q==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + /address/1.1.2: resolution: {integrity: sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==} engines: {node: '>= 0.12.0'} @@ -1079,6 +1185,10 @@ packages: sprintf-js: 1.0.3 dev: true + /argparse/2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + /array-includes/3.1.4: resolution: {integrity: sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==} engines: {node: '>= 0.4'} @@ -1254,7 +1364,7 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001265 - electron-to-chromium: 1.3.863 + electron-to-chromium: 1.3.864 escalade: 3.1.1 node-releases: 1.1.77 picocolors: 0.2.1 @@ -1375,7 +1485,7 @@ packages: resolution: {integrity: sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==} dependencies: css-select: 4.1.3 - css-what: 5.0.1 + css-what: 5.1.0 domelementtype: 2.2.0 domhandler: 4.2.2 domutils: 2.8.0 @@ -1567,7 +1677,7 @@ packages: resolution: {integrity: sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==} dependencies: boolbase: 1.0.0 - css-what: 5.0.1 + css-what: 5.1.0 domhandler: 4.2.2 domutils: 2.8.0 nth-check: 2.0.1 @@ -1577,8 +1687,8 @@ packages: resolution: {integrity: sha512-IiJwMC8rdZE0+xiEZHeru6YoONC4rfPMqGm2W85jMIbkFvv5nFTwJVFHam2eFrN6txmoUYFAFXiv8ICVeTO0MA==} dev: true - /css-what/5.0.1: - resolution: {integrity: sha512-FYDTSHb/7KXsWICVsxdmiExPjCfRC4qRFBdVwv7Ax9hMnvMmEjP9RfxTEZ3qPZGmADDn2vAKSo9UcN1jKVYscg==} + /css-what/5.1.0: + resolution: {integrity: sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==} engines: {node: '>= 6'} dev: true @@ -1804,8 +1914,8 @@ packages: safer-buffer: 2.1.2 dev: true - /electron-to-chromium/1.3.863: - resolution: {integrity: sha512-C+dLP4xM1DCqvEUjtqCGhd6DJGnXq1t03QR2ZxEWUQPkaXxDlzPUyWsSh17LHLQBEfmBCRfTbA3LpjiVikWsxg==} + /electron-to-chromium/1.3.864: + resolution: {integrity: sha512-v4rbad8GO6/yVI92WOeU9Wgxc4NA0n4f6P1FvZTY+jyY7JHEhw3bduYu60v3Q1h81Cg6eo4ApZrFPuycwd5hGw==} dev: true /emoji-regex/8.0.0: @@ -1967,6 +2077,15 @@ packages: eslint: 7.32.0 dev: true + /eslint-config-prettier/8.3.0_eslint@8.0.0: + resolution: {integrity: sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.0.0 + dev: true + /eslint-import-resolver-babel-module/5.3.1_e51044130ac762fd207a8cd2109b5344: resolution: {integrity: sha512-WomQAkjO7lUNOdU3FG2zgNgylkoAVUmaw04bHgSpM9QrMWuOLLWa2qcP6CrsBd4VWuLRbUPyzrgBc9ZQIx9agw==} engines: {node: '>=10.0.0'} @@ -1986,6 +2105,24 @@ packages: resolve: 1.20.0 dev: true + /eslint-import-resolver-typescript/2.5.0_4037f6cf62ed6e95b8492c2ccc3d744a: + resolution: {integrity: sha512-qZ6e5CFr+I7K4VVhQu3M/9xGv9/YmwsEXrsm3nimw8vWaVHRDrQRp26BgCypTxBp3vUp4o5aVEJRiy0F2DFddQ==} + engines: {node: '>=4'} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + dependencies: + debug: 4.3.2 + eslint: 8.0.0 + eslint-plugin-import: 2.24.2_eslint@8.0.0 + glob: 7.2.0 + is-glob: 4.0.3 + resolve: 1.20.0 + tsconfig-paths: 3.11.0 + transitivePeerDependencies: + - supports-color + dev: true + /eslint-import-resolver-typescript/2.5.0_b7a4de75e7d0094cbe979e30a9a325ab: resolution: {integrity: sha512-qZ6e5CFr+I7K4VVhQu3M/9xGv9/YmwsEXrsm3nimw8vWaVHRDrQRp26BgCypTxBp3vUp4o5aVEJRiy0F2DFddQ==} engines: {node: '>=4'} @@ -2036,6 +2173,30 @@ packages: tsconfig-paths: 3.11.0 dev: true + /eslint-plugin-import/2.24.2_eslint@8.0.0: + resolution: {integrity: sha512-hNVtyhiEtZmpsabL4neEj+6M5DCLgpYyG9nzJY8lZQeQXEn5UPW1DpUdsMHMXsq98dbNm7nt1w9ZMSVpfJdi8Q==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 + dependencies: + array-includes: 3.1.4 + array.prototype.flat: 1.2.5 + debug: 2.6.9 + doctrine: 2.1.0 + eslint: 8.0.0 + eslint-import-resolver-node: 0.3.6 + eslint-module-utils: 2.6.2 + find-up: 2.1.0 + has: 1.0.3 + is-core-module: 2.7.0 + minimatch: 3.0.4 + object.values: 1.1.5 + pkg-up: 2.0.0 + read-pkg-up: 3.0.0 + resolve: 1.20.0 + tsconfig-paths: 3.11.0 + dev: true + /eslint-plugin-react-hooks/4.2.0_eslint@7.32.0: resolution: {integrity: sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==} engines: {node: '>=10'} @@ -2045,6 +2206,15 @@ packages: eslint: 7.32.0 dev: true + /eslint-plugin-react-hooks/4.2.0_eslint@8.0.0: + resolution: {integrity: sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 + dependencies: + eslint: 8.0.0 + dev: true + /eslint-plugin-react/7.26.1_eslint@7.32.0: resolution: {integrity: sha512-Lug0+NOFXeOE+ORZ5pbsh6mSKjBKXDXItUD2sQoT+5Yl0eoT82DqnXeTMfUare4QVCn9QwXbfzO/dBLjLXwVjQ==} engines: {node: '>=4'} @@ -2068,6 +2238,29 @@ packages: string.prototype.matchall: 4.0.6 dev: true + /eslint-plugin-react/7.26.1_eslint@8.0.0: + resolution: {integrity: sha512-Lug0+NOFXeOE+ORZ5pbsh6mSKjBKXDXItUD2sQoT+5Yl0eoT82DqnXeTMfUare4QVCn9QwXbfzO/dBLjLXwVjQ==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 + dependencies: + array-includes: 3.1.4 + array.prototype.flatmap: 1.2.5 + doctrine: 2.1.0 + eslint: 8.0.0 + estraverse: 5.2.0 + jsx-ast-utils: 3.2.1 + minimatch: 3.0.4 + object.entries: 1.1.5 + object.fromentries: 2.0.5 + object.hasown: 1.1.0 + object.values: 1.1.5 + prop-types: 15.7.2 + resolve: 2.0.0-next.3 + semver: 6.3.0 + string.prototype.matchall: 4.0.6 + dev: true + /eslint-scope/5.1.1: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} @@ -2076,6 +2269,14 @@ packages: estraverse: 4.3.0 dev: true + /eslint-scope/6.0.0: + resolution: {integrity: sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.2.0 + dev: true + /eslint-utils/2.1.0: resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} engines: {node: '>=6'} @@ -2093,6 +2294,16 @@ packages: eslint-visitor-keys: 2.1.0 dev: true + /eslint-utils/3.0.0_eslint@8.0.0: + resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} + engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} + peerDependencies: + eslint: '>=5' + dependencies: + eslint: 8.0.0 + eslint-visitor-keys: 2.1.0 + dev: true + /eslint-visitor-keys/1.3.0: resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} engines: {node: '>=4'} @@ -2103,6 +2314,11 @@ packages: engines: {node: '>=10'} dev: true + /eslint-visitor-keys/3.0.0: + resolution: {integrity: sha512-mJOZa35trBTb3IyRmo8xmKBZlxf+N7OnUl4+ZhJHs/r+0770Wh/LEACE2pqMGMe27G/4y8P2bYGk4J70IC5k1Q==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + /eslint/7.32.0: resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} engines: {node: ^10.12.0 || >=12.0.0} @@ -2152,6 +2368,53 @@ packages: - supports-color dev: true + /eslint/8.0.0: + resolution: {integrity: sha512-03spzPzMAO4pElm44m60Nj08nYonPGQXmw6Ceai/S4QK82IgwWO1EXx1s9namKzVlbVu3Jf81hb+N+8+v21/HQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint/eslintrc': 1.0.2 + '@humanwhocodes/config-array': 0.6.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.2 + 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.0.0 + eslint-visitor-keys: 3.0.0 + espree: 9.0.0 + esquery: 1.4.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + functional-red-black-tree: 1.0.1 + glob-parent: 6.0.2 + globals: 13.11.0 + ignore: 4.0.6 + import-fresh: 3.3.0 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + js-yaml: 4.1.0 + json-stable-stringify-without-jsonify: 1.0.1 + levn: 0.4.1 + lodash.merge: 4.6.2 + minimatch: 3.0.4 + natural-compare: 1.4.0 + optionator: 0.9.1 + progress: 2.0.3 + regexpp: 3.2.0 + semver: 7.3.5 + strip-ansi: 6.0.1 + strip-json-comments: 3.1.1 + text-table: 0.2.0 + v8-compile-cache: 2.3.0 + transitivePeerDependencies: + - supports-color + dev: true + /espree/7.3.1: resolution: {integrity: sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==} engines: {node: ^10.12.0 || >=12.0.0} @@ -2161,6 +2424,15 @@ packages: eslint-visitor-keys: 1.3.0 dev: true + /espree/9.0.0: + resolution: {integrity: sha512-r5EQJcYZ2oaGbeR0jR0fFVijGOcwai07/690YRXLINuhmVeRY4UKSAsQPe/0BNuDgwP7Ophoc1PRsr2E3tkbdQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.5.0 + acorn-jsx: 5.3.2_acorn@8.5.0 + eslint-visitor-keys: 3.0.0 + dev: true + /esprima/4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} @@ -2714,8 +2986,8 @@ packages: '@babel/runtime': 7.15.4 dev: false - /i18next/21.2.4: - resolution: {integrity: sha512-+81XmiwJOLWJFjRZJK5ASFahAo5TXZGz5IrBT4CfLJ3CyXho61A1cj1Kmh8za8TYtGFou0cEkUSjEaqfya7Wfg==} + /i18next/21.2.6: + resolution: {integrity: sha512-xnCodgPo1ASLfdPs2/GS8jQFqQsaWrQKdsqfYgf5juANavIos4kjahgBkrMU8SUCn2kv7TSssfnyVu5LZjBWXw==} dependencies: '@babel/runtime': 7.15.4 dev: false @@ -3070,6 +3342,13 @@ packages: esprima: 4.0.1 dev: true + /js-yaml/4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + /jsbn/0.1.1: resolution: {integrity: sha1-peZUwuWi3rXyAdls77yoDA7y9RM=} dev: true @@ -4277,7 +4556,7 @@ packages: react: 17.0.2 dev: false - /react-i18next/11.12.0_i18next@21.2.4+react@17.0.2: + /react-i18next/11.12.0_i18next@21.2.6+react@17.0.2: resolution: {integrity: sha512-M9BT+hqVG03ywrl+L7CK74ugK+4jIo7AeKJ17+g9BoqJz2+/aVbs8SIVXT4KMQ1rjIdcw+GcSRDy1CXjcz6tLQ==} peerDependencies: i18next: '>= 19.0.0' @@ -4285,7 +4564,7 @@ packages: dependencies: '@babel/runtime': 7.15.4 html-parse-stringify: 3.0.1 - i18next: 21.2.4 + i18next: 21.2.6 react: 17.0.2 dev: false diff --git a/public/index.html b/public/index.html index 74ef589e..3dc4db7d 100644 --- a/public/index.html +++ b/public/index.html @@ -2,26 +2,12 @@
- - - - - - + + + + + + @@ -47,6 +33,6 @@ - + diff --git a/public/site.webmanifest b/public/site.webmanifest index 2985e3e0..fd3e774c 100644 --- a/public/site.webmanifest +++ b/public/site.webmanifest @@ -5,12 +5,12 @@ "description": "Meshtastic web app", "icons": [ { - "src": "/static/android-192.png", + "src": "/android-192.png", "sizes": "192x192", "type": "image/png" }, { - "src": "/static/android-512.png", + "src": "/android-512.png", "sizes": "512x512", "type": "image/png" } diff --git a/snowpack.config.mjs b/snowpack.config.mjs index 1a9a1c7a..5c5b60c3 100644 --- a/snowpack.config.mjs +++ b/snowpack.config.mjs @@ -1,8 +1,8 @@ /** @type {import("snowpack").SnowpackUserConfig } */ export default { mount: { - public: { url: '/static' }, - src: { url: '/static' }, + public: { url: '/' }, + src: { url: '/' }, }, plugins: [ '@snowpack/plugin-react-refresh', diff --git a/src/App.tsx b/src/App.tsx index c20117c0..faf70e67 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -27,6 +27,8 @@ import { Messages } from '@pages/Messages'; import { Nodes } from '@pages/Nodes/Index'; import { Settings } from '@pages/settings/Index'; +import { NotFound } from './pages/NotFound'; + const App = (): JSX.Element => { const dispatch = useAppDispatch(); const route = useRoute(); @@ -159,7 +161,7 @@ const App = (): JSX.Element => { {route.name === 'nodes' &&