Update protobufs
This commit is contained in:
+3
-3
@@ -22,7 +22,7 @@
|
|||||||
"@emeraldpay/hashicon-react": "^0.5.2",
|
"@emeraldpay/hashicon-react": "^0.5.2",
|
||||||
"@hookform/resolvers": "^2.9.7",
|
"@hookform/resolvers": "^2.9.7",
|
||||||
"@meshtastic/eslint-config": "^1.0.8",
|
"@meshtastic/eslint-config": "^1.0.8",
|
||||||
"@meshtastic/meshtasticjs": "^0.6.97",
|
"@meshtastic/meshtasticjs": "^0.6.98",
|
||||||
"base64-js": "^1.5.1",
|
"base64-js": "^1.5.1",
|
||||||
"class-transformer": "^0.5.1",
|
"class-transformer": "^0.5.1",
|
||||||
"class-validator": "^0.13.2",
|
"class-validator": "^0.13.2",
|
||||||
@@ -46,7 +46,7 @@
|
|||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@types/chrome": "^0.0.196",
|
"@types/chrome": "^0.0.196",
|
||||||
"@types/geodesy": "^2.2.3",
|
"@types/geodesy": "^2.2.3",
|
||||||
"@types/node": "^18.7.15",
|
"@types/node": "^18.7.16",
|
||||||
"@types/react": "^18.0.18",
|
"@types/react": "^18.0.18",
|
||||||
"@types/react-dom": "^18.0.6",
|
"@types/react-dom": "^18.0.6",
|
||||||
"@types/w3c-web-serial": "^1.0.2",
|
"@types/w3c-web-serial": "^1.0.2",
|
||||||
@@ -56,7 +56,7 @@
|
|||||||
"rollup-plugin-visualizer": "^5.8.1",
|
"rollup-plugin-visualizer": "^5.8.1",
|
||||||
"tar": "^6.1.11",
|
"tar": "^6.1.11",
|
||||||
"tslib": "^2.4.0",
|
"tslib": "^2.4.0",
|
||||||
"typescript": "^4.8.2",
|
"typescript": "^4.8.3",
|
||||||
"vite": "^3.1.0",
|
"vite": "^3.1.0",
|
||||||
"vite-plugin-environment": "^1.1.2"
|
"vite-plugin-environment": "^1.1.2"
|
||||||
}
|
}
|
||||||
|
|||||||
Generated
+55
-55
@@ -4,10 +4,10 @@ specifiers:
|
|||||||
'@emeraldpay/hashicon-react': ^0.5.2
|
'@emeraldpay/hashicon-react': ^0.5.2
|
||||||
'@hookform/resolvers': ^2.9.7
|
'@hookform/resolvers': ^2.9.7
|
||||||
'@meshtastic/eslint-config': ^1.0.8
|
'@meshtastic/eslint-config': ^1.0.8
|
||||||
'@meshtastic/meshtasticjs': ^0.6.97
|
'@meshtastic/meshtasticjs': ^0.6.98
|
||||||
'@types/chrome': ^0.0.196
|
'@types/chrome': ^0.0.196
|
||||||
'@types/geodesy': ^2.2.3
|
'@types/geodesy': ^2.2.3
|
||||||
'@types/node': ^18.7.15
|
'@types/node': ^18.7.16
|
||||||
'@types/react': ^18.0.18
|
'@types/react': ^18.0.18
|
||||||
'@types/react-dom': ^18.0.6
|
'@types/react-dom': ^18.0.6
|
||||||
'@types/w3c-web-serial': ^1.0.2
|
'@types/w3c-web-serial': ^1.0.2
|
||||||
@@ -35,7 +35,7 @@ specifiers:
|
|||||||
rollup-plugin-visualizer: ^5.8.1
|
rollup-plugin-visualizer: ^5.8.1
|
||||||
tar: ^6.1.11
|
tar: ^6.1.11
|
||||||
tslib: ^2.4.0
|
tslib: ^2.4.0
|
||||||
typescript: ^4.8.2
|
typescript: ^4.8.3
|
||||||
vite: ^3.1.0
|
vite: ^3.1.0
|
||||||
vite-plugin-environment: ^1.1.2
|
vite-plugin-environment: ^1.1.2
|
||||||
zustand: 4.1.1
|
zustand: 4.1.1
|
||||||
@@ -44,7 +44,7 @@ dependencies:
|
|||||||
'@emeraldpay/hashicon-react': 0.5.2
|
'@emeraldpay/hashicon-react': 0.5.2
|
||||||
'@hookform/resolvers': 2.9.7_react-hook-form@7.34.2
|
'@hookform/resolvers': 2.9.7_react-hook-form@7.34.2
|
||||||
'@meshtastic/eslint-config': 1.0.8
|
'@meshtastic/eslint-config': 1.0.8
|
||||||
'@meshtastic/meshtasticjs': 0.6.97
|
'@meshtastic/meshtasticjs': 0.6.98
|
||||||
base64-js: 1.5.1
|
base64-js: 1.5.1
|
||||||
class-transformer: 0.5.1
|
class-transformer: 0.5.1
|
||||||
class-validator: 0.13.2
|
class-validator: 0.13.2
|
||||||
@@ -68,7 +68,7 @@ dependencies:
|
|||||||
devDependencies:
|
devDependencies:
|
||||||
'@types/chrome': 0.0.196
|
'@types/chrome': 0.0.196
|
||||||
'@types/geodesy': 2.2.3
|
'@types/geodesy': 2.2.3
|
||||||
'@types/node': 18.7.15
|
'@types/node': 18.7.16
|
||||||
'@types/react': 18.0.18
|
'@types/react': 18.0.18
|
||||||
'@types/react-dom': 18.0.6
|
'@types/react-dom': 18.0.6
|
||||||
'@types/w3c-web-serial': 1.0.2
|
'@types/w3c-web-serial': 1.0.2
|
||||||
@@ -78,7 +78,7 @@ devDependencies:
|
|||||||
rollup-plugin-visualizer: 5.8.1
|
rollup-plugin-visualizer: 5.8.1
|
||||||
tar: 6.1.11
|
tar: 6.1.11
|
||||||
tslib: 2.4.0
|
tslib: 2.4.0
|
||||||
typescript: 4.8.2
|
typescript: 4.8.3
|
||||||
vite: 3.1.0
|
vite: 3.1.0
|
||||||
vite-plugin-environment: 1.1.2_vite@3.1.0
|
vite-plugin-environment: 1.1.2_vite@3.1.0
|
||||||
|
|
||||||
@@ -524,28 +524,28 @@ packages:
|
|||||||
/@meshtastic/eslint-config/1.0.8:
|
/@meshtastic/eslint-config/1.0.8:
|
||||||
resolution: {integrity: sha512-Jzwaf3TyYFGeFuxLRQA5Yj5Rmz097VleFQUkswXH9nvLO81JjJbHgJWbHQ6RpxC31q/2hWV03QdaH98swpYcQA==}
|
resolution: {integrity: sha512-Jzwaf3TyYFGeFuxLRQA5Yj5Rmz097VleFQUkswXH9nvLO81JjJbHgJWbHQ6RpxC31q/2hWV03QdaH98swpYcQA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/eslint-plugin': 5.36.2_iurrlxgqcgk5svigzxakafpeuu
|
'@typescript-eslint/eslint-plugin': 5.36.2_2l2r3i3lm6jysqd4ac3ql4n2mm
|
||||||
'@typescript-eslint/parser': 5.36.2_yqf6kl63nyoq5megxukfnom5rm
|
'@typescript-eslint/parser': 5.36.2_itqs5654cmlnjraw6gjzqacppi
|
||||||
eslint: 8.23.0
|
eslint: 8.23.0
|
||||||
eslint-config-prettier: 8.5.0_eslint@8.23.0
|
eslint-config-prettier: 8.5.0_eslint@8.23.0
|
||||||
eslint-import-resolver-typescript: 2.7.1_faomjyrlgqmwswvqymymzkxcqi
|
eslint-import-resolver-typescript: 2.7.1_faomjyrlgqmwswvqymymzkxcqi
|
||||||
eslint-plugin-eslint-comments: 3.2.0_eslint@8.23.0
|
eslint-plugin-eslint-comments: 3.2.0_eslint@8.23.0
|
||||||
eslint-plugin-import: 2.26.0_ijmu6epd3rsbb7y7umh7oqxvja
|
eslint-plugin-import: 2.26.0_ijmu6epd3rsbb7y7umh7oqxvja
|
||||||
eslint-plugin-react: 7.31.7_eslint@8.23.0
|
eslint-plugin-react: 7.31.8_eslint@8.23.0
|
||||||
eslint-plugin-react-hooks: 4.6.0_eslint@8.23.0
|
eslint-plugin-react-hooks: 4.6.0_eslint@8.23.0
|
||||||
prettier: 2.7.1
|
prettier: 2.7.1
|
||||||
prettier-plugin-tailwindcss: 0.1.13_prettier@2.7.1
|
prettier-plugin-tailwindcss: 0.1.13_prettier@2.7.1
|
||||||
typescript: 4.8.2
|
typescript: 4.8.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- eslint-import-resolver-webpack
|
- eslint-import-resolver-webpack
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@meshtastic/meshtasticjs/0.6.97:
|
/@meshtastic/meshtasticjs/0.6.98:
|
||||||
resolution: {integrity: sha512-r1QEQLn560VD+R/AE/xXNjh95ksSwfZdocmotJ3A0yQqw+JxOIcZ6ku8ZhXYPYmjhPGo6bxFb6FlvIRB/7xdwA==}
|
resolution: {integrity: sha512-ZEG0q2ZSfBqoS49ESjrnDou3NGZozd8/So586FtTB96J1RsQuWukZJu3vE1eWvzQ1yP3Oweg14s+Wycq1J2yTA==}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@meshtastic/eslint-config': 1.0.8
|
'@meshtastic/eslint-config': 1.0.8
|
||||||
'@protobuf-ts/runtime': 2.8.0
|
'@protobuf-ts/runtime': 2.8.1
|
||||||
'@serialport/stream': 10.3.0
|
'@serialport/stream': 10.3.0
|
||||||
prettier: 2.7.1
|
prettier: 2.7.1
|
||||||
serialport: 10.4.0
|
serialport: 10.4.0
|
||||||
@@ -576,8 +576,8 @@ packages:
|
|||||||
fastq: 1.13.0
|
fastq: 1.13.0
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@protobuf-ts/runtime/2.8.0:
|
/@protobuf-ts/runtime/2.8.1:
|
||||||
resolution: {integrity: sha512-70LH3oLG5E608jTP+v4nYyinvrpEgkGy0p8gJsog3fwlEuJgARldOQAk+ci5StZUOXHB7MVw0vZ/T0shqIe/pw==}
|
resolution: {integrity: sha512-D9M5hSumYCovIfNllt7N6ODh4q+LrjiMWtNETvooaf+a2XheZJ7kgjFlsFghti0CFWwtA//of4JXQfw9hU+cCw==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@segment/react-tiny-virtual-list/2.2.1_react@18.2.0:
|
/@segment/react-tiny-virtual-list/2.2.1_react@18.2.0:
|
||||||
@@ -766,8 +766,8 @@ packages:
|
|||||||
'@types/pbf': 3.0.2
|
'@types/pbf': 3.0.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@types/node/18.7.15:
|
/@types/node/18.7.16:
|
||||||
resolution: {integrity: sha512-XnjpaI8Bgc3eBag2Aw4t2Uj/49lLBSStHWfqKvIuXD7FIrZyMLWp8KuAFHAqxMZYTF9l08N1ctUn9YNybZJVmQ==}
|
resolution: {integrity: sha512-EQHhixfu+mkqHMZl1R2Ovuvn47PUw18azMJOTwSZr9/fhzHNGXAJ0ma0dayRVchprpCj0Kc1K1xKoWaATWF1qg==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@types/pbf/3.0.2:
|
/@types/pbf/3.0.2:
|
||||||
@@ -815,7 +815,7 @@ packages:
|
|||||||
resolution: {integrity: sha512-w7hEHXnPMEZ+4nGKl/KDRVpxkwYxYExuHOYXyzIzCDzEZ9ZCGMAewulr9IqJu2LR4N37fcnb1XVeuZ09qgOxhA==}
|
resolution: {integrity: sha512-w7hEHXnPMEZ+4nGKl/KDRVpxkwYxYExuHOYXyzIzCDzEZ9ZCGMAewulr9IqJu2LR4N37fcnb1XVeuZ09qgOxhA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/@typescript-eslint/eslint-plugin/5.36.2_iurrlxgqcgk5svigzxakafpeuu:
|
/@typescript-eslint/eslint-plugin/5.36.2_2l2r3i3lm6jysqd4ac3ql4n2mm:
|
||||||
resolution: {integrity: sha512-OwwR8LRwSnI98tdc2z7mJYgY60gf7I9ZfGjN5EjCwwns9bdTuQfAXcsjSB2wSQ/TVNYSGKf4kzVXbNGaZvwiXw==}
|
resolution: {integrity: sha512-OwwR8LRwSnI98tdc2z7mJYgY60gf7I9ZfGjN5EjCwwns9bdTuQfAXcsjSB2wSQ/TVNYSGKf4kzVXbNGaZvwiXw==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -826,23 +826,23 @@ packages:
|
|||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/parser': 5.36.2_yqf6kl63nyoq5megxukfnom5rm
|
'@typescript-eslint/parser': 5.36.2_itqs5654cmlnjraw6gjzqacppi
|
||||||
'@typescript-eslint/scope-manager': 5.36.2
|
'@typescript-eslint/scope-manager': 5.36.2
|
||||||
'@typescript-eslint/type-utils': 5.36.2_yqf6kl63nyoq5megxukfnom5rm
|
'@typescript-eslint/type-utils': 5.36.2_itqs5654cmlnjraw6gjzqacppi
|
||||||
'@typescript-eslint/utils': 5.36.2_yqf6kl63nyoq5megxukfnom5rm
|
'@typescript-eslint/utils': 5.36.2_itqs5654cmlnjraw6gjzqacppi
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.23.0
|
eslint: 8.23.0
|
||||||
functional-red-black-tree: 1.0.1
|
functional-red-black-tree: 1.0.1
|
||||||
ignore: 5.2.0
|
ignore: 5.2.0
|
||||||
regexpp: 3.2.0
|
regexpp: 3.2.0
|
||||||
semver: 7.3.7
|
semver: 7.3.7
|
||||||
tsutils: 3.21.0_typescript@4.8.2
|
tsutils: 3.21.0_typescript@4.8.3
|
||||||
typescript: 4.8.2
|
typescript: 4.8.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@typescript-eslint/parser/5.36.2_yqf6kl63nyoq5megxukfnom5rm:
|
/@typescript-eslint/parser/5.36.2_itqs5654cmlnjraw6gjzqacppi:
|
||||||
resolution: {integrity: sha512-qS/Kb0yzy8sR0idFspI9Z6+t7mqk/oRjnAYfewG+VN73opAUvmYL3oPIMmgOX6CnQS6gmVIXGshlb5RY/R22pA==}
|
resolution: {integrity: sha512-qS/Kb0yzy8sR0idFspI9Z6+t7mqk/oRjnAYfewG+VN73opAUvmYL3oPIMmgOX6CnQS6gmVIXGshlb5RY/R22pA==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -854,10 +854,10 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/scope-manager': 5.36.2
|
'@typescript-eslint/scope-manager': 5.36.2
|
||||||
'@typescript-eslint/types': 5.36.2
|
'@typescript-eslint/types': 5.36.2
|
||||||
'@typescript-eslint/typescript-estree': 5.36.2_typescript@4.8.2
|
'@typescript-eslint/typescript-estree': 5.36.2_typescript@4.8.3
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.23.0
|
eslint: 8.23.0
|
||||||
typescript: 4.8.2
|
typescript: 4.8.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
@@ -870,7 +870,7 @@ packages:
|
|||||||
'@typescript-eslint/visitor-keys': 5.36.2
|
'@typescript-eslint/visitor-keys': 5.36.2
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@typescript-eslint/type-utils/5.36.2_yqf6kl63nyoq5megxukfnom5rm:
|
/@typescript-eslint/type-utils/5.36.2_itqs5654cmlnjraw6gjzqacppi:
|
||||||
resolution: {integrity: sha512-rPQtS5rfijUWLouhy6UmyNquKDPhQjKsaKH0WnY6hl/07lasj8gPaH2UD8xWkePn6SC+jW2i9c2DZVDnL+Dokw==}
|
resolution: {integrity: sha512-rPQtS5rfijUWLouhy6UmyNquKDPhQjKsaKH0WnY6hl/07lasj8gPaH2UD8xWkePn6SC+jW2i9c2DZVDnL+Dokw==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -880,12 +880,12 @@ packages:
|
|||||||
typescript:
|
typescript:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/typescript-estree': 5.36.2_typescript@4.8.2
|
'@typescript-eslint/typescript-estree': 5.36.2_typescript@4.8.3
|
||||||
'@typescript-eslint/utils': 5.36.2_yqf6kl63nyoq5megxukfnom5rm
|
'@typescript-eslint/utils': 5.36.2_itqs5654cmlnjraw6gjzqacppi
|
||||||
debug: 4.3.4
|
debug: 4.3.4
|
||||||
eslint: 8.23.0
|
eslint: 8.23.0
|
||||||
tsutils: 3.21.0_typescript@4.8.2
|
tsutils: 3.21.0_typescript@4.8.3
|
||||||
typescript: 4.8.2
|
typescript: 4.8.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
@@ -895,7 +895,7 @@ packages:
|
|||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@typescript-eslint/typescript-estree/5.36.2_typescript@4.8.2:
|
/@typescript-eslint/typescript-estree/5.36.2_typescript@4.8.3:
|
||||||
resolution: {integrity: sha512-8fyH+RfbKc0mTspfuEjlfqA4YywcwQK2Amcf6TDOwaRLg7Vwdu4bZzyvBZp4bjt1RRjQ5MDnOZahxMrt2l5v9w==}
|
resolution: {integrity: sha512-8fyH+RfbKc0mTspfuEjlfqA4YywcwQK2Amcf6TDOwaRLg7Vwdu4bZzyvBZp4bjt1RRjQ5MDnOZahxMrt2l5v9w==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -910,13 +910,13 @@ packages:
|
|||||||
globby: 11.1.0
|
globby: 11.1.0
|
||||||
is-glob: 4.0.3
|
is-glob: 4.0.3
|
||||||
semver: 7.3.7
|
semver: 7.3.7
|
||||||
tsutils: 3.21.0_typescript@4.8.2
|
tsutils: 3.21.0_typescript@4.8.3
|
||||||
typescript: 4.8.2
|
typescript: 4.8.3
|
||||||
transitivePeerDependencies:
|
transitivePeerDependencies:
|
||||||
- supports-color
|
- supports-color
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/@typescript-eslint/utils/5.36.2_yqf6kl63nyoq5megxukfnom5rm:
|
/@typescript-eslint/utils/5.36.2_itqs5654cmlnjraw6gjzqacppi:
|
||||||
resolution: {integrity: sha512-uNcopWonEITX96v9pefk9DC1bWMdkweeSsewJ6GeC7L6j2t0SJywisgkr9wUTtXk90fi2Eljj90HSHm3OGdGRg==}
|
resolution: {integrity: sha512-uNcopWonEITX96v9pefk9DC1bWMdkweeSsewJ6GeC7L6j2t0SJywisgkr9wUTtXk90fi2Eljj90HSHm3OGdGRg==}
|
||||||
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
@@ -925,7 +925,7 @@ packages:
|
|||||||
'@types/json-schema': 7.0.11
|
'@types/json-schema': 7.0.11
|
||||||
'@typescript-eslint/scope-manager': 5.36.2
|
'@typescript-eslint/scope-manager': 5.36.2
|
||||||
'@typescript-eslint/types': 5.36.2
|
'@typescript-eslint/types': 5.36.2
|
||||||
'@typescript-eslint/typescript-estree': 5.36.2_typescript@4.8.2
|
'@typescript-eslint/typescript-estree': 5.36.2_typescript@4.8.3
|
||||||
eslint: 8.23.0
|
eslint: 8.23.0
|
||||||
eslint-scope: 5.1.1
|
eslint-scope: 5.1.1
|
||||||
eslint-utils: 3.0.0_eslint@8.23.0
|
eslint-utils: 3.0.0_eslint@8.23.0
|
||||||
@@ -1084,8 +1084,8 @@ packages:
|
|||||||
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
|
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
dependencies:
|
dependencies:
|
||||||
caniuse-lite: 1.0.30001390
|
caniuse-lite: 1.0.30001393
|
||||||
electron-to-chromium: 1.4.242
|
electron-to-chromium: 1.4.246
|
||||||
node-releases: 2.0.6
|
node-releases: 2.0.6
|
||||||
update-browserslist-db: 1.0.7_browserslist@4.21.3
|
update-browserslist-db: 1.0.7_browserslist@4.21.3
|
||||||
dev: true
|
dev: true
|
||||||
@@ -1105,8 +1105,8 @@ packages:
|
|||||||
engines: {node: '>=6'}
|
engines: {node: '>=6'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/caniuse-lite/1.0.30001390:
|
/caniuse-lite/1.0.30001393:
|
||||||
resolution: {integrity: sha512-sS4CaUM+/+vqQUlCvCJ2WtDlV81aWtHhqeEVkLokVJJa3ViN4zDxAGfq9R8i1m90uGHxo99cy10Od+lvn3hf0g==}
|
resolution: {integrity: sha512-N/od11RX+Gsk+1qY/jbPa0R6zJupEa0lxeBG598EbrtblxVCTJsQwbRBm6+V+rxpc5lHKdsXb9RY83cZIPLseA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/chalk/2.4.2:
|
/chalk/2.4.2:
|
||||||
@@ -1183,7 +1183,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/concat-map/0.0.1:
|
/concat-map/0.0.1:
|
||||||
resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==}
|
resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/convert-source-map/1.8.0:
|
/convert-source-map/1.8.0:
|
||||||
@@ -1350,8 +1350,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==}
|
resolution: {integrity: sha512-/pjZsA1b4RPHbeWZQn66SWS8nZZWLQQ23oE3Eam7aroEFGEvwKAsJfZ9ytiEMycfzXWpca4FA9QIOehf7PocBQ==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/electron-to-chromium/1.4.242:
|
/electron-to-chromium/1.4.246:
|
||||||
resolution: {integrity: sha512-nPdgMWtjjWGCtreW/2adkrB2jyHjClo9PtVhR6rW+oxa4E4Wom642Tn+5LslHP3XPL5MCpkn5/UEY60EXylNeQ==}
|
resolution: {integrity: sha512-/wFCHUE+Hocqr/LlVGsuKLIw4P2lBWwFIDcNMDpJGzyIysQV4aycpoOitAs32FT94EHKnNqDR/CVZJFbXEufJA==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/emoji-regex/8.0.0:
|
/emoji-regex/8.0.0:
|
||||||
@@ -1709,7 +1709,7 @@ packages:
|
|||||||
eslint-import-resolver-webpack:
|
eslint-import-resolver-webpack:
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/parser': 5.36.2_yqf6kl63nyoq5megxukfnom5rm
|
'@typescript-eslint/parser': 5.36.2_itqs5654cmlnjraw6gjzqacppi
|
||||||
debug: 3.2.7
|
debug: 3.2.7
|
||||||
eslint: 8.23.0
|
eslint: 8.23.0
|
||||||
eslint-import-resolver-node: 0.3.6
|
eslint-import-resolver-node: 0.3.6
|
||||||
@@ -1739,7 +1739,7 @@ packages:
|
|||||||
'@typescript-eslint/parser':
|
'@typescript-eslint/parser':
|
||||||
optional: true
|
optional: true
|
||||||
dependencies:
|
dependencies:
|
||||||
'@typescript-eslint/parser': 5.36.2_yqf6kl63nyoq5megxukfnom5rm
|
'@typescript-eslint/parser': 5.36.2_itqs5654cmlnjraw6gjzqacppi
|
||||||
array-includes: 3.1.5
|
array-includes: 3.1.5
|
||||||
array.prototype.flat: 1.3.0
|
array.prototype.flat: 1.3.0
|
||||||
debug: 2.6.9
|
debug: 2.6.9
|
||||||
@@ -1769,8 +1769,8 @@ packages:
|
|||||||
eslint: 8.23.0
|
eslint: 8.23.0
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/eslint-plugin-react/7.31.7_eslint@8.23.0:
|
/eslint-plugin-react/7.31.8_eslint@8.23.0:
|
||||||
resolution: {integrity: sha512-8NldBTeYp/kQoTV1uT0XF6HcmDqbgZ0lNPkN0wlRw8DJKXEnaWu+oh/6gt3xIhzvQ35wB2Y545fJhIbJSZ2NNw==}
|
resolution: {integrity: sha512-5lBTZmgQmARLLSYiwI71tiGVTLUuqXantZM6vlSY39OaDSV0M7+32K5DnLkmFrwTe+Ksz0ffuLUC91RUviVZfw==}
|
||||||
engines: {node: '>=4'}
|
engines: {node: '>=4'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
|
eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8
|
||||||
@@ -1951,8 +1951,8 @@ packages:
|
|||||||
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
|
resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/fast-glob/3.2.11:
|
/fast-glob/3.2.12:
|
||||||
resolution: {integrity: sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==}
|
resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==}
|
||||||
engines: {node: '>=8.6.0'}
|
engines: {node: '>=8.6.0'}
|
||||||
dependencies:
|
dependencies:
|
||||||
'@nodelib/fs.stat': 2.0.5
|
'@nodelib/fs.stat': 2.0.5
|
||||||
@@ -2174,7 +2174,7 @@ packages:
|
|||||||
dependencies:
|
dependencies:
|
||||||
array-union: 2.1.0
|
array-union: 2.1.0
|
||||||
dir-glob: 3.0.1
|
dir-glob: 3.0.1
|
||||||
fast-glob: 3.2.11
|
fast-glob: 3.2.12
|
||||||
ignore: 5.2.0
|
ignore: 5.2.0
|
||||||
merge2: 1.4.1
|
merge2: 1.4.1
|
||||||
slash: 3.0.0
|
slash: 3.0.0
|
||||||
@@ -2972,7 +2972,7 @@ packages:
|
|||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/quotemeta/0.0.0:
|
/quotemeta/0.0.0:
|
||||||
resolution: {integrity: sha512-1XGObUh7RN5b58vKuAsrlfqT+Rc4vmw8N4pP9gFCq1GFlTdV0Ex/D2Ro1Drvrqj++HPi3ig0Np17XPslELeMRA==}
|
resolution: {integrity: sha1-UdOgbuD81uO1AdvSiQQ1Gtelo4w=}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/react-dom/18.2.0_react@18.2.0:
|
/react-dom/18.2.0_react@18.2.0:
|
||||||
@@ -3474,14 +3474,14 @@ packages:
|
|||||||
resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==}
|
resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==}
|
||||||
dev: true
|
dev: true
|
||||||
|
|
||||||
/tsutils/3.21.0_typescript@4.8.2:
|
/tsutils/3.21.0_typescript@4.8.3:
|
||||||
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
|
resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==}
|
||||||
engines: {node: '>= 6'}
|
engines: {node: '>= 6'}
|
||||||
peerDependencies:
|
peerDependencies:
|
||||||
typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
|
typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta'
|
||||||
dependencies:
|
dependencies:
|
||||||
tslib: 1.14.1
|
tslib: 1.14.1
|
||||||
typescript: 4.8.2
|
typescript: 4.8.3
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/type-check/0.4.0:
|
/type-check/0.4.0:
|
||||||
@@ -3496,8 +3496,8 @@ packages:
|
|||||||
engines: {node: '>=10'}
|
engines: {node: '>=10'}
|
||||||
dev: false
|
dev: false
|
||||||
|
|
||||||
/typescript/4.8.2:
|
/typescript/4.8.3:
|
||||||
resolution: {integrity: sha512-C0I1UsrrDHo2fYI5oaCGbSejwX4ch+9Y5jTQELvovfmFkK3HHSZJB8MSJcWLmCUBzQBchCrZ9rMRV6GuNrvGtw==}
|
resolution: {integrity: sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==}
|
||||||
engines: {node: '>=4.2.0'}
|
engines: {node: '>=4.2.0'}
|
||||||
hasBin: true
|
hasBin: true
|
||||||
|
|
||||||
|
|||||||
@@ -94,7 +94,7 @@ export const PeersDialog = ({
|
|||||||
onClick={() => {
|
onClick={() => {
|
||||||
void connection?.sendPacket(
|
void connection?.sendPacket(
|
||||||
Protobuf.AdminMessage.toBinary({
|
Protobuf.AdminMessage.toBinary({
|
||||||
variant: {
|
payloadVariant: {
|
||||||
oneofKind: "getConfigRequest",
|
oneofKind: "getConfigRequest",
|
||||||
getConfigRequest:
|
getConfigRequest:
|
||||||
Protobuf.AdminMessage_ConfigType.LORA_CONFIG,
|
Protobuf.AdminMessage_ConfigType.LORA_CONFIG,
|
||||||
|
|||||||
@@ -50,7 +50,7 @@ export const Bluetooth = (): JSX.Element => {
|
|||||||
const pairingMode = useWatch({
|
const pairingMode = useWatch({
|
||||||
control,
|
control,
|
||||||
name: "mode",
|
name: "mode",
|
||||||
defaultValue: Protobuf.Config_BluetoothConfig_PairingMode.RandomPin,
|
defaultValue: Protobuf.Config_BluetoothConfig_PairingMode.RANDOM_PIN,
|
||||||
});
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -82,7 +82,7 @@ export const Bluetooth = (): JSX.Element => {
|
|||||||
|
|
||||||
<TextInputField
|
<TextInputField
|
||||||
display={
|
display={
|
||||||
pairingMode !== Protobuf.Config_BluetoothConfig_PairingMode.FixedPin
|
pairingMode !== Protobuf.Config_BluetoothConfig_PairingMode.FIXED_PIN
|
||||||
? "none"
|
? "none"
|
||||||
: "block"
|
: "block"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,13 +1,7 @@
|
|||||||
import type React from "react";
|
import type React from "react";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
|
|
||||||
import {
|
import { FormField, SelectField, Switch, toaster } from "evergreen-ui";
|
||||||
FormField,
|
|
||||||
SelectField,
|
|
||||||
Switch,
|
|
||||||
TextInputField,
|
|
||||||
toaster,
|
|
||||||
} from "evergreen-ui";
|
|
||||||
import { Controller, useForm } from "react-hook-form";
|
import { Controller, useForm } from "react-hook-form";
|
||||||
|
|
||||||
import { DeviceValidation } from "@app/validation/config/device.js";
|
import { DeviceValidation } from "@app/validation/config/device.js";
|
||||||
@@ -105,13 +99,6 @@ export const Device = (): JSX.Element => {
|
|||||||
)}
|
)}
|
||||||
/>
|
/>
|
||||||
</FormField>
|
</FormField>
|
||||||
<TextInputField
|
|
||||||
label="NTP Server"
|
|
||||||
description="This is a description."
|
|
||||||
isInvalid={!!errors.ntpServer?.message}
|
|
||||||
validationMessage={errors.ntpServer?.message}
|
|
||||||
{...register("ntpServer")}
|
|
||||||
/>
|
|
||||||
</Form>
|
</Form>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|||||||
+29
-22
@@ -11,13 +11,13 @@ import {
|
|||||||
import { Controller, useForm, useWatch } from "react-hook-form";
|
import { Controller, useForm, useWatch } from "react-hook-form";
|
||||||
|
|
||||||
import { renderOptions } from "@app/core/utils/selectEnumOptions.js";
|
import { renderOptions } from "@app/core/utils/selectEnumOptions.js";
|
||||||
import { WiFiValidation } from "@app/validation/config/wifi.js";
|
import { NetworkValidation } from "@app/validation/config/network.js";
|
||||||
import { Form } from "@components/form/Form";
|
import { Form } from "@components/form/Form";
|
||||||
import { useDevice } from "@core/providers/useDevice.js";
|
import { useDevice } from "@core/providers/useDevice.js";
|
||||||
import { classValidatorResolver } from "@hookform/resolvers/class-validator";
|
import { classValidatorResolver } from "@hookform/resolvers/class-validator";
|
||||||
import { Protobuf } from "@meshtastic/meshtasticjs";
|
import { Protobuf } from "@meshtastic/meshtasticjs";
|
||||||
|
|
||||||
export const WiFi = (): JSX.Element => {
|
export const Network = (): JSX.Element => {
|
||||||
const { config, connection } = useDevice();
|
const { config, connection } = useDevice();
|
||||||
const [loading, setLoading] = useState(false);
|
const [loading, setLoading] = useState(false);
|
||||||
const {
|
const {
|
||||||
@@ -26,32 +26,32 @@ export const WiFi = (): JSX.Element => {
|
|||||||
formState: { errors, isDirty },
|
formState: { errors, isDirty },
|
||||||
control,
|
control,
|
||||||
reset,
|
reset,
|
||||||
} = useForm<WiFiValidation>({
|
} = useForm<NetworkValidation>({
|
||||||
defaultValues: config.wifi,
|
defaultValues: config.network,
|
||||||
resolver: classValidatorResolver(WiFiValidation),
|
resolver: classValidatorResolver(NetworkValidation),
|
||||||
});
|
});
|
||||||
|
|
||||||
const wifiEnabled = useWatch({
|
const wifiEnabled = useWatch({
|
||||||
control,
|
control,
|
||||||
name: "enabled",
|
name: "wifiEnabled",
|
||||||
defaultValue: false,
|
defaultValue: false,
|
||||||
});
|
});
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
reset(config.wifi);
|
reset(config.network);
|
||||||
}, [reset, config.wifi]);
|
}, [reset, config.network]);
|
||||||
|
|
||||||
const onSubmit = handleSubmit((data) => {
|
const onSubmit = handleSubmit((data) => {
|
||||||
setLoading(true);
|
setLoading(true);
|
||||||
void connection?.setConfig(
|
void connection?.setConfig(
|
||||||
{
|
{
|
||||||
payloadVariant: {
|
payloadVariant: {
|
||||||
oneofKind: "wifi",
|
oneofKind: "network",
|
||||||
wifi: data,
|
network: data,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
async () => {
|
async () => {
|
||||||
toaster.success("Successfully updated WiFi config");
|
toaster.success("Successfully updated Network config");
|
||||||
reset({ ...data });
|
reset({ ...data });
|
||||||
setLoading(false);
|
setLoading(false);
|
||||||
await Promise.resolve();
|
await Promise.resolve();
|
||||||
@@ -63,11 +63,11 @@ export const WiFi = (): JSX.Element => {
|
|||||||
<FormField
|
<FormField
|
||||||
label="WiFi Enabled"
|
label="WiFi Enabled"
|
||||||
description="Description"
|
description="Description"
|
||||||
isInvalid={!!errors.enabled?.message}
|
isInvalid={!!errors.wifiEnabled?.message}
|
||||||
validationMessage={errors.enabled?.message}
|
validationMessage={errors.wifiEnabled?.message}
|
||||||
>
|
>
|
||||||
<Controller
|
<Controller
|
||||||
name="enabled"
|
name="wifiEnabled"
|
||||||
control={control}
|
control={control}
|
||||||
render={({ field: { value, ...field } }) => (
|
render={({ field: { value, ...field } }) => (
|
||||||
<Switch height={24} marginLeft="auto" checked={value} {...field} />
|
<Switch height={24} marginLeft="auto" checked={value} {...field} />
|
||||||
@@ -77,24 +77,31 @@ export const WiFi = (): JSX.Element => {
|
|||||||
<SelectField
|
<SelectField
|
||||||
label="WiFi Mode"
|
label="WiFi Mode"
|
||||||
description="This is a description."
|
description="This is a description."
|
||||||
{...register("mode", { valueAsNumber: true })}
|
{...register("wifiMode", { valueAsNumber: true })}
|
||||||
>
|
>
|
||||||
{renderOptions(Protobuf.Config_WiFiConfig_WiFiMode)}
|
{renderOptions(Protobuf.Config_NetworkConfig_WiFiMode)}
|
||||||
</SelectField>
|
</SelectField>
|
||||||
<TextInputField
|
<TextInputField
|
||||||
label="SSID"
|
label="SSID"
|
||||||
description="This is a description."
|
description="This is a description."
|
||||||
isInvalid={!!errors.ssid?.message}
|
isInvalid={!!errors.wifiSsid?.message}
|
||||||
validationMessage={errors.ssid?.message}
|
validationMessage={errors.wifiSsid?.message}
|
||||||
{...register("ssid")}
|
{...register("wifiSsid")}
|
||||||
/>
|
/>
|
||||||
<TextInputField
|
<TextInputField
|
||||||
label="PSK"
|
label="PSK"
|
||||||
type="password"
|
type="password"
|
||||||
description="This is a description."
|
description="This is a description."
|
||||||
isInvalid={!!errors.psk?.message}
|
isInvalid={!!errors.wifiPsk?.message}
|
||||||
validationMessage={errors.psk?.message}
|
validationMessage={errors.wifiPsk?.message}
|
||||||
{...register("psk")}
|
{...register("wifiPsk")}
|
||||||
|
/>
|
||||||
|
<TextInputField
|
||||||
|
label="NTP Server"
|
||||||
|
description="This is a description."
|
||||||
|
isInvalid={!!errors.ntpServer?.message}
|
||||||
|
validationMessage={errors.ntpServer?.message}
|
||||||
|
{...register("ntpServer")}
|
||||||
/>
|
/>
|
||||||
</Form>
|
</Form>
|
||||||
);
|
);
|
||||||
@@ -144,7 +144,7 @@ export const Position = (): JSX.Element => {
|
|||||||
.filter(
|
.filter(
|
||||||
(value) =>
|
(value) =>
|
||||||
parseInt(value[0]) !==
|
parseInt(value[0]) !==
|
||||||
Protobuf.Config_PositionConfig_PositionFlags.POS_UNDEFINED
|
Protobuf.Config_PositionConfig_PositionFlags.UNSET
|
||||||
)
|
)
|
||||||
.map((value) => {
|
.map((value) => {
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -1,15 +1,13 @@
|
|||||||
import type React from "react";
|
import type React from "react";
|
||||||
import { useEffect, useState } from "react";
|
import { useEffect, useState } from "react";
|
||||||
|
|
||||||
import { FormField, SelectField, Switch, TextInputField } from "evergreen-ui";
|
import { FormField, Switch, TextInputField } from "evergreen-ui";
|
||||||
import { Controller, useForm } from "react-hook-form";
|
import { Controller, useForm } from "react-hook-form";
|
||||||
|
|
||||||
import { PowerValidation } from "@app/validation/config/power.js";
|
import { PowerValidation } from "@app/validation/config/power.js";
|
||||||
import { Form } from "@components/form/Form";
|
import { Form } from "@components/form/Form";
|
||||||
import { useDevice } from "@core/providers/useDevice.js";
|
import { useDevice } from "@core/providers/useDevice.js";
|
||||||
import { renderOptions } from "@core/utils/selectEnumOptions.js";
|
|
||||||
import { classValidatorResolver } from "@hookform/resolvers/class-validator";
|
import { classValidatorResolver } from "@hookform/resolvers/class-validator";
|
||||||
import { Protobuf } from "@meshtastic/meshtasticjs";
|
|
||||||
|
|
||||||
export const Power = (): JSX.Element => {
|
export const Power = (): JSX.Element => {
|
||||||
const { config, connection } = useDevice();
|
const { config, connection } = useDevice();
|
||||||
@@ -47,15 +45,6 @@ export const Power = (): JSX.Element => {
|
|||||||
});
|
});
|
||||||
return (
|
return (
|
||||||
<Form loading={loading} dirty={isDirty} onSubmit={onSubmit}>
|
<Form loading={loading} dirty={isDirty} onSubmit={onSubmit}>
|
||||||
<SelectField
|
|
||||||
label="Charge current"
|
|
||||||
description="This is a description."
|
|
||||||
isInvalid={!!errors.chargeCurrent?.message}
|
|
||||||
validationMessage={errors.chargeCurrent?.message}
|
|
||||||
{...register("chargeCurrent", { valueAsNumber: true })}
|
|
||||||
>
|
|
||||||
{renderOptions(Protobuf.Config_PowerConfig_ChargeCurrent)}
|
|
||||||
</SelectField>
|
|
||||||
<TextInputField
|
<TextInputField
|
||||||
label="Shutdown on battery delay"
|
label="Shutdown on battery delay"
|
||||||
description="This is a description."
|
description="This is a description."
|
||||||
|
|||||||
@@ -140,8 +140,8 @@ export const useDeviceStore = create<DeviceState>((set, get) => ({
|
|||||||
case "power":
|
case "power":
|
||||||
device.config.power = config.payloadVariant.power;
|
device.config.power = config.payloadVariant.power;
|
||||||
break;
|
break;
|
||||||
case "wifi":
|
case "network":
|
||||||
device.config.wifi = config.payloadVariant.wifi;
|
device.config.network = config.payloadVariant.network;
|
||||||
break;
|
break;
|
||||||
case "display":
|
case "display":
|
||||||
device.config.display = config.payloadVariant.display;
|
device.config.display = config.payloadVariant.display;
|
||||||
@@ -150,7 +150,7 @@ export const useDeviceStore = create<DeviceState>((set, get) => ({
|
|||||||
device.config.lora = config.payloadVariant.lora;
|
device.config.lora = config.payloadVariant.lora;
|
||||||
device.regionUnset =
|
device.regionUnset =
|
||||||
config.payloadVariant.lora.region ===
|
config.payloadVariant.lora.region ===
|
||||||
Protobuf.Config_LoRaConfig_RegionCode.Unset;
|
Protobuf.Config_LoRaConfig_RegionCode.UNSET;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ import { useState } from "react";
|
|||||||
|
|
||||||
import { Pane, Tab, Tablist } from "evergreen-ui";
|
import { Pane, Tab, Tablist } from "evergreen-ui";
|
||||||
|
|
||||||
|
import { Network } from "@app/components/PageComponents/Config/Network.js";
|
||||||
import { Bluetooth } from "@components/PageComponents/Config/Bluetooth.js";
|
import { Bluetooth } from "@components/PageComponents/Config/Bluetooth.js";
|
||||||
import { Device } from "@components/PageComponents/Config/Device.js";
|
import { Device } from "@components/PageComponents/Config/Device.js";
|
||||||
import { Display } from "@components/PageComponents/Config/Display.js";
|
import { Display } from "@components/PageComponents/Config/Display.js";
|
||||||
@@ -10,7 +11,6 @@ import { LoRa } from "@components/PageComponents/Config/LoRa.js";
|
|||||||
import { Position } from "@components/PageComponents/Config/Position.js";
|
import { Position } from "@components/PageComponents/Config/Position.js";
|
||||||
import { Power } from "@components/PageComponents/Config/Power.js";
|
import { Power } from "@components/PageComponents/Config/Power.js";
|
||||||
import { User } from "@components/PageComponents/Config/User.js";
|
import { User } from "@components/PageComponents/Config/User.js";
|
||||||
import { WiFi } from "@components/PageComponents/Config/WiFi.js";
|
|
||||||
import { useDevice } from "@core/providers/useDevice.js";
|
import { useDevice } from "@core/providers/useDevice.js";
|
||||||
|
|
||||||
export const DeviceConfig = (): JSX.Element => {
|
export const DeviceConfig = (): JSX.Element => {
|
||||||
@@ -35,8 +35,8 @@ export const DeviceConfig = (): JSX.Element => {
|
|||||||
element: Power,
|
element: Power,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "WiFi",
|
label: "Network",
|
||||||
element: WiFi,
|
element: Network,
|
||||||
disabled: !hardware.hasWifi,
|
disabled: !hardware.hasWifi,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { IsBoolean, IsEnum, Length } from "class-validator";
|
import { IsBoolean, IsEnum } from "class-validator";
|
||||||
|
|
||||||
import { Protobuf } from "@meshtastic/meshtasticjs";
|
import { Protobuf } from "@meshtastic/meshtasticjs";
|
||||||
|
|
||||||
@@ -14,7 +14,4 @@ export class DeviceValidation implements Protobuf.Config_DeviceConfig {
|
|||||||
|
|
||||||
@IsBoolean()
|
@IsBoolean()
|
||||||
debugLogEnabled: boolean;
|
debugLogEnabled: boolean;
|
||||||
|
|
||||||
@Length(2, 30)
|
|
||||||
ntpServer: string;
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,7 @@ export class LoRaValidation implements Protobuf.Config_LoRaConfig {
|
|||||||
bandwidth: number;
|
bandwidth: number;
|
||||||
|
|
||||||
@IsInt()
|
@IsInt()
|
||||||
@Min(7)
|
// @Min(7)
|
||||||
@Max(12)
|
@Max(12)
|
||||||
spreadFactor: number;
|
spreadFactor: number;
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,20 @@
|
|||||||
|
import { IsBoolean, IsEnum, Length } from "class-validator";
|
||||||
|
|
||||||
|
import { Protobuf } from "@meshtastic/meshtasticjs";
|
||||||
|
|
||||||
|
export class NetworkValidation implements Protobuf.Config_NetworkConfig {
|
||||||
|
@IsBoolean()
|
||||||
|
wifiEnabled: boolean;
|
||||||
|
|
||||||
|
@IsEnum(Protobuf.Config_NetworkConfig_WiFiMode)
|
||||||
|
wifiMode: Protobuf.Config_NetworkConfig_WiFiMode;
|
||||||
|
|
||||||
|
@Length(1, 33)
|
||||||
|
wifiSsid: string;
|
||||||
|
|
||||||
|
@Length(8, 64)
|
||||||
|
wifiPsk: string;
|
||||||
|
|
||||||
|
@Length(2, 30)
|
||||||
|
ntpServer: string;
|
||||||
|
}
|
||||||
@@ -1,11 +1,8 @@
|
|||||||
import { IsBoolean, IsEnum, IsInt, Max, Min } from "class-validator";
|
import { IsBoolean, IsInt, Max, Min } from "class-validator";
|
||||||
|
|
||||||
import { Protobuf } from "@meshtastic/meshtasticjs";
|
import type { Protobuf } from "@meshtastic/meshtasticjs";
|
||||||
|
|
||||||
export class PowerValidation implements Protobuf.Config_PowerConfig {
|
export class PowerValidation implements Protobuf.Config_PowerConfig {
|
||||||
@IsEnum(Protobuf.Config_PowerConfig_ChargeCurrent)
|
|
||||||
chargeCurrent: Protobuf.Config_PowerConfig_ChargeCurrent;
|
|
||||||
|
|
||||||
@IsBoolean()
|
@IsBoolean()
|
||||||
isPowerSaving: boolean;
|
isPowerSaving: boolean;
|
||||||
|
|
||||||
|
|||||||
@@ -1,17 +0,0 @@
|
|||||||
import { IsBoolean, IsEnum, Length } from "class-validator";
|
|
||||||
|
|
||||||
import { Protobuf } from "@meshtastic/meshtasticjs";
|
|
||||||
|
|
||||||
export class WiFiValidation implements Protobuf.Config_WiFiConfig {
|
|
||||||
@IsBoolean()
|
|
||||||
enabled: boolean;
|
|
||||||
|
|
||||||
@IsEnum(Protobuf.Config_WiFiConfig_WiFiMode)
|
|
||||||
mode: Protobuf.Config_WiFiConfig_WiFiMode;
|
|
||||||
|
|
||||||
@Length(1, 33)
|
|
||||||
ssid: string;
|
|
||||||
|
|
||||||
@Length(8, 64)
|
|
||||||
psk: string;
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user