mirror of
https://gitlab.nic.cz/turris/reforis/foris-js.git
synced 2025-06-16 13:46:16 +02:00
Compare commits
2 Commits
v6.4.0
...
feature/ws
Author | SHA1 | Date | |
---|---|---|---|
cc1389536e | |||
499be46588 |
50
CHANGELOG.md
50
CHANGELOG.md
@ -8,50 +8,6 @@ and this project adheres to
|
|||||||
|
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
## [6.4.0] - 2024-10-02
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- Refactored Alert component to include dismiss animation and timeout
|
|
||||||
- Refactored ThreeDotsMenu component to include additional props
|
|
||||||
|
|
||||||
## [6.3.0] - 2024-09-27
|
|
||||||
|
|
||||||
### Added
|
|
||||||
|
|
||||||
- Added ThreeDotsMenu component
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- Refactored EmailInput description
|
|
||||||
- Refactored RadioSet & ignore Radio component
|
|
||||||
- Refactored npm package badge in introduction.md
|
|
||||||
- NPM audit fix
|
|
||||||
|
|
||||||
## [6.2.1] - 2024-09-25
|
|
||||||
|
|
||||||
### Added
|
|
||||||
|
|
||||||
- Added & updated Weblate translations
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- Refactored CopyInput component
|
|
||||||
- Refactored ForisURLs to include new URLs for Overview page
|
|
||||||
|
|
||||||
## [6.2.0] - 2024-09-20
|
|
||||||
|
|
||||||
### Added
|
|
||||||
|
|
||||||
- Added useFocusTrap hook
|
|
||||||
- Added extendSession endpoint
|
|
||||||
|
|
||||||
### Changed
|
|
||||||
|
|
||||||
- Refactored Spinner.css to use CSS variable for color
|
|
||||||
- Refactored Modal component to use useFocusTrap hook
|
|
||||||
- Refactored Alert component to use useFocusTrap hook
|
|
||||||
|
|
||||||
## [6.1.1] - 2024-08-30
|
## [6.1.1] - 2024-08-30
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
@ -405,11 +361,7 @@ and this project adheres to
|
|||||||
## [0.0.7] - 2019-09-02
|
## [0.0.7] - 2019-09-02
|
||||||
|
|
||||||
[unreleased]:
|
[unreleased]:
|
||||||
https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.4.0...dev
|
https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.1.1...master
|
||||||
[6.4.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.3.0...v6.4.0
|
|
||||||
[6.3.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.2.1...v6.3.0
|
|
||||||
[6.2.1]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.2.0...v6.2.1
|
|
||||||
[6.2.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.1.1...v6.2.0
|
|
||||||
[6.1.1]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.1.0...v6.1.1
|
[6.1.1]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.1.0...v6.1.1
|
||||||
[6.1.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.0.3...v6.1.0
|
[6.1.0]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.0.3...v6.1.0
|
||||||
[6.0.3]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.0.2...v6.0.3
|
[6.0.3]: https://gitlab.nic.cz/turris/reforis/foris-js/-/compare/v6.0.2...v6.0.3
|
||||||
|
@ -33,4 +33,5 @@ To install a specific version:
|
|||||||
npm install foris@version
|
npm install foris@version
|
||||||
```
|
```
|
||||||
|
|
||||||
[](https://badge.fury.io/js/foris)
|
<a target="_blank" href="https://www.npmjs.com/package/foris">Check
|
||||||
|
on<img width="100px" src="./docs/forisjs-npm.svg"></a>
|
||||||
|
371
package-lock.json
generated
371
package-lock.json
generated
@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "foris",
|
"name": "foris",
|
||||||
"version": "6.4.0",
|
"version": "6.1.1",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "foris",
|
"name": "foris",
|
||||||
"version": "6.4.0",
|
"version": "6.1.1",
|
||||||
"license": "GPL-3.0",
|
"license": "GPL-3.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@fortawesome/fontawesome-svg-core": "^6.6.0",
|
"@fortawesome/fontawesome-svg-core": "^6.6.0",
|
||||||
@ -18,7 +18,8 @@
|
|||||||
"moment": "^2.30.1",
|
"moment": "^2.30.1",
|
||||||
"qrcode.react": "^3.1.0",
|
"qrcode.react": "^3.1.0",
|
||||||
"react-datetime": "^3.2.0",
|
"react-datetime": "^3.2.0",
|
||||||
"react-uid": "^2.3.3"
|
"react-uid": "^2.3.3",
|
||||||
|
"socket.io-client": "^4.6.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/cli": "^7.24.7",
|
"@babel/cli": "^7.24.7",
|
||||||
@ -3583,6 +3584,12 @@
|
|||||||
"@sinonjs/commons": "^3.0.0"
|
"@sinonjs/commons": "^3.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/@socket.io/component-emitter": {
|
||||||
|
"version": "3.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
|
||||||
|
"integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/@testing-library/dom": {
|
"node_modules/@testing-library/dom": {
|
||||||
"version": "5.6.1",
|
"version": "5.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-5.6.1.tgz",
|
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-5.6.1.tgz",
|
||||||
@ -5017,11 +5024,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/body-parser": {
|
"node_modules/body-parser": {
|
||||||
"version": "1.20.3",
|
"version": "1.20.2",
|
||||||
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
|
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
|
||||||
"integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
|
"integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bytes": "3.1.2",
|
"bytes": "3.1.2",
|
||||||
"content-type": "~1.0.5",
|
"content-type": "~1.0.5",
|
||||||
@ -5031,7 +5037,7 @@
|
|||||||
"http-errors": "2.0.0",
|
"http-errors": "2.0.0",
|
||||||
"iconv-lite": "0.4.24",
|
"iconv-lite": "0.4.24",
|
||||||
"on-finished": "2.4.1",
|
"on-finished": "2.4.1",
|
||||||
"qs": "6.13.0",
|
"qs": "6.11.0",
|
||||||
"raw-body": "2.5.2",
|
"raw-body": "2.5.2",
|
||||||
"type-is": "~1.6.18",
|
"type-is": "~1.6.18",
|
||||||
"unpipe": "1.0.0"
|
"unpipe": "1.0.0"
|
||||||
@ -5046,7 +5052,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
|
||||||
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
|
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.8"
|
"node": ">= 0.8"
|
||||||
}
|
}
|
||||||
@ -5056,7 +5061,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||||
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ms": "2.0.0"
|
"ms": "2.0.0"
|
||||||
}
|
}
|
||||||
@ -5065,8 +5069,7 @@
|
|||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||||
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
|
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"license": "MIT"
|
|
||||||
},
|
},
|
||||||
"node_modules/bonjour-service": {
|
"node_modules/bonjour-service": {
|
||||||
"version": "1.2.1",
|
"version": "1.2.1",
|
||||||
@ -5906,7 +5909,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
|
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
|
||||||
"integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
|
"integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.6"
|
"node": ">= 0.6"
|
||||||
}
|
}
|
||||||
@ -6377,7 +6379,6 @@
|
|||||||
"version": "4.3.5",
|
"version": "4.3.5",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
|
||||||
"integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
|
"integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ms": "2.1.2"
|
"ms": "2.1.2"
|
||||||
},
|
},
|
||||||
@ -6545,7 +6546,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
|
||||||
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
|
"integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.8"
|
"node": ">= 0.8"
|
||||||
}
|
}
|
||||||
@ -6564,7 +6564,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
|
||||||
"integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
|
"integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.8",
|
"node": ">= 0.8",
|
||||||
"npm": "1.2.8000 || >= 1.4.16"
|
"npm": "1.2.8000 || >= 1.4.16"
|
||||||
@ -6685,8 +6684,7 @@
|
|||||||
"version": "1.1.1",
|
"version": "1.1.1",
|
||||||
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
|
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
|
||||||
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
|
"integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"license": "MIT"
|
|
||||||
},
|
},
|
||||||
"node_modules/electron-to-chromium": {
|
"node_modules/electron-to-chromium": {
|
||||||
"version": "1.4.792",
|
"version": "1.4.792",
|
||||||
@ -6722,15 +6720,36 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/encodeurl": {
|
"node_modules/encodeurl": {
|
||||||
"version": "2.0.0",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
||||||
"integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
|
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.8"
|
"node": ">= 0.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/engine.io-client": {
|
||||||
|
"version": "6.5.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.4.tgz",
|
||||||
|
"integrity": "sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@socket.io/component-emitter": "~3.1.0",
|
||||||
|
"debug": "~4.3.1",
|
||||||
|
"engine.io-parser": "~5.2.1",
|
||||||
|
"ws": "~8.17.1",
|
||||||
|
"xmlhttprequest-ssl": "~2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/engine.io-parser": {
|
||||||
|
"version": "5.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz",
|
||||||
|
"integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/enhanced-resolve": {
|
"node_modules/enhanced-resolve": {
|
||||||
"version": "5.17.1",
|
"version": "5.17.1",
|
||||||
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
|
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
|
||||||
@ -7918,7 +7937,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
|
||||||
"integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
|
"integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.6"
|
"node": ">= 0.6"
|
||||||
}
|
}
|
||||||
@ -8046,38 +8064,37 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/express": {
|
"node_modules/express": {
|
||||||
"version": "4.21.0",
|
"version": "4.19.2",
|
||||||
"resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz",
|
||||||
"integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==",
|
"integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"accepts": "~1.3.8",
|
"accepts": "~1.3.8",
|
||||||
"array-flatten": "1.1.1",
|
"array-flatten": "1.1.1",
|
||||||
"body-parser": "1.20.3",
|
"body-parser": "1.20.2",
|
||||||
"content-disposition": "0.5.4",
|
"content-disposition": "0.5.4",
|
||||||
"content-type": "~1.0.4",
|
"content-type": "~1.0.4",
|
||||||
"cookie": "0.6.0",
|
"cookie": "0.6.0",
|
||||||
"cookie-signature": "1.0.6",
|
"cookie-signature": "1.0.6",
|
||||||
"debug": "2.6.9",
|
"debug": "2.6.9",
|
||||||
"depd": "2.0.0",
|
"depd": "2.0.0",
|
||||||
"encodeurl": "~2.0.0",
|
"encodeurl": "~1.0.2",
|
||||||
"escape-html": "~1.0.3",
|
"escape-html": "~1.0.3",
|
||||||
"etag": "~1.8.1",
|
"etag": "~1.8.1",
|
||||||
"finalhandler": "1.3.1",
|
"finalhandler": "1.2.0",
|
||||||
"fresh": "0.5.2",
|
"fresh": "0.5.2",
|
||||||
"http-errors": "2.0.0",
|
"http-errors": "2.0.0",
|
||||||
"merge-descriptors": "1.0.3",
|
"merge-descriptors": "1.0.1",
|
||||||
"methods": "~1.1.2",
|
"methods": "~1.1.2",
|
||||||
"on-finished": "2.4.1",
|
"on-finished": "2.4.1",
|
||||||
"parseurl": "~1.3.3",
|
"parseurl": "~1.3.3",
|
||||||
"path-to-regexp": "0.1.10",
|
"path-to-regexp": "0.1.7",
|
||||||
"proxy-addr": "~2.0.7",
|
"proxy-addr": "~2.0.7",
|
||||||
"qs": "6.13.0",
|
"qs": "6.11.0",
|
||||||
"range-parser": "~1.2.1",
|
"range-parser": "~1.2.1",
|
||||||
"safe-buffer": "5.2.1",
|
"safe-buffer": "5.2.1",
|
||||||
"send": "0.19.0",
|
"send": "0.18.0",
|
||||||
"serve-static": "1.16.2",
|
"serve-static": "1.15.0",
|
||||||
"setprototypeof": "1.2.0",
|
"setprototypeof": "1.2.0",
|
||||||
"statuses": "2.0.1",
|
"statuses": "2.0.1",
|
||||||
"type-is": "~1.6.18",
|
"type-is": "~1.6.18",
|
||||||
@ -8104,11 +8121,10 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/express/node_modules/path-to-regexp": {
|
"node_modules/express/node_modules/path-to-regexp": {
|
||||||
"version": "0.1.10",
|
"version": "0.1.7",
|
||||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
|
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
|
||||||
"integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==",
|
"integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"license": "MIT"
|
|
||||||
},
|
},
|
||||||
"node_modules/express/node_modules/safe-buffer": {
|
"node_modules/express/node_modules/safe-buffer": {
|
||||||
"version": "5.2.1",
|
"version": "5.2.1",
|
||||||
@ -8284,14 +8300,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/finalhandler": {
|
"node_modules/finalhandler": {
|
||||||
"version": "1.3.1",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
|
||||||
"integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
|
"integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"debug": "2.6.9",
|
"debug": "2.6.9",
|
||||||
"encodeurl": "~2.0.0",
|
"encodeurl": "~1.0.2",
|
||||||
"escape-html": "~1.0.3",
|
"escape-html": "~1.0.3",
|
||||||
"on-finished": "2.4.1",
|
"on-finished": "2.4.1",
|
||||||
"parseurl": "~1.3.3",
|
"parseurl": "~1.3.3",
|
||||||
@ -8307,7 +8322,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||||
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ms": "2.0.0"
|
"ms": "2.0.0"
|
||||||
}
|
}
|
||||||
@ -8316,8 +8330,7 @@
|
|||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||||
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
|
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"license": "MIT"
|
|
||||||
},
|
},
|
||||||
"node_modules/find-cache-dir": {
|
"node_modules/find-cache-dir": {
|
||||||
"version": "3.3.1",
|
"version": "3.3.1",
|
||||||
@ -8694,7 +8707,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
|
||||||
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
|
"integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.6"
|
"node": ">= 0.6"
|
||||||
}
|
}
|
||||||
@ -9268,7 +9280,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz",
|
||||||
"integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
|
"integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"depd": "2.0.0",
|
"depd": "2.0.0",
|
||||||
"inherits": "2.0.4",
|
"inherits": "2.0.4",
|
||||||
@ -9383,7 +9394,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
|
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
|
||||||
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
|
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"safer-buffer": ">= 2.1.2 < 3"
|
"safer-buffer": ">= 2.1.2 < 3"
|
||||||
},
|
},
|
||||||
@ -13730,7 +13740,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
|
||||||
"integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
|
"integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.6"
|
"node": ">= 0.6"
|
||||||
}
|
}
|
||||||
@ -13748,14 +13757,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/merge-descriptors": {
|
"node_modules/merge-descriptors": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
|
||||||
"integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
|
"integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"license": "MIT",
|
|
||||||
"funding": {
|
|
||||||
"url": "https://github.com/sponsors/sindresorhus"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"node_modules/merge-stream": {
|
"node_modules/merge-stream": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
@ -13820,7 +13825,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
|
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
|
||||||
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
|
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"bin": {
|
"bin": {
|
||||||
"mime": "cli.js"
|
"mime": "cli.js"
|
||||||
},
|
},
|
||||||
@ -13972,8 +13976,7 @@
|
|||||||
"node_modules/ms": {
|
"node_modules/ms": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"node_modules/multicast-dns": {
|
"node_modules/multicast-dns": {
|
||||||
"version": "7.2.5",
|
"version": "7.2.5",
|
||||||
@ -14237,7 +14240,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
|
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
|
||||||
"integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
|
"integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ee-first": "1.1.1"
|
"ee-first": "1.1.1"
|
||||||
},
|
},
|
||||||
@ -14559,11 +14561,10 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/path-to-regexp": {
|
"node_modules/path-to-regexp": {
|
||||||
"version": "1.9.0",
|
"version": "1.8.0",
|
||||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
|
||||||
"integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==",
|
"integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"isarray": "0.0.1"
|
"isarray": "0.0.1"
|
||||||
}
|
}
|
||||||
@ -15031,13 +15032,12 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/qs": {
|
"node_modules/qs": {
|
||||||
"version": "6.13.0",
|
"version": "6.11.0",
|
||||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
|
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
|
||||||
"integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
|
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "BSD-3-Clause",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"side-channel": "^1.0.6"
|
"side-channel": "^1.0.4"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.6"
|
"node": ">=0.6"
|
||||||
@ -15104,7 +15104,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz",
|
||||||
"integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
|
"integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"bytes": "3.1.2",
|
"bytes": "3.1.2",
|
||||||
"http-errors": "2.0.0",
|
"http-errors": "2.0.0",
|
||||||
@ -15120,7 +15119,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
|
||||||
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
|
"integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.8"
|
"node": ">= 0.8"
|
||||||
}
|
}
|
||||||
@ -16300,11 +16298,10 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/send": {
|
"node_modules/send": {
|
||||||
"version": "0.19.0",
|
"version": "0.18.0",
|
||||||
"resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
|
"resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
|
||||||
"integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
|
"integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"debug": "2.6.9",
|
"debug": "2.6.9",
|
||||||
"depd": "2.0.0",
|
"depd": "2.0.0",
|
||||||
@ -16329,7 +16326,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
|
||||||
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"ms": "2.0.0"
|
"ms": "2.0.0"
|
||||||
}
|
}
|
||||||
@ -16338,25 +16334,13 @@
|
|||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
|
||||||
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
|
"integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/send/node_modules/encodeurl": {
|
|
||||||
"version": "1.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
|
||||||
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
|
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
|
||||||
"node": ">= 0.8"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"node_modules/send/node_modules/ms": {
|
"node_modules/send/node_modules/ms": {
|
||||||
"version": "2.1.3",
|
"version": "2.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||||
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
"integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"license": "MIT"
|
|
||||||
},
|
},
|
||||||
"node_modules/serialize-javascript": {
|
"node_modules/serialize-javascript": {
|
||||||
"version": "6.0.2",
|
"version": "6.0.2",
|
||||||
@ -16446,16 +16430,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/serve-static": {
|
"node_modules/serve-static": {
|
||||||
"version": "1.16.2",
|
"version": "1.15.0",
|
||||||
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
|
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
|
||||||
"integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
|
"integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"encodeurl": "~2.0.0",
|
"encodeurl": "~1.0.2",
|
||||||
"escape-html": "~1.0.3",
|
"escape-html": "~1.0.3",
|
||||||
"parseurl": "~1.3.3",
|
"parseurl": "~1.3.3",
|
||||||
"send": "0.19.0"
|
"send": "0.18.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.8.0"
|
"node": ">= 0.8.0"
|
||||||
@ -16497,8 +16480,7 @@
|
|||||||
"version": "1.2.0",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
|
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
|
||||||
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
|
"integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
|
||||||
"dev": true,
|
"dev": true
|
||||||
"license": "ISC"
|
|
||||||
},
|
},
|
||||||
"node_modules/shell-quote": {
|
"node_modules/shell-quote": {
|
||||||
"version": "1.8.1",
|
"version": "1.8.1",
|
||||||
@ -16597,6 +16579,34 @@
|
|||||||
"integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
|
"integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/socket.io-client": {
|
||||||
|
"version": "4.7.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz",
|
||||||
|
"integrity": "sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@socket.io/component-emitter": "~3.1.0",
|
||||||
|
"debug": "~4.3.2",
|
||||||
|
"engine.io-client": "~6.5.2",
|
||||||
|
"socket.io-parser": "~4.2.4"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/socket.io-parser": {
|
||||||
|
"version": "4.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz",
|
||||||
|
"integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@socket.io/component-emitter": "~3.1.0",
|
||||||
|
"debug": "~4.3.1"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": ">=10.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/sockjs": {
|
"node_modules/sockjs": {
|
||||||
"version": "0.3.24",
|
"version": "0.3.24",
|
||||||
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
|
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
|
||||||
@ -16719,7 +16729,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz",
|
||||||
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
|
"integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.8"
|
"node": ">= 0.8"
|
||||||
}
|
}
|
||||||
@ -17241,7 +17250,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
|
||||||
"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
|
"integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=0.6"
|
"node": ">=0.6"
|
||||||
}
|
}
|
||||||
@ -17368,7 +17376,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
|
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
|
||||||
"integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
|
"integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"media-typer": "0.3.0",
|
"media-typer": "0.3.0",
|
||||||
"mime-types": "~2.1.24"
|
"mime-types": "~2.1.24"
|
||||||
@ -17626,7 +17633,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
|
||||||
"integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
|
"integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">= 0.8"
|
"node": ">= 0.8"
|
||||||
}
|
}
|
||||||
@ -18409,7 +18415,6 @@
|
|||||||
"version": "8.17.1",
|
"version": "8.17.1",
|
||||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
|
"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
|
||||||
"integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
|
"integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
|
||||||
"dev": true,
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=10.0.0"
|
"node": ">=10.0.0"
|
||||||
@ -18442,6 +18447,14 @@
|
|||||||
"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
|
"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/xmlhttprequest-ssl": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=0.4.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/yallist": {
|
"node_modules/yallist": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||||
@ -21102,6 +21115,11 @@
|
|||||||
"@sinonjs/commons": "^3.0.0"
|
"@sinonjs/commons": "^3.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"@socket.io/component-emitter": {
|
||||||
|
"version": "3.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz",
|
||||||
|
"integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA=="
|
||||||
|
},
|
||||||
"@testing-library/dom": {
|
"@testing-library/dom": {
|
||||||
"version": "5.6.1",
|
"version": "5.6.1",
|
||||||
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-5.6.1.tgz",
|
"resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-5.6.1.tgz",
|
||||||
@ -22328,9 +22346,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"body-parser": {
|
"body-parser": {
|
||||||
"version": "1.20.3",
|
"version": "1.20.2",
|
||||||
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz",
|
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz",
|
||||||
"integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==",
|
"integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"bytes": "3.1.2",
|
"bytes": "3.1.2",
|
||||||
@ -22341,7 +22359,7 @@
|
|||||||
"http-errors": "2.0.0",
|
"http-errors": "2.0.0",
|
||||||
"iconv-lite": "0.4.24",
|
"iconv-lite": "0.4.24",
|
||||||
"on-finished": "2.4.1",
|
"on-finished": "2.4.1",
|
||||||
"qs": "6.13.0",
|
"qs": "6.11.0",
|
||||||
"raw-body": "2.5.2",
|
"raw-body": "2.5.2",
|
||||||
"type-is": "~1.6.18",
|
"type-is": "~1.6.18",
|
||||||
"unpipe": "1.0.0"
|
"unpipe": "1.0.0"
|
||||||
@ -23311,7 +23329,6 @@
|
|||||||
"version": "4.3.5",
|
"version": "4.3.5",
|
||||||
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
|
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz",
|
||||||
"integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
|
"integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==",
|
||||||
"dev": true,
|
|
||||||
"requires": {
|
"requires": {
|
||||||
"ms": "2.1.2"
|
"ms": "2.1.2"
|
||||||
}
|
}
|
||||||
@ -23566,11 +23583,28 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"encodeurl": {
|
"encodeurl": {
|
||||||
"version": "2.0.0",
|
"version": "1.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
||||||
"integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
|
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"engine.io-client": {
|
||||||
|
"version": "6.5.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.5.4.tgz",
|
||||||
|
"integrity": "sha512-GeZeeRjpD2qf49cZQ0Wvh/8NJNfeXkXXcoGh+F77oEAgo9gUHwT1fCRxSNU+YEEaysOJTnsFHmM5oAcPy4ntvQ==",
|
||||||
|
"requires": {
|
||||||
|
"@socket.io/component-emitter": "~3.1.0",
|
||||||
|
"debug": "~4.3.1",
|
||||||
|
"engine.io-parser": "~5.2.1",
|
||||||
|
"ws": "~8.17.1",
|
||||||
|
"xmlhttprequest-ssl": "~2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"engine.io-parser": {
|
||||||
|
"version": "5.2.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz",
|
||||||
|
"integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q=="
|
||||||
|
},
|
||||||
"enhanced-resolve": {
|
"enhanced-resolve": {
|
||||||
"version": "5.17.1",
|
"version": "5.17.1",
|
||||||
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
|
"resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.17.1.tgz",
|
||||||
@ -24541,37 +24575,37 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"express": {
|
"express": {
|
||||||
"version": "4.21.0",
|
"version": "4.19.2",
|
||||||
"resolved": "https://registry.npmjs.org/express/-/express-4.21.0.tgz",
|
"resolved": "https://registry.npmjs.org/express/-/express-4.19.2.tgz",
|
||||||
"integrity": "sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng==",
|
"integrity": "sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"accepts": "~1.3.8",
|
"accepts": "~1.3.8",
|
||||||
"array-flatten": "1.1.1",
|
"array-flatten": "1.1.1",
|
||||||
"body-parser": "1.20.3",
|
"body-parser": "1.20.2",
|
||||||
"content-disposition": "0.5.4",
|
"content-disposition": "0.5.4",
|
||||||
"content-type": "~1.0.4",
|
"content-type": "~1.0.4",
|
||||||
"cookie": "0.6.0",
|
"cookie": "0.6.0",
|
||||||
"cookie-signature": "1.0.6",
|
"cookie-signature": "1.0.6",
|
||||||
"debug": "2.6.9",
|
"debug": "2.6.9",
|
||||||
"depd": "2.0.0",
|
"depd": "2.0.0",
|
||||||
"encodeurl": "~2.0.0",
|
"encodeurl": "~1.0.2",
|
||||||
"escape-html": "~1.0.3",
|
"escape-html": "~1.0.3",
|
||||||
"etag": "~1.8.1",
|
"etag": "~1.8.1",
|
||||||
"finalhandler": "1.3.1",
|
"finalhandler": "1.2.0",
|
||||||
"fresh": "0.5.2",
|
"fresh": "0.5.2",
|
||||||
"http-errors": "2.0.0",
|
"http-errors": "2.0.0",
|
||||||
"merge-descriptors": "1.0.3",
|
"merge-descriptors": "1.0.1",
|
||||||
"methods": "~1.1.2",
|
"methods": "~1.1.2",
|
||||||
"on-finished": "2.4.1",
|
"on-finished": "2.4.1",
|
||||||
"parseurl": "~1.3.3",
|
"parseurl": "~1.3.3",
|
||||||
"path-to-regexp": "0.1.10",
|
"path-to-regexp": "0.1.7",
|
||||||
"proxy-addr": "~2.0.7",
|
"proxy-addr": "~2.0.7",
|
||||||
"qs": "6.13.0",
|
"qs": "6.11.0",
|
||||||
"range-parser": "~1.2.1",
|
"range-parser": "~1.2.1",
|
||||||
"safe-buffer": "5.2.1",
|
"safe-buffer": "5.2.1",
|
||||||
"send": "0.19.0",
|
"send": "0.18.0",
|
||||||
"serve-static": "1.16.2",
|
"serve-static": "1.15.0",
|
||||||
"setprototypeof": "1.2.0",
|
"setprototypeof": "1.2.0",
|
||||||
"statuses": "2.0.1",
|
"statuses": "2.0.1",
|
||||||
"type-is": "~1.6.18",
|
"type-is": "~1.6.18",
|
||||||
@ -24595,9 +24629,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"path-to-regexp": {
|
"path-to-regexp": {
|
||||||
"version": "0.1.10",
|
"version": "0.1.7",
|
||||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz",
|
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
|
||||||
"integrity": "sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w==",
|
"integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"safe-buffer": {
|
"safe-buffer": {
|
||||||
@ -24732,13 +24766,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"finalhandler": {
|
"finalhandler": {
|
||||||
"version": "1.3.1",
|
"version": "1.2.0",
|
||||||
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz",
|
||||||
"integrity": "sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==",
|
"integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"debug": "2.6.9",
|
"debug": "2.6.9",
|
||||||
"encodeurl": "~2.0.0",
|
"encodeurl": "~1.0.2",
|
||||||
"escape-html": "~1.0.3",
|
"escape-html": "~1.0.3",
|
||||||
"on-finished": "2.4.1",
|
"on-finished": "2.4.1",
|
||||||
"parseurl": "~1.3.3",
|
"parseurl": "~1.3.3",
|
||||||
@ -28841,9 +28875,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"merge-descriptors": {
|
"merge-descriptors": {
|
||||||
"version": "1.0.3",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
|
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
|
||||||
"integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
|
"integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"merge-stream": {
|
"merge-stream": {
|
||||||
@ -28996,8 +29030,7 @@
|
|||||||
"ms": {
|
"ms": {
|
||||||
"version": "2.1.2",
|
"version": "2.1.2",
|
||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"multicast-dns": {
|
"multicast-dns": {
|
||||||
"version": "7.2.5",
|
"version": "7.2.5",
|
||||||
@ -29426,9 +29459,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"path-to-regexp": {
|
"path-to-regexp": {
|
||||||
"version": "1.9.0",
|
"version": "1.8.0",
|
||||||
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz",
|
||||||
"integrity": "sha512-xIp7/apCFJuUHdDLWe8O1HIkb0kQrOMb/0u6FXQjemHn/ii5LrIzU6bdECnsiTF/GjZkMEKg1xdiZwNqDYlZ6g==",
|
"integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"isarray": "0.0.1"
|
"isarray": "0.0.1"
|
||||||
@ -29760,12 +29793,12 @@
|
|||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
"qs": {
|
"qs": {
|
||||||
"version": "6.13.0",
|
"version": "6.11.0",
|
||||||
"resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz",
|
"resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz",
|
||||||
"integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==",
|
"integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"side-channel": "^1.0.6"
|
"side-channel": "^1.0.4"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"qss": {
|
"qss": {
|
||||||
@ -30688,9 +30721,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"send": {
|
"send": {
|
||||||
"version": "0.19.0",
|
"version": "0.18.0",
|
||||||
"resolved": "https://registry.npmjs.org/send/-/send-0.19.0.tgz",
|
"resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz",
|
||||||
"integrity": "sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==",
|
"integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"debug": "2.6.9",
|
"debug": "2.6.9",
|
||||||
@ -30725,12 +30758,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"encodeurl": {
|
|
||||||
"version": "1.0.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
|
|
||||||
"integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"ms": {
|
"ms": {
|
||||||
"version": "2.1.3",
|
"version": "2.1.3",
|
||||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
|
||||||
@ -30817,15 +30844,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"serve-static": {
|
"serve-static": {
|
||||||
"version": "1.16.2",
|
"version": "1.15.0",
|
||||||
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz",
|
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz",
|
||||||
"integrity": "sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==",
|
"integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"requires": {
|
"requires": {
|
||||||
"encodeurl": "~2.0.0",
|
"encodeurl": "~1.0.2",
|
||||||
"escape-html": "~1.0.3",
|
"escape-html": "~1.0.3",
|
||||||
"parseurl": "~1.3.3",
|
"parseurl": "~1.3.3",
|
||||||
"send": "0.19.0"
|
"send": "0.18.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"set-function-length": {
|
"set-function-length": {
|
||||||
@ -30932,6 +30959,26 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"socket.io-client": {
|
||||||
|
"version": "4.7.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.7.5.tgz",
|
||||||
|
"integrity": "sha512-sJ/tqHOCe7Z50JCBCXrsY3I2k03iOiUe+tj1OmKeD2lXPiGH/RUCdTZFoqVyN7l1MnpIzPrGtLcijffmeouNlQ==",
|
||||||
|
"requires": {
|
||||||
|
"@socket.io/component-emitter": "~3.1.0",
|
||||||
|
"debug": "~4.3.2",
|
||||||
|
"engine.io-client": "~6.5.2",
|
||||||
|
"socket.io-parser": "~4.2.4"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"socket.io-parser": {
|
||||||
|
"version": "4.2.4",
|
||||||
|
"resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz",
|
||||||
|
"integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==",
|
||||||
|
"requires": {
|
||||||
|
"@socket.io/component-emitter": "~3.1.0",
|
||||||
|
"debug": "~4.3.1"
|
||||||
|
}
|
||||||
|
},
|
||||||
"sockjs": {
|
"sockjs": {
|
||||||
"version": "0.3.24",
|
"version": "0.3.24",
|
||||||
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
|
"resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz",
|
||||||
@ -32253,7 +32300,6 @@
|
|||||||
"version": "8.17.1",
|
"version": "8.17.1",
|
||||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
|
"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz",
|
||||||
"integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
|
"integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==",
|
||||||
"dev": true,
|
|
||||||
"requires": {}
|
"requires": {}
|
||||||
},
|
},
|
||||||
"xml-name-validator": {
|
"xml-name-validator": {
|
||||||
@ -32268,6 +32314,11 @@
|
|||||||
"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
|
"integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"xmlhttprequest-ssl": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A=="
|
||||||
|
},
|
||||||
"yallist": {
|
"yallist": {
|
||||||
"version": "4.0.0",
|
"version": "4.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "foris",
|
"name": "foris",
|
||||||
"version": "6.4.0",
|
"version": "6.1.1",
|
||||||
"description": "Foris JS library is a set of components and utils for reForis application and plugins.",
|
"description": "Foris JS library is a set of components and utils for reForis application and plugins.",
|
||||||
"author": "CZ.NIC, z.s.p.o.",
|
"author": "CZ.NIC, z.s.p.o.",
|
||||||
"repository": {
|
"repository": {
|
||||||
@ -23,7 +23,8 @@
|
|||||||
"moment": "^2.30.1",
|
"moment": "^2.30.1",
|
||||||
"qrcode.react": "^3.1.0",
|
"qrcode.react": "^3.1.0",
|
||||||
"react-datetime": "^3.2.0",
|
"react-datetime": "^3.2.0",
|
||||||
"react-uid": "^2.3.3"
|
"react-uid": "^2.3.3",
|
||||||
|
"socket.io-client": "^4.6.1"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"bootstrap": "^5.3.3",
|
"bootstrap": "^5.3.3",
|
||||||
|
@ -5,12 +5,10 @@
|
|||||||
* See /LICENSE for more information.
|
* See /LICENSE for more information.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import React, { useRef, useEffect, useState } from "react";
|
import React from "react";
|
||||||
|
|
||||||
import PropTypes from "prop-types";
|
import PropTypes from "prop-types";
|
||||||
|
|
||||||
import { useFocusTrap } from "../utils/hooks";
|
|
||||||
|
|
||||||
export const ALERT_TYPES = Object.freeze({
|
export const ALERT_TYPES = Object.freeze({
|
||||||
PRIMARY: "primary",
|
PRIMARY: "primary",
|
||||||
SECONDARY: "secondary",
|
SECONDARY: "secondary",
|
||||||
@ -39,37 +37,17 @@ Alert.defaultProps = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
function Alert({ type, onDismiss, children }) {
|
function Alert({ type, onDismiss, children }) {
|
||||||
const alertRef = useRef();
|
|
||||||
const [isVisible, setIsVisible] = useState(true);
|
|
||||||
useFocusTrap(alertRef, !!onDismiss);
|
|
||||||
|
|
||||||
useEffect(() => {
|
|
||||||
if (onDismiss) {
|
|
||||||
const timeout = setTimeout(() => setIsVisible(false), 7000);
|
|
||||||
return () => clearTimeout(timeout);
|
|
||||||
}
|
|
||||||
}, [onDismiss]);
|
|
||||||
|
|
||||||
const handleAnimationEnd = () => {
|
|
||||||
if (!isVisible && onDismiss) {
|
|
||||||
onDismiss();
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div
|
<div
|
||||||
ref={alertRef}
|
className={`alert alert-${type} ${
|
||||||
className={`alert alert-${type} ${isVisible ? "alert-fade-in" : "alert-slide-out-top"} ${
|
|
||||||
onDismiss ? "alert-dismissible" : ""
|
onDismiss ? "alert-dismissible" : ""
|
||||||
}`.trim()}
|
}`.trim()}
|
||||||
role="alert"
|
|
||||||
onAnimationEnd={handleAnimationEnd}
|
|
||||||
>
|
>
|
||||||
{onDismiss && (
|
{onDismiss && (
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
className="btn-close"
|
className="btn-close"
|
||||||
onClick={() => setIsVisible(false)}
|
onClick={onDismiss}
|
||||||
aria-label={_("Close")}
|
aria-label={_("Close")}
|
||||||
/>
|
/>
|
||||||
)}
|
)}
|
||||||
|
@ -48,13 +48,15 @@ function CopyInput({ value, ...props }) {
|
|||||||
|
|
||||||
return (
|
return (
|
||||||
<Input type="text" value={value} ref={inputTextRef} {...props}>
|
<Input type="text" value={value} ref={inputTextRef} {...props}>
|
||||||
<button
|
<div className="input-group-append">
|
||||||
className="btn btn-outline-secondary"
|
<button
|
||||||
type="button"
|
className="btn btn-outline-secondary"
|
||||||
onClick={handleCopyClick}
|
type="button"
|
||||||
>
|
onClick={handleCopyClick}
|
||||||
<span>{isCopied ? _("Copied!") : _("Copy")}</span>
|
>
|
||||||
</button>
|
<span>{isCopied ? _("Copied!") : _("Copy")}</span>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
</Input>
|
</Input>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -6,7 +6,6 @@ All additional `props` are passed to the `<input type="email">` HTML component.
|
|||||||
|
|
||||||
```js
|
```js
|
||||||
import { useState } from "react";
|
import { useState } from "react";
|
||||||
import Button from "./Button";
|
|
||||||
const [email, setEmail] = useState("Wrong email");
|
const [email, setEmail] = useState("Wrong email");
|
||||||
<form onSubmit={(e) => e.preventDefault()}>
|
<form onSubmit={(e) => e.preventDefault()}>
|
||||||
<EmailInput
|
<EmailInput
|
||||||
@ -15,6 +14,6 @@ const [email, setEmail] = useState("Wrong email");
|
|||||||
helpText="Read the small text!"
|
helpText="Read the small text!"
|
||||||
onChange={(event) => setEmail(event.target.value)}
|
onChange={(event) => setEmail(event.target.value)}
|
||||||
/>
|
/>
|
||||||
<Button type="submit">Try to submit</Button>
|
<button type="submit">Try to submit</button>
|
||||||
</form>;
|
</form>;
|
||||||
```
|
```
|
||||||
|
@ -9,7 +9,7 @@ import React, { useRef, useEffect } from "react";
|
|||||||
|
|
||||||
import PropTypes from "prop-types";
|
import PropTypes from "prop-types";
|
||||||
|
|
||||||
import { useClickOutside, useFocusTrap } from "../utils/hooks";
|
import { useClickOutside } from "../utils/hooks";
|
||||||
import Portal from "../utils/Portal";
|
import Portal from "../utils/Portal";
|
||||||
import "./Modal.css";
|
import "./Modal.css";
|
||||||
|
|
||||||
@ -29,11 +29,10 @@ Modal.propTypes = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export function Modal({ shown, setShown, scrollable, size, children }) {
|
export function Modal({ shown, setShown, scrollable, size, children }) {
|
||||||
const modalRef = useRef();
|
const dialogRef = useRef();
|
||||||
let modalSize = "modal-";
|
let modalSize = "modal-";
|
||||||
|
|
||||||
useClickOutside(modalRef, () => setShown(false));
|
useClickOutside(dialogRef, () => setShown(false));
|
||||||
useFocusTrap(modalRef, shown);
|
|
||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const handleEsc = (event) => {
|
const handleEsc = (event) => {
|
||||||
@ -66,13 +65,11 @@ export function Modal({ shown, setShown, scrollable, size, children }) {
|
|||||||
return (
|
return (
|
||||||
<Portal containerId="modal-container">
|
<Portal containerId="modal-container">
|
||||||
<div
|
<div
|
||||||
ref={modalRef}
|
|
||||||
className={`modal fade ${shown ? "show" : ""}`.trim()}
|
className={`modal fade ${shown ? "show" : ""}`.trim()}
|
||||||
role="dialog"
|
role="dialog"
|
||||||
aria-modal="true"
|
|
||||||
aria-labelledby="modal-title"
|
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
|
ref={dialogRef}
|
||||||
className={`${modalSize.trim()} modal-dialog modal-dialog-centered ${
|
className={`${modalSize.trim()} modal-dialog modal-dialog-centered ${
|
||||||
scrollable ? "modal-dialog-scrollable" : ""
|
scrollable ? "modal-dialog-scrollable" : ""
|
||||||
}`.trim()}
|
}`.trim()}
|
||||||
@ -93,7 +90,7 @@ ModalHeader.propTypes = {
|
|||||||
export function ModalHeader({ setShown, title }) {
|
export function ModalHeader({ setShown, title }) {
|
||||||
return (
|
return (
|
||||||
<div className="modal-header">
|
<div className="modal-header">
|
||||||
<h1 className="modal-title fs-5">{title}</h1>
|
<h5 className="modal-title">{title}</h5>
|
||||||
<button
|
<button
|
||||||
type="button"
|
type="button"
|
||||||
className="btn-close"
|
className="btn-close"
|
||||||
|
@ -1,48 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
|
|
||||||
*
|
|
||||||
* This is free software, licensed under the GNU General Public License v3.
|
|
||||||
* See /LICENSE for more information.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import React from "react";
|
|
||||||
|
|
||||||
import PropTypes from "prop-types";
|
|
||||||
|
|
||||||
Radio.propTypes = {
|
|
||||||
label: PropTypes.oneOfType([
|
|
||||||
PropTypes.string,
|
|
||||||
PropTypes.element,
|
|
||||||
PropTypes.node,
|
|
||||||
PropTypes.arrayOf(PropTypes.node),
|
|
||||||
]).isRequired,
|
|
||||||
id: PropTypes.string.isRequired,
|
|
||||||
inline: PropTypes.bool,
|
|
||||||
helpText: PropTypes.string,
|
|
||||||
className: PropTypes.string,
|
|
||||||
};
|
|
||||||
|
|
||||||
function Radio({ label, id, helpText, inline, className, ...props }) {
|
|
||||||
return (
|
|
||||||
<div
|
|
||||||
className={`${className || "mb-3"} ${inline ? "form-check form-check-inline" : ""}`.trim()}
|
|
||||||
>
|
|
||||||
<input
|
|
||||||
id={id}
|
|
||||||
className="form-check-input me-2"
|
|
||||||
type="radio"
|
|
||||||
{...props}
|
|
||||||
/>
|
|
||||||
<label className="form-check-label" htmlFor={id}>
|
|
||||||
{label}
|
|
||||||
{helpText && (
|
|
||||||
<div className="form-text">
|
|
||||||
<small>{helpText}</small>
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
</label>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export default Radio;
|
|
@ -10,8 +10,6 @@ import React from "react";
|
|||||||
import PropTypes from "prop-types";
|
import PropTypes from "prop-types";
|
||||||
import { useUID } from "react-uid";
|
import { useUID } from "react-uid";
|
||||||
|
|
||||||
import Radio from "./Radio";
|
|
||||||
|
|
||||||
RadioSet.propTypes = {
|
RadioSet.propTypes = {
|
||||||
/** Name attribute of the input HTML tag. */
|
/** Name attribute of the input HTML tag. */
|
||||||
name: PropTypes.string.isRequired,
|
name: PropTypes.string.isRequired,
|
||||||
@ -75,4 +73,40 @@ function RadioSet({ name, label, choices, value, helpText, inline, ...props }) {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Radio.propTypes = {
|
||||||
|
label: PropTypes.oneOfType([
|
||||||
|
PropTypes.string,
|
||||||
|
PropTypes.element,
|
||||||
|
PropTypes.node,
|
||||||
|
PropTypes.arrayOf(PropTypes.node),
|
||||||
|
]).isRequired,
|
||||||
|
id: PropTypes.string.isRequired,
|
||||||
|
inline: PropTypes.bool,
|
||||||
|
helpText: PropTypes.string,
|
||||||
|
className: PropTypes.string,
|
||||||
|
};
|
||||||
|
|
||||||
|
export function Radio({ label, id, helpText, inline, className, ...props }) {
|
||||||
|
return (
|
||||||
|
<div
|
||||||
|
className={`${className || "mb-3"} ${inline ? "form-check form-check-inline" : ""}`.trim()}
|
||||||
|
>
|
||||||
|
<input
|
||||||
|
id={id}
|
||||||
|
className="form-check-input me-2"
|
||||||
|
type="radio"
|
||||||
|
{...props}
|
||||||
|
/>
|
||||||
|
<label className="form-check-label" htmlFor={id}>
|
||||||
|
{label}
|
||||||
|
{helpText && (
|
||||||
|
<div className="form-text">
|
||||||
|
<small>{helpText}</small>
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
export default RadioSet;
|
export default RadioSet;
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
.spinner-wrapper .spinner-border {
|
.spinner-wrapper .spinner-border {
|
||||||
width: 4rem;
|
width: 4rem;
|
||||||
height: 4rem;
|
height: 4rem;
|
||||||
color: var(--bs-primary);
|
color: #00a2e2;
|
||||||
}
|
}
|
||||||
|
|
||||||
.spinner-fs-background {
|
.spinner-fs-background {
|
||||||
|
@ -1,42 +0,0 @@
|
|||||||
/*
|
|
||||||
* Copyright (C) 2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
|
|
||||||
*
|
|
||||||
* This is free software, licensed under the GNU General Public License v3.
|
|
||||||
* See /LICENSE for more information.
|
|
||||||
*/
|
|
||||||
|
|
||||||
import React from "react";
|
|
||||||
|
|
||||||
import { faEllipsisVertical } from "@fortawesome/free-solid-svg-icons";
|
|
||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
|
||||||
import PropTypes from "prop-types";
|
|
||||||
|
|
||||||
import Button from "./Button";
|
|
||||||
|
|
||||||
ThreeDotsMenu.propTypes = {
|
|
||||||
/** Menu items. */
|
|
||||||
children: PropTypes.arrayOf(PropTypes.node).isRequired,
|
|
||||||
};
|
|
||||||
|
|
||||||
function ThreeDotsMenu({ children, ...props }) {
|
|
||||||
return (
|
|
||||||
<div className="dropdown position-static" {...props}>
|
|
||||||
<Button
|
|
||||||
className="btn-sm btn-link text-body"
|
|
||||||
data-bs-toggle="dropdown"
|
|
||||||
aria-expanded="false"
|
|
||||||
>
|
|
||||||
<FontAwesomeIcon icon={faEllipsisVertical} />
|
|
||||||
</Button>
|
|
||||||
<ul className="dropdown-menu">
|
|
||||||
{children.map((child) => (
|
|
||||||
<li key={child.key || child.props.id || Math.random()}>
|
|
||||||
{child}
|
|
||||||
</li>
|
|
||||||
))}
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
export default ThreeDotsMenu;
|
|
@ -1,40 +0,0 @@
|
|||||||
ThreeDotsMenu Bootstrap component is a dropdown menu that appears when the user
|
|
||||||
clicks on three dots. It is used to display a list of actions that can be
|
|
||||||
performed on a particular item.
|
|
||||||
|
|
||||||
```js
|
|
||||||
import { useState } from "react";
|
|
||||||
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
|
|
||||||
import { faEdit, faTrash } from "@fortawesome/free-solid-svg-icons";
|
|
||||||
|
|
||||||
const threeDotsMenuItems = [
|
|
||||||
{
|
|
||||||
text: "Edit",
|
|
||||||
icon: faEdit,
|
|
||||||
onClick: () => {
|
|
||||||
alert("Edit clicked");
|
|
||||||
},
|
|
||||||
},
|
|
||||||
{
|
|
||||||
text: "Delete",
|
|
||||||
icon: faTrash,
|
|
||||||
onClick: () => {
|
|
||||||
alert("Delete clicked");
|
|
||||||
},
|
|
||||||
},
|
|
||||||
];
|
|
||||||
|
|
||||||
<ThreeDotsMenu>
|
|
||||||
{threeDotsMenuItems.map((item, index) => (
|
|
||||||
<button key={index} onClick={item.onClick} className="dropdown-item">
|
|
||||||
<FontAwesomeIcon
|
|
||||||
icon={item.icon}
|
|
||||||
className="me-1"
|
|
||||||
width="1rem"
|
|
||||||
size="sm"
|
|
||||||
/>
|
|
||||||
{item.text}
|
|
||||||
</button>
|
|
||||||
))}
|
|
||||||
</ThreeDotsMenu>;
|
|
||||||
```
|
|
@ -26,7 +26,7 @@ function ResetWiFiSettings({ ws, endpoint }) {
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
const module = "wifi";
|
const module = "wifi";
|
||||||
ws.subscribe(module).bind(module, "reset", () => {
|
ws.bind(module, "reset", () => {
|
||||||
// eslint-disable-next-line no-restricted-globals
|
// eslint-disable-next-line no-restricted-globals
|
||||||
setTimeout(() => location.reload(), 1000);
|
setTimeout(() => location.reload(), 1000);
|
||||||
});
|
});
|
||||||
|
@ -46,7 +46,7 @@ describe("<RebootButton/>", () => {
|
|||||||
fireEvent.click(getByText(componentContainer, "Reboot"));
|
fireEvent.click(getByText(componentContainer, "Reboot"));
|
||||||
fireEvent.click(getByText(componentContainer, "Confirm reboot"));
|
fireEvent.click(getByText(componentContainer, "Confirm reboot"));
|
||||||
expect(mockAxios.post).toHaveBeenCalledWith(
|
expect(mockAxios.post).toHaveBeenCalledWith(
|
||||||
"/reforis/api/reboot",
|
"/api/reboot",
|
||||||
undefined,
|
undefined,
|
||||||
expect.anything()
|
expect.anything()
|
||||||
);
|
);
|
||||||
|
@ -6,8 +6,6 @@ exports[`<RebootButton/> Render modal. 1`] = `
|
|||||||
id="modal-container"
|
id="modal-container"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
aria-labelledby="modal-title"
|
|
||||||
aria-modal="true"
|
|
||||||
class="modal fade show"
|
class="modal fade show"
|
||||||
role="dialog"
|
role="dialog"
|
||||||
>
|
>
|
||||||
@ -21,11 +19,11 @@ exports[`<RebootButton/> Render modal. 1`] = `
|
|||||||
<div
|
<div
|
||||||
class="modal-header"
|
class="modal-header"
|
||||||
>
|
>
|
||||||
<h1
|
<h5
|
||||||
class="modal-title fs-5"
|
class="modal-title"
|
||||||
>
|
>
|
||||||
Warning!
|
Warning!
|
||||||
</h1>
|
</h5>
|
||||||
<button
|
<button
|
||||||
aria-label="Close"
|
aria-label="Close"
|
||||||
class="btn-close"
|
class="btn-close"
|
||||||
|
@ -43,17 +43,14 @@ describe("AlertContext", () => {
|
|||||||
expect(componentContainer).toMatchSnapshot();
|
expect(componentContainer).toMatchSnapshot();
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should dismiss alert with alert button", async () => {
|
it("should dismiss alert with alert button", () => {
|
||||||
fireEvent.click(getByText(componentContainer, "Set alert"));
|
fireEvent.click(getByText(componentContainer, "Set alert"));
|
||||||
// Alert is present
|
// Alert is present
|
||||||
expect(getByText(componentContainer, "Alert content")).toBeDefined();
|
expect(getByText(componentContainer, "Alert content")).toBeDefined();
|
||||||
|
|
||||||
fireEvent.click(componentContainer.querySelector(".btn-close"));
|
fireEvent.click(componentContainer.querySelector(".btn-close"));
|
||||||
// Alert is gone
|
// Alert is gone
|
||||||
await (() =>
|
expect(queryByText(componentContainer, "Alert content")).toBeNull();
|
||||||
expect(
|
|
||||||
queryByText(componentContainer, "Alert content")
|
|
||||||
).toBeNull());
|
|
||||||
});
|
});
|
||||||
|
|
||||||
it("should dismiss alert with external button", () => {
|
it("should dismiss alert with external button", () => {
|
||||||
|
@ -6,8 +6,7 @@ exports[`AlertContext should render alert 1`] = `
|
|||||||
id="alert-container"
|
id="alert-container"
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
class="alert alert-danger alert-fade-in alert-dismissible"
|
class="alert alert-danger alert-dismissible"
|
||||||
role="alert"
|
|
||||||
>
|
>
|
||||||
<button
|
<button
|
||||||
aria-label="Close"
|
aria-label="Close"
|
||||||
|
@ -28,13 +28,11 @@ export { default as FileInput } from "./bootstrap/FileInput";
|
|||||||
export { default as Input } from "./bootstrap/Input";
|
export { default as Input } from "./bootstrap/Input";
|
||||||
export { default as NumberInput } from "./bootstrap/NumberInput";
|
export { default as NumberInput } from "./bootstrap/NumberInput";
|
||||||
export { default as PasswordInput } from "./bootstrap/PasswordInput";
|
export { default as PasswordInput } from "./bootstrap/PasswordInput";
|
||||||
export { default as Radio } from "./bootstrap/Radio";
|
export { default as RadioSet, Radio } from "./bootstrap/RadioSet";
|
||||||
export { default as RadioSet } from "./bootstrap/RadioSet";
|
|
||||||
export { default as Select } from "./bootstrap/Select";
|
export { default as Select } from "./bootstrap/Select";
|
||||||
export { default as TextInput } from "./bootstrap/TextInput";
|
export { default as TextInput } from "./bootstrap/TextInput";
|
||||||
export { formFieldsSize, buttonFormFieldsSize } from "./bootstrap/constants";
|
export { formFieldsSize, buttonFormFieldsSize } from "./bootstrap/constants";
|
||||||
export { default as Switch } from "./bootstrap/Switch";
|
export { default as Switch } from "./bootstrap/Switch";
|
||||||
export { default as ThreeDotsMenu } from "./bootstrap/ThreeDotsMenu";
|
|
||||||
|
|
||||||
export { Spinner, SpinnerElement } from "./bootstrap/Spinner";
|
export { Spinner, SpinnerElement } from "./bootstrap/Spinner";
|
||||||
export { Modal, ModalBody, ModalFooter, ModalHeader } from "./bootstrap/Modal";
|
export { Modal, ModalBody, ModalFooter, ModalHeader } from "./bootstrap/Modal";
|
||||||
|
@ -10,3 +10,4 @@ global._ = (str) => str;
|
|||||||
global.ngettext = (str) => str;
|
global.ngettext = (str) => str;
|
||||||
global.babel = { format: (str) => str };
|
global.babel = { format: (str) => str };
|
||||||
global.ForisTranslations = { locale: "en" };
|
global.ForisTranslations = { locale: "en" };
|
||||||
|
global.setImmediate = (fn) => setTimeout(fn, 0);
|
@ -5,14 +5,12 @@
|
|||||||
* See /LICENSE for more information.
|
* See /LICENSE for more information.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
export const REFORIS_URL_PREFIX = "/reforis";
|
export const REFORIS_URL_PREFIX = process.env.REFORIS_PREFIX || "";
|
||||||
export const REFORIS_API_URL_PREFIX = `${REFORIS_URL_PREFIX}/api`;
|
export const REFORIS_API_URL_PREFIX = `${REFORIS_URL_PREFIX}/api`;
|
||||||
|
|
||||||
export const ForisURLs = {
|
export const ForisURLs = {
|
||||||
// turris-auth
|
|
||||||
login: `/login?${REFORIS_URL_PREFIX}/`,
|
login: `/login?${REFORIS_URL_PREFIX}/`,
|
||||||
logout: `/logout`,
|
logout: `/logout`,
|
||||||
extendSession: `/extend-session`,
|
|
||||||
|
|
||||||
static: `${REFORIS_URL_PREFIX}/static/reforis`,
|
static: `${REFORIS_URL_PREFIX}/static/reforis`,
|
||||||
wifi: `${REFORIS_URL_PREFIX}/network-settings/wifi`,
|
wifi: `${REFORIS_URL_PREFIX}/network-settings/wifi`,
|
||||||
@ -27,13 +25,6 @@ export const ForisURLs = {
|
|||||||
storage: `${REFORIS_URL_PREFIX}/storage`,
|
storage: `${REFORIS_URL_PREFIX}/storage`,
|
||||||
sentinelAgreement: `${REFORIS_URL_PREFIX}/sentinel/agreement`,
|
sentinelAgreement: `${REFORIS_URL_PREFIX}/sentinel/agreement`,
|
||||||
|
|
||||||
// URLs without prefix for Overview page
|
|
||||||
openvpnClientSettings: "/openvpn/client-settings",
|
|
||||||
packageManagementPackages: "/package-management/packages",
|
|
||||||
packageManagementUpdateSettings: "/package-management/update-settings",
|
|
||||||
sentinelLicenseAgreement: "/sentinel/agreement",
|
|
||||||
librespeedSpeedTest: "/librespeed/speed-test",
|
|
||||||
|
|
||||||
// Notifications links are used with <Link/> inside Router, thus url subdir is not required.
|
// Notifications links are used with <Link/> inside Router, thus url subdir is not required.
|
||||||
overview: "/overview",
|
overview: "/overview",
|
||||||
notifications: "/overview#notifications",
|
notifications: "/overview#notifications",
|
||||||
|
@ -40,40 +40,3 @@ export function useClickOutside(element, callback) {
|
|||||||
};
|
};
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Trap focus inside element. */
|
|
||||||
export function useFocusTrap(elementRef, condition = true) {
|
|
||||||
useEffect(() => {
|
|
||||||
if (!condition) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
const currentElement = elementRef.current;
|
|
||||||
const focusableElements = currentElement.querySelectorAll(
|
|
||||||
'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
|
|
||||||
);
|
|
||||||
const firstElement = focusableElements[0];
|
|
||||||
const lastElement = focusableElements[focusableElements.length - 1];
|
|
||||||
|
|
||||||
const handleTab = (event) => {
|
|
||||||
if (event.key === "Tab") {
|
|
||||||
if (event.shiftKey) {
|
|
||||||
if (document.activeElement === firstElement) {
|
|
||||||
lastElement.focus();
|
|
||||||
event.preventDefault();
|
|
||||||
}
|
|
||||||
} else if (document.activeElement === lastElement) {
|
|
||||||
firstElement.focus();
|
|
||||||
event.preventDefault();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
currentElement.addEventListener("keydown", handleTab);
|
|
||||||
|
|
||||||
firstElement.focus();
|
|
||||||
|
|
||||||
return () => {
|
|
||||||
currentElement.removeEventListener("keydown", handleTab);
|
|
||||||
};
|
|
||||||
}, [elementRef, condition]);
|
|
||||||
}
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2020-2022 CZ.NIC z.s.p.o. (http://www.nic.cz/)
|
* Copyright (C) 2020-2024 CZ.NIC z.s.p.o. (https://www.nic.cz/)
|
||||||
*
|
*
|
||||||
* This is free software, licensed under the GNU General Public License v3.
|
* This is free software, licensed under the GNU General Public License v3.
|
||||||
* See /LICENSE for more information.
|
* See /LICENSE for more information.
|
||||||
@ -7,47 +7,33 @@
|
|||||||
|
|
||||||
/* eslint no-console: "off" */
|
/* eslint no-console: "off" */
|
||||||
|
|
||||||
const PROTOCOL = window.location.protocol === "http:" ? "ws" : "wss";
|
import { io } from "socket.io-client";
|
||||||
|
|
||||||
const URL = process.env.LIGHTTPD
|
import { REFORIS_URL_PREFIX } from "../utils/forisUrls";
|
||||||
? `${PROTOCOL}://${window.location.host}/${process.env.WSPATH || "foris-ws"}`
|
|
||||||
: `${PROTOCOL}://${window.location.hostname}:9081`;
|
|
||||||
|
|
||||||
const WAITING_FOR_CONNECTION_TIMEOUT = 500;
|
|
||||||
|
|
||||||
class WebSockets {
|
class WebSockets {
|
||||||
constructor() {
|
constructor() {
|
||||||
this.ws = new WebSocket(URL);
|
this.socket = io("/notifications", {
|
||||||
this.ws.onerror = (e) => {
|
path: `${REFORIS_URL_PREFIX}/reforis-ws`,
|
||||||
console.error("WS: Error:", e);
|
});
|
||||||
};
|
this.connection = null;
|
||||||
this.ws.onmessage = (e) => {
|
this.socket.on("disconnect", (reason) => {
|
||||||
console.debug(`WS: Received Message: ${e.data}`);
|
this.connection = null;
|
||||||
const data = JSON.parse(e.data);
|
console.debug(`SocketIO disconnected (${reason})`);
|
||||||
this.dispatch(data);
|
});
|
||||||
};
|
this.socket.on("notification", (message) => {
|
||||||
this.ws.onopen = () => {
|
console.debug("WS: Received Message:", message);
|
||||||
console.debug("WS: Connection open.");
|
this.dispatch(message);
|
||||||
};
|
});
|
||||||
this.ws.onclose = () => {
|
this.socket.on("connect", (connection) => {
|
||||||
console.debug("WS: Connection closed.");
|
this.connection = connection;
|
||||||
};
|
console.debug(`SocketIO connected.`);
|
||||||
|
});
|
||||||
|
|
||||||
// callbacks[module][action]
|
// callbacks[module][action]
|
||||||
this.callbacks = {};
|
this.callbacks = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
waitForConnection(callback) {
|
|
||||||
if (this.ws.readyState === 1) {
|
|
||||||
callback();
|
|
||||||
} else {
|
|
||||||
const that = this;
|
|
||||||
setTimeout(() => {
|
|
||||||
that.waitForConnection(callback);
|
|
||||||
}, WAITING_FOR_CONNECTION_TIMEOUT);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
bind(module, action, callback) {
|
bind(module, action, callback) {
|
||||||
this.callbacks[module] = this.callbacks[module] || {};
|
this.callbacks[module] = this.callbacks[module] || {};
|
||||||
this.callbacks[module][action] = this.callbacks[module][action] || [];
|
this.callbacks[module][action] = this.callbacks[module][action] || [];
|
||||||
@ -55,13 +41,6 @@ class WebSockets {
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
subscribe(module) {
|
|
||||||
this.waitForConnection(() => {
|
|
||||||
this.send("subscribe", module);
|
|
||||||
});
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
unbind(module, action, callback) {
|
unbind(module, action, callback) {
|
||||||
const callbacks = this.callbacks[module][action];
|
const callbacks = this.callbacks[module][action];
|
||||||
|
|
||||||
@ -75,28 +54,12 @@ class WebSockets {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (Object.keys(this.callbacks[module]).length === 0) {
|
if (Object.keys(this.callbacks[module]).length === 0) {
|
||||||
this.unsubscribe(module);
|
delete this.callbacks[module];
|
||||||
}
|
}
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
|
||||||
unsubscribe(module) {
|
|
||||||
this.waitForConnection(() => {
|
|
||||||
this.send("unsubscribe", module);
|
|
||||||
delete this.callbacks[module];
|
|
||||||
});
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
send(action, params) {
|
|
||||||
const payload = JSON.stringify({ action, params });
|
|
||||||
this.waitForConnection(() => {
|
|
||||||
this.ws.send(payload);
|
|
||||||
});
|
|
||||||
return this;
|
|
||||||
}
|
|
||||||
|
|
||||||
dispatch(json) {
|
dispatch(json) {
|
||||||
if (!json.module) return;
|
if (!json.module) return;
|
||||||
|
|
||||||
@ -105,20 +68,17 @@ class WebSockets {
|
|||||||
chain = this.callbacks[json.module][json.action];
|
chain = this.callbacks[json.module][json.action];
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
if (error instanceof TypeError) {
|
if (error instanceof TypeError) {
|
||||||
console.warn(
|
console.debug(
|
||||||
`Callback for this message wasn't found:${error.data}`
|
`Callbacks for this module wasn't found: ${json.module}`
|
||||||
);
|
);
|
||||||
} else throw error;
|
} else throw error;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (typeof chain === "undefined") return;
|
if (typeof chain === "undefined") return;
|
||||||
|
|
||||||
|
console.debug("Handling WS message", json);
|
||||||
chain.forEach((callback) => callback(json));
|
chain.forEach((callback) => callback(json));
|
||||||
}
|
}
|
||||||
|
|
||||||
close() {
|
|
||||||
this.ws.close();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export default WebSockets;
|
export default WebSockets;
|
||||||
|
@ -33,7 +33,7 @@ function useWSForisModule(
|
|||||||
setData(message.data);
|
setData(message.data);
|
||||||
}
|
}
|
||||||
|
|
||||||
ws.subscribe(module).bind(module, action, callback);
|
ws.bind(module, action, callback);
|
||||||
|
|
||||||
return () => {
|
return () => {
|
||||||
ws.unbind(module, action, callback);
|
ws.unbind(module, action, callback);
|
||||||
|
@ -65,7 +65,7 @@ module.exports = {
|
|||||||
components: "src/bootstrap/*.js",
|
components: "src/bootstrap/*.js",
|
||||||
exampleMode: "expand",
|
exampleMode: "expand",
|
||||||
usageMode: "expand",
|
usageMode: "expand",
|
||||||
ignore: ["src/bootstrap/constants.js", "src/bootstrap/Radio.js"],
|
ignore: ["src/bootstrap/constants.js"],
|
||||||
sectionDepth: 0,
|
sectionDepth: 0,
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
@ -79,7 +79,10 @@ module.exports = {
|
|||||||
__dirname,
|
__dirname,
|
||||||
"node_modules/bootstrap/dist/css/bootstrap.min.css"
|
"node_modules/bootstrap/dist/css/bootstrap.min.css"
|
||||||
),
|
),
|
||||||
path.join(__dirname, "node_modules/bootstrap/dist/js/bootstrap.min.js"),
|
path.join(
|
||||||
|
__dirname,
|
||||||
|
"node_modules/@fortawesome/fontawesome-free/css/all.min.css"
|
||||||
|
),
|
||||||
],
|
],
|
||||||
styleguideComponents: {
|
styleguideComponents: {
|
||||||
LogoRenderer: path.join(__dirname, "docs/components/Logo"),
|
LogoRenderer: path.join(__dirname, "docs/components/Logo"),
|
||||||
|
@ -7,13 +7,13 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2024-09-25 10:15+0000\n"
|
"PO-Revision-Date: 2023-11-23 16:03+0000\n"
|
||||||
"Last-Translator: Lukas Jelinek <lukas.jelinek@nic.cz>\n"
|
"Last-Translator: Lukas Jelinek <lukas.jelinek@nic.cz>\n"
|
||||||
"Language: cs\n"
|
"Language: cs\n"
|
||||||
"Language-Team: Czech <https://hosted.weblate.org/projects/turris/foris-"
|
"Language-Team: Czech <https://hosted.weblate.org/projects/turris/foris-"
|
||||||
"js/cs/>\n"
|
"js/cs/>\n"
|
||||||
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
|
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
@ -35,10 +35,9 @@ msgstr "Neobdržena žádná odezva."
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr "Došlo k neznámé chybě v aplikačním programovém rozhraní."
|
msgstr "Došlo k neznámé chybě v aplikačním programovém rozhraní."
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Zavřít"
|
msgstr ""
|
||||||
|
|
||||||
#: src/bootstrap/CopyInput.js:57
|
#: src/bootstrap/CopyInput.js:57
|
||||||
msgid "Copied!"
|
msgid "Copied!"
|
||||||
@ -100,7 +99,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr "Wi-Fi ${deviceID + 1}"
|
msgstr "Wi-Fi ${deviceID + 1}"
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Heslo"
|
msgstr "Heslo"
|
||||||
|
|
||||||
@ -146,14 +145,15 @@ msgstr "Zapnout Wi-Fi pro hosty"
|
|||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:43
|
#: src/common/WiFiSettings/WiFiQRCode.js:43
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:44
|
#: src/common/WiFiSettings/WiFiQRCode.js:44
|
||||||
|
#, fuzzy
|
||||||
msgid "Show QR code"
|
msgid "Show QR code"
|
||||||
msgstr "Ukázat QR kód"
|
msgstr "Wi-Fi QR kód"
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:70
|
#: src/common/WiFiSettings/WiFiQRCode.js:70
|
||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr "Wi-Fi QR kód"
|
msgstr "Wi-Fi QR kód"
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr "Stáhnout PDF"
|
msgstr "Stáhnout PDF"
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
|
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language: da\n"
|
"Language: da\n"
|
||||||
@ -34,8 +34,7 @@ msgstr ""
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -96,7 +95,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -147,7 +146,7 @@ msgstr ""
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2024-01-04 21:08+0000\n"
|
"PO-Revision-Date: 2024-01-04 21:08+0000\n"
|
||||||
"Last-Translator: Erik Pfannenstein <debianignatz@gmx.de>\n"
|
"Last-Translator: Erik Pfannenstein <debianignatz@gmx.de>\n"
|
||||||
"Language: de\n"
|
"Language: de\n"
|
||||||
@ -35,8 +35,7 @@ msgstr "Keine Antwort erhalten."
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr "Ein unbekannter API-Fehler ist aufgetreten."
|
msgstr "Ein unbekannter API-Fehler ist aufgetreten."
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -102,7 +101,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr "WLAN ${deviceID + 1}"
|
msgstr "WLAN ${deviceID + 1}"
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Passwort"
|
msgstr "Passwort"
|
||||||
|
|
||||||
@ -156,7 +155,7 @@ msgstr "WLAN QR-Code"
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr "WLAN QR-Code"
|
msgstr "WLAN QR-Code"
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr "PDF herunterladen"
|
msgstr "PDF herunterladen"
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2021-02-09 16:50+0000\n"
|
"PO-Revision-Date: 2021-02-09 16:50+0000\n"
|
||||||
"Last-Translator: Michalis <michalisntovas@yahoo.gr>\n"
|
"Last-Translator: Michalis <michalisntovas@yahoo.gr>\n"
|
||||||
"Language: el\n"
|
"Language: el\n"
|
||||||
@ -35,8 +35,7 @@ msgstr ""
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -97,7 +96,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -149,7 +148,7 @@ msgstr ""
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2019-10-17 09:28+0000\n"
|
"PO-Revision-Date: 2019-10-17 09:28+0000\n"
|
||||||
"Last-Translator: Scott Anecito <scott.anecito@protonmail.com>\n"
|
"Last-Translator: Scott Anecito <scott.anecito@protonmail.com>\n"
|
||||||
"Language: en\n"
|
"Language: en\n"
|
||||||
@ -35,8 +35,7 @@ msgstr ""
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -97,7 +96,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -148,7 +147,7 @@ msgstr ""
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7,16 +7,17 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2024-08-24 13:09+0000\n"
|
"PO-Revision-Date: 2024-08-24 13:09+0000\n"
|
||||||
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
|
"Last-Translator: gallegonovato <fran-carro@hotmail.es>\n"
|
||||||
|
"Language-Team: Spanish <https://hosted.weblate.org/projects/turris/foris-js/"
|
||||||
|
"es/>\n"
|
||||||
"Language: es\n"
|
"Language: es\n"
|
||||||
"Language-Team: Spanish <https://hosted.weblate.org/projects/turris/foris-"
|
|
||||||
"js/es/>\n"
|
|
||||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
|
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||||
|
"X-Generator: Weblate 5.7.1-dev\n"
|
||||||
"Generated-By: Babel 2.16.0\n"
|
"Generated-By: Babel 2.16.0\n"
|
||||||
|
|
||||||
#: src/api/utils.js:61
|
#: src/api/utils.js:61
|
||||||
@ -37,8 +38,7 @@ msgstr ""
|
|||||||
"Un error desconocido ha ocurrido. Compruebe la consola para mas "
|
"Un error desconocido ha ocurrido. Compruebe la consola para mas "
|
||||||
"informaciòn."
|
"informaciòn."
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Cerrar"
|
msgstr "Cerrar"
|
||||||
|
|
||||||
@ -102,7 +102,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr "Wi-Fi ${deviceID + 1}"
|
msgstr "Wi-Fi ${deviceID + 1}"
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Contraseña"
|
msgstr "Contraseña"
|
||||||
|
|
||||||
@ -155,7 +155,7 @@ msgstr "Mostrar el código QR"
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr "Código QR Wi-Fi"
|
msgstr "Código QR Wi-Fi"
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr "Descargar PDF"
|
msgstr "Descargar PDF"
|
||||||
|
|
||||||
@ -446,4 +446,3 @@ msgstr "No contiene una lista de correos electrónicos separados por comas."
|
|||||||
#~ " default option with 20 MHz wide "
|
#~ " default option with 20 MHz wide "
|
||||||
#~ "channel."
|
#~ "channel."
|
||||||
#~ msgstr ""
|
#~ msgstr ""
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
|
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language: fi\n"
|
"Language: fi\n"
|
||||||
@ -34,8 +34,7 @@ msgstr ""
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -96,7 +95,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -147,7 +146,7 @@ msgstr ""
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
|
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language: fo\n"
|
"Language: fo\n"
|
||||||
@ -34,8 +34,7 @@ msgstr ""
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -96,7 +95,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -147,7 +146,7 @@ msgstr ""
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -6,9 +6,9 @@
|
|||||||
#, fuzzy
|
#, fuzzy
|
||||||
msgid ""
|
msgid ""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: Foris JS 6.2.0\n"
|
"Project-Id-Version: Foris JS 6.1.0\n"
|
||||||
"Report-Msgid-Bugs-To: tech.support@turris.cz\n"
|
"Report-Msgid-Bugs-To: tech.support@turris.cz\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||||
@ -33,8 +33,7 @@ msgstr ""
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -95,7 +94,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -146,7 +145,7 @@ msgstr ""
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2024-07-27 01:09+0000\n"
|
"PO-Revision-Date: 2024-07-27 01:09+0000\n"
|
||||||
"Last-Translator: Moha684 <nahil82466@gmail.com>\n"
|
"Last-Translator: Moha684 <nahil82466@gmail.com>\n"
|
||||||
"Language: fr\n"
|
"Language: fr\n"
|
||||||
@ -35,8 +35,7 @@ msgstr "Aucun réponse reçue."
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr "Une erreur d’API inconnue s’est produite."
|
msgstr "Une erreur d’API inconnue s’est produite."
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -99,7 +98,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr "Wi-Fi ${deviceID + 1}"
|
msgstr "Wi-Fi ${deviceID + 1}"
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Mot de passe"
|
msgstr "Mot de passe"
|
||||||
|
|
||||||
@ -154,7 +153,7 @@ msgstr "Code QR Wi-Fi"
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr "Code QR Wi-Fi"
|
msgstr "Code QR Wi-Fi"
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr "Télécharger le PDF"
|
msgstr "Télécharger le PDF"
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2022-09-29 14:17+0000\n"
|
"PO-Revision-Date: 2022-09-29 14:17+0000\n"
|
||||||
"Last-Translator: Milo Ivir <mail@milotype.de>\n"
|
"Last-Translator: Milo Ivir <mail@milotype.de>\n"
|
||||||
"Language: hr\n"
|
"Language: hr\n"
|
||||||
@ -36,8 +36,7 @@ msgstr ""
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -98,7 +97,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Lozinka"
|
msgstr "Lozinka"
|
||||||
|
|
||||||
@ -149,7 +148,7 @@ msgstr ""
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2021-01-07 01:26+0000\n"
|
"PO-Revision-Date: 2021-01-07 01:26+0000\n"
|
||||||
"Last-Translator: Zoli <boritek@gmail.com>\n"
|
"Last-Translator: Zoli <boritek@gmail.com>\n"
|
||||||
"Language: hu\n"
|
"Language: hu\n"
|
||||||
@ -35,8 +35,7 @@ msgstr "Nem érkezett válasz."
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr "Ismeretlen API-hiba történt."
|
msgstr "Ismeretlen API-hiba történt."
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -97,7 +96,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -148,7 +147,7 @@ msgstr ""
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2022-12-31 23:48+0000\n"
|
"PO-Revision-Date: 2022-12-31 23:48+0000\n"
|
||||||
"Last-Translator: Anselmo <anselmo@casinadicornia.com>\n"
|
"Last-Translator: Anselmo <anselmo@casinadicornia.com>\n"
|
||||||
"Language: it\n"
|
"Language: it\n"
|
||||||
@ -35,8 +35,7 @@ msgstr ""
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -97,7 +96,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Password"
|
msgstr "Password"
|
||||||
|
|
||||||
@ -148,7 +147,7 @@ msgstr ""
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2019-10-16 10:08+0000\n"
|
"PO-Revision-Date: 2019-10-16 10:08+0000\n"
|
||||||
"Last-Translator: Scott Anecito <scott.anecito@protonmail.com>\n"
|
"Last-Translator: Scott Anecito <scott.anecito@protonmail.com>\n"
|
||||||
"Language: ja\n"
|
"Language: ja\n"
|
||||||
@ -35,8 +35,7 @@ msgstr ""
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -97,7 +96,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -149,7 +148,7 @@ msgstr ""
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
|
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language: ko\n"
|
"Language: ko\n"
|
||||||
@ -34,8 +34,7 @@ msgstr ""
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -96,7 +95,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -147,7 +146,7 @@ msgstr ""
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
|
"PO-Revision-Date: 2019-02-19 13:34+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language: lt\n"
|
"Language: lt\n"
|
||||||
@ -35,8 +35,7 @@ msgstr ""
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -97,7 +96,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -148,7 +147,7 @@ msgstr ""
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2023-03-02 11:40+0000\n"
|
"PO-Revision-Date: 2023-03-02 11:40+0000\n"
|
||||||
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
|
"Last-Translator: Allan Nordhøy <epost@anotheragency.no>\n"
|
||||||
"Language: nb_NO\n"
|
"Language: nb_NO\n"
|
||||||
@ -36,8 +36,7 @@ msgstr "Fikk ikke svar."
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr "Ukjent API-feil."
|
msgstr "Ukjent API-feil."
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -104,7 +103,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr "Wi-Fi ${deviceID + 1}"
|
msgstr "Wi-Fi ${deviceID + 1}"
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Passord"
|
msgstr "Passord"
|
||||||
|
|
||||||
@ -162,7 +161,7 @@ msgstr "QR-kode for Wi-Fi"
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr "QR-kode for Wi-Fi"
|
msgstr "QR-kode for Wi-Fi"
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr "Last ned PDF"
|
msgstr "Last ned PDF"
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2024-01-04 21:08+0000\n"
|
"PO-Revision-Date: 2024-01-04 21:08+0000\n"
|
||||||
"Last-Translator: powerburner-nl <peter.mulder.1981@gmail.com>\n"
|
"Last-Translator: powerburner-nl <peter.mulder.1981@gmail.com>\n"
|
||||||
"Language: nl\n"
|
"Language: nl\n"
|
||||||
@ -35,8 +35,7 @@ msgstr ""
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -98,7 +97,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Wachtwoord"
|
msgstr "Wachtwoord"
|
||||||
|
|
||||||
@ -150,7 +149,7 @@ msgstr ""
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2023-03-07 16:37+0000\n"
|
"PO-Revision-Date: 2023-03-07 16:37+0000\n"
|
||||||
"Last-Translator: Arusekk <arek_koz@o2.pl>\n"
|
"Last-Translator: Arusekk <arek_koz@o2.pl>\n"
|
||||||
"Language: pl\n"
|
"Language: pl\n"
|
||||||
@ -36,8 +36,7 @@ msgstr "Brak odpowiedzi."
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr "Wystąpił nieznany błąd API."
|
msgstr "Wystąpił nieznany błąd API."
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -98,7 +97,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Hasło"
|
msgstr "Hasło"
|
||||||
|
|
||||||
@ -149,7 +148,7 @@ msgstr ""
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2021-12-21 12:52+0000\n"
|
"PO-Revision-Date: 2021-12-21 12:52+0000\n"
|
||||||
"Last-Translator: c10l <weblate.org@a.c10l.cc>\n"
|
"Last-Translator: c10l <weblate.org@a.c10l.cc>\n"
|
||||||
"Language: pt_BR\n"
|
"Language: pt_BR\n"
|
||||||
@ -35,8 +35,7 @@ msgstr ""
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -97,7 +96,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -148,7 +147,7 @@ msgstr ""
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2019-02-19 13:35+0100\n"
|
"PO-Revision-Date: 2019-02-19 13:35+0100\n"
|
||||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||||
"Language: ro\n"
|
"Language: ro\n"
|
||||||
@ -35,8 +35,7 @@ msgstr ""
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -97,7 +96,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -148,7 +147,7 @@ msgstr ""
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2022-12-07 12:47+0000\n"
|
"PO-Revision-Date: 2022-12-07 12:47+0000\n"
|
||||||
"Last-Translator: Алексей Леньшин <alenshin@gmail.com>\n"
|
"Last-Translator: Алексей Леньшин <alenshin@gmail.com>\n"
|
||||||
"Language: ru\n"
|
"Language: ru\n"
|
||||||
@ -36,8 +36,7 @@ msgstr "Ответ не получен."
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr "Неизвестная ошибка программного интерфейса приложения."
|
msgstr "Неизвестная ошибка программного интерфейса приложения."
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -101,7 +100,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr "Wi-Fi ${deviceID + 1}"
|
msgstr "Wi-Fi ${deviceID + 1}"
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Пароль"
|
msgstr "Пароль"
|
||||||
|
|
||||||
@ -155,7 +154,7 @@ msgstr "QR-код Wi-Fi"
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr "QR-код Wi-Fi"
|
msgstr "QR-код Wi-Fi"
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr "Скачать PDF"
|
msgstr "Скачать PDF"
|
||||||
|
|
||||||
|
@ -7,13 +7,13 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2024-09-09 18:09+0000\n"
|
"PO-Revision-Date: 2023-01-17 22:51+0000\n"
|
||||||
"Last-Translator: Atec <dr.atec@gmail.com>\n"
|
"Last-Translator: Atec <dr.atec@gmail.com>\n"
|
||||||
"Language: sk\n"
|
"Language: sk\n"
|
||||||
"Language-Team: Slovak <https://hosted.weblate.org/projects/turris/foris-"
|
"Language-Team: Slovak <https://hosted.weblate.org/projects/turris/foris-"
|
||||||
"js/sk/>\n"
|
"js/sk/>\n"
|
||||||
"Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n"
|
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
|
||||||
"MIME-Version: 1.0\n"
|
"MIME-Version: 1.0\n"
|
||||||
"Content-Type: text/plain; charset=utf-8\n"
|
"Content-Type: text/plain; charset=utf-8\n"
|
||||||
"Content-Transfer-Encoding: 8bit\n"
|
"Content-Transfer-Encoding: 8bit\n"
|
||||||
@ -35,10 +35,9 @@ msgstr "Nenastala žiadna odozva."
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr "Nastala neznáma chyba v API."
|
msgstr "Nastala neznáma chyba v API."
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr "Zatvoriť"
|
msgstr ""
|
||||||
|
|
||||||
#: src/bootstrap/CopyInput.js:57
|
#: src/bootstrap/CopyInput.js:57
|
||||||
msgid "Copied!"
|
msgid "Copied!"
|
||||||
@ -100,7 +99,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr "Wi-Fi ${deviceID + 1}"
|
msgstr "Wi-Fi ${deviceID + 1}"
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Heslo"
|
msgstr "Heslo"
|
||||||
|
|
||||||
@ -146,14 +145,15 @@ msgstr "Povoliť Wi-Fi pre hostí"
|
|||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:43
|
#: src/common/WiFiSettings/WiFiQRCode.js:43
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:44
|
#: src/common/WiFiSettings/WiFiQRCode.js:44
|
||||||
|
#, fuzzy
|
||||||
msgid "Show QR code"
|
msgid "Show QR code"
|
||||||
msgstr "Zobraziť QR kód"
|
msgstr "Wi-Fi QR kód"
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:70
|
#: src/common/WiFiSettings/WiFiQRCode.js:70
|
||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr "Wi-Fi QR kód"
|
msgstr "Wi-Fi QR kód"
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr "Stiahnuť PDF"
|
msgstr "Stiahnuť PDF"
|
||||||
|
|
||||||
@ -184,7 +184,7 @@ msgstr "Heslo nesmie obsahovať viac ako 63 znakov"
|
|||||||
|
|
||||||
#: src/common/WiFiSettings/constants.js:9
|
#: src/common/WiFiSettings/constants.js:9
|
||||||
msgid "Disabled"
|
msgid "Disabled"
|
||||||
msgstr "Vypnuté"
|
msgstr "Zakázané"
|
||||||
|
|
||||||
#: src/common/WiFiSettings/constants.js:10
|
#: src/common/WiFiSettings/constants.js:10
|
||||||
msgid "802.11n - 20 MHz wide channel"
|
msgid "802.11n - 20 MHz wide channel"
|
||||||
|
@ -7,7 +7,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: PROJECT VERSION\n"
|
"Project-Id-Version: PROJECT VERSION\n"
|
||||||
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
||||||
"POT-Creation-Date: 2024-09-25 16:10+0200\n"
|
"POT-Creation-Date: 2024-08-23 14:02+0200\n"
|
||||||
"PO-Revision-Date: 2023-09-22 21:00+0000\n"
|
"PO-Revision-Date: 2023-09-22 21:00+0000\n"
|
||||||
"Last-Translator: Kristoffer Grundström "
|
"Last-Translator: Kristoffer Grundström "
|
||||||
"<swedishsailfishosuser@tutanota.com>\n"
|
"<swedishsailfishosuser@tutanota.com>\n"
|
||||||
@ -36,8 +36,7 @@ msgstr "Inget svar togs emot."
|
|||||||
msgid "An unknown API error occurred."
|
msgid "An unknown API error occurred."
|
||||||
msgstr "Ett okänt API-fel inträffade."
|
msgstr "Ett okänt API-fel inträffade."
|
||||||
|
|
||||||
#: src/bootstrap/Alert.js:57 src/bootstrap/Modal.js:101
|
#: src/bootstrap/Alert.js:51 src/bootstrap/Modal.js:98
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:89
|
|
||||||
msgid "Close"
|
msgid "Close"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
|
|
||||||
@ -101,7 +100,7 @@ msgid "Wi-Fi ${deviceID + 1}"
|
|||||||
msgstr "Wi-Fi ${deviceID + 1}"
|
msgstr "Wi-Fi ${deviceID + 1}"
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiForm.js:132
|
#: src/common/WiFiSettings/WiFiForm.js:132
|
||||||
#: src/common/WiFiSettings/WiFiGuestForm.js:78
|
#: src/common/WiFiSettings/WiFiGuestForm.js:81
|
||||||
msgid "Password"
|
msgid "Password"
|
||||||
msgstr "Lösenord"
|
msgstr "Lösenord"
|
||||||
|
|
||||||
@ -155,7 +154,7 @@ msgstr "QR-kod för Wi-Fi"
|
|||||||
msgid "Wi-Fi QR Code"
|
msgid "Wi-Fi QR Code"
|
||||||
msgstr "QR-kod för Wi-Fi"
|
msgstr "QR-kod för Wi-Fi"
|
||||||
|
|
||||||
#: src/common/WiFiSettings/WiFiQRCode.js:102
|
#: src/common/WiFiSettings/WiFiQRCode.js:93
|
||||||
msgid "Download PDF"
|
msgid "Download PDF"
|
||||||
msgstr "Ladda ner PDF"
|
msgstr "Ladda ner PDF"
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user