diff --git a/ui/package-lock.json b/ui/package-lock.json
index a1383bcc9..853c21f70 100644
--- a/ui/package-lock.json
+++ b/ui/package-lock.json
@@ -4620,7 +4620,7 @@
"version": "18.0.9",
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.9.tgz",
"integrity": "sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==",
- "devOptional": true,
+ "dev": true,
"dependencies": {
"@types/react": "*"
}
@@ -18050,20 +18050,6 @@
"is-typedarray": "^1.0.0"
}
},
- "node_modules/typescript": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
- "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
- "dev": true,
- "peer": true,
- "bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
- },
- "engines": {
- "node": ">=4.2.0"
- }
- },
"node_modules/unbox-primitive": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
@@ -20882,15 +20868,13 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/@csstools/postcss-unset-value/-/postcss-unset-value-1.0.2.tgz",
"integrity": "sha512-c8J4roPBILnelAsdLr4XOAR/GsTm0GJi4XpcfvoWk3U6KiTCqiFYc63KhRMQQX35jYMp4Ao8Ij9+IZRgMfJp1g==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"@csstools/selector-specificity": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/@csstools/selector-specificity/-/selector-specificity-2.0.2.tgz",
"integrity": "sha512-IkpVW/ehM1hWKln4fCA3NzJU8KwD+kIOvPZA4cqxoJHtE21CCzjyp+Kxbu0i5I4tBNOlXPL9mjwnWlL0VEG4Fg==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"@eslint/eslintrc": {
"version": "1.3.3",
@@ -22299,8 +22283,7 @@
"version": "14.4.3",
"resolved": "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.4.3.tgz",
"integrity": "sha512-kCUc5MEwaEMakkO5x7aoD+DLi02ehmEM2QCGWvNqAS1dV/fAvORWEjnjsEIvml59M7Y5kCkWN6fCCyPOe8OL6Q==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"@tootallnate/once": {
"version": "1.1.2",
@@ -22612,7 +22595,7 @@
"version": "18.0.9",
"resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.0.9.tgz",
"integrity": "sha512-qnVvHxASt/H7i+XG1U1xMiY5t+IHcPGUK7TDMDzom08xa7e86eCeKOiLZezwCKVxJn6NEiiy2ekgX8aQssjIKg==",
- "devOptional": true,
+ "dev": true,
"requires": {
"@types/react": "*"
}
@@ -23061,15 +23044,13 @@
"version": "1.8.0",
"resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz",
"integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"acorn-jsx": {
"version": "5.3.2",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
"integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"acorn-node": {
"version": "1.8.2",
@@ -23408,8 +23389,7 @@
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"json-schema-traverse": {
"version": "0.4.1",
@@ -23470,8 +23450,7 @@
"version": "0.3.8",
"resolved": "https://registry.npmjs.org/babel-plugin-named-asset-import/-/babel-plugin-named-asset-import-0.3.8.tgz",
"integrity": "sha512-WXiAc++qo7XcJ1ZnTYGtLxmBCVbddAml3CEXgWaBzNzLNoxtQ8AiGEFDMOhot9XjTCQbvP5E77Fj9Gk924f00Q==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"babel-plugin-polyfill-corejs2": {
"version": "0.3.3",
@@ -23686,8 +23665,7 @@
"bootstrap": {
"version": "5.2.3",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.3.tgz",
- "integrity": "sha512-cEKPM+fwb3cT8NzQZYEu4HilJ3anCrWqh3CHAok1p9jXqMPsPTBhU25fBckEJHJ/p+tTxTFTsFQGM+gaHpi3QQ==",
- "requires": {}
+ "integrity": "sha512-cEKPM+fwb3cT8NzQZYEu4HilJ3anCrWqh3CHAok1p9jXqMPsPTBhU25fBckEJHJ/p+tTxTFTsFQGM+gaHpi3QQ=="
},
"brace-expansion": {
"version": "1.1.11",
@@ -24249,8 +24227,7 @@
"version": "6.3.1",
"resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.3.1.tgz",
"integrity": "sha512-fBffmak0bPAnyqc/HO8C3n2sHrp9wcqQz6ES9koRF2/mLOVAx9zIQ3Y7R29sYCteTPqMCwns4WYQoCX91Xl3+w==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"css-has-pseudo": {
"version": "3.0.4",
@@ -24324,8 +24301,7 @@
"version": "6.0.3",
"resolved": "https://registry.npmjs.org/css-prefers-color-scheme/-/css-prefers-color-scheme-6.0.3.tgz",
"integrity": "sha512-4BqMbZksRkJQx2zAjrokiGMd07RqOa2IxIrrN10lyBe9xhn9DEvjUK79J6jkeiv9D9hQFXKb6g1jwU62jziJZA==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"css-select": {
"version": "4.3.0",
@@ -24440,8 +24416,7 @@
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz",
"integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"csso": {
"version": "4.2.0",
@@ -25420,8 +25395,7 @@
"version": "4.6.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.0.tgz",
"integrity": "sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"eslint-plugin-testing-library": {
"version": "5.9.1",
@@ -25966,8 +25940,7 @@
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"chalk": {
"version": "4.1.2",
@@ -26550,8 +26523,7 @@
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz",
"integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"idb": {
"version": "7.1.1",
@@ -27651,8 +27623,7 @@
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/jest-fast-check/-/jest-fast-check-1.0.2.tgz",
"integrity": "sha512-XuPENBGUN2gaTdPxgPJwFsYp0oj+MieRLpBha0flMxfI01zPHgGkZjGSLThimmsU5XFTGhJYZGVnift7UmsSuw==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"jest-get-type": {
"version": "29.2.0",
@@ -28036,8 +28007,7 @@
"version": "1.2.3",
"resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz",
"integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"jest-regex-util": {
"version": "27.5.1",
@@ -29937,8 +29907,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/postcss-browser-comments/-/postcss-browser-comments-4.0.0.tgz",
"integrity": "sha512-X9X9/WN3KIvY9+hNERUqX9gncsgBA25XaeR+jshHz2j8+sYyHktHw1JdKuMjeLpGktXidqDhA7b/qm1mrBDmgg==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-calc": {
"version": "8.2.4",
@@ -30048,29 +30017,25 @@
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz",
"integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-discard-duplicates": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz",
"integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-discard-empty": {
"version": "5.1.1",
"resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz",
"integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-discard-overridden": {
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz",
"integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-double-position-gradients": {
"version": "3.1.2",
@@ -30095,8 +30060,7 @@
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/postcss-flexbugs-fixes/-/postcss-flexbugs-fixes-5.0.2.tgz",
"integrity": "sha512-18f9voByak7bTktR2QgDveglpn9DTbBWPUzSOe9g0N4WR/2eSt6Vrcbf0hmspvMI6YWGywz6B9f7jzpFNJJgnQ==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-focus-visible": {
"version": "6.0.4",
@@ -30120,15 +30084,13 @@
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/postcss-font-variant/-/postcss-font-variant-5.0.0.tgz",
"integrity": "sha512-1fmkBaCALD72CK2a9i468mA/+tr9/1cBxRRMXOUaZqO43oWPR5imcyPjXwuv7PXbCid4ndlP5zWhidQVVa3hmA==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-gap-properties": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/postcss-gap-properties/-/postcss-gap-properties-3.0.5.tgz",
"integrity": "sha512-IuE6gKSdoUNcvkGIqdtjtcMtZIFyXZhmFd5RUlg97iVEvp1BZKV5ngsAjCjrVy+14uhGBQl9tzmi1Qwq4kqVOg==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-image-set-function": {
"version": "4.0.7",
@@ -30154,8 +30116,7 @@
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/postcss-initial/-/postcss-initial-4.0.1.tgz",
"integrity": "sha512-0ueD7rPqX8Pn1xJIjay0AZeIuDoF+V+VvMt/uOnn+4ezUKhZM/NokDeP6DwMNyIoYByuN/94IQnt5FEkaN59xQ==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-js": {
"version": "4.0.0",
@@ -30201,15 +30162,13 @@
"version": "5.0.4",
"resolved": "https://registry.npmjs.org/postcss-logical/-/postcss-logical-5.0.4.tgz",
"integrity": "sha512-RHXxplCeLh9VjinvMrZONq7im4wjWGlRJAqmAVLXyZaXwfDWP73/oq4NdIp+OZwhQUMj0zjqDfM5Fj7qby+B4g==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-media-minmax": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/postcss-media-minmax/-/postcss-media-minmax-5.0.0.tgz",
"integrity": "sha512-yDUvFf9QdFZTuCUg0g0uNSHVlJ5X1lSzDZjPSFaiCWvjgsvu8vEVxtahPrLMinIDEEGnx6cBe6iqdx5YWz08wQ==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-merge-longhand": {
"version": "5.1.7",
@@ -30277,8 +30236,7 @@
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz",
"integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-modules-local-by-default": {
"version": "4.0.0",
@@ -30343,8 +30301,7 @@
"version": "5.1.0",
"resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz",
"integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-normalize-display-values": {
"version": "5.1.0",
@@ -30449,8 +30406,7 @@
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/postcss-page-break/-/postcss-page-break-3.0.4.tgz",
"integrity": "sha512-1JGu8oCjVXLa9q9rFTo4MbeeA5FMe00/9C7lN4va606Rdb+HkxXtXsmEDrIraQ11fGz/WvKWa8gMuCKkrXpTsQ==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-place": {
"version": "7.0.5",
@@ -30550,8 +30506,7 @@
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/postcss-replace-overflow-wrap/-/postcss-replace-overflow-wrap-4.0.0.tgz",
"integrity": "sha512-KmF7SBPphT4gPPcKZc7aDkweHiKEEO8cla/GjcBK+ckKxiZslIu3C4GCRW3DNfL0o7yW7kMQu9xlZ1kXRXLXtw==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"postcss-selector-not": {
"version": "6.0.1",
@@ -31004,8 +30959,7 @@
"react-hook-form": {
"version": "7.42.1",
"resolved": "https://registry.npmjs.org/react-hook-form/-/react-hook-form-7.42.1.tgz",
- "integrity": "sha512-2UIGqwMZksd5HS55crTT1ATLTr0rAI4jS7yVuqTaoRVDhY2Qc4IyjskCmpnmdYqUNOYFy04vW253tb2JRVh+IQ==",
- "requires": {}
+ "integrity": "sha512-2UIGqwMZksd5HS55crTT1ATLTr0rAI4jS7yVuqTaoRVDhY2Qc4IyjskCmpnmdYqUNOYFy04vW253tb2JRVh+IQ=="
},
"react-infinite-scroll-component": {
"version": "6.1.0",
@@ -31160,8 +31114,7 @@
"react-simple-code-editor": {
"version": "0.13.1",
"resolved": "https://registry.npmjs.org/react-simple-code-editor/-/react-simple-code-editor-0.13.1.tgz",
- "integrity": "sha512-XYeVwRZwgyKtjNIYcAEgg2FaQcCZwhbarnkJIV20U2wkCU9q/CPFBo8nRXrK4GXUz3AvbqZFsZRrpUTkqqEYyQ==",
- "requires": {}
+ "integrity": "sha512-XYeVwRZwgyKtjNIYcAEgg2FaQcCZwhbarnkJIV20U2wkCU9q/CPFBo8nRXrK4GXUz3AvbqZFsZRrpUTkqqEYyQ=="
},
"react-transition-group": {
"version": "4.4.5",
@@ -31233,8 +31186,7 @@
"redux-thunk": {
"version": "2.4.2",
"resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.4.2.tgz",
- "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q==",
- "requires": {}
+ "integrity": "sha512-+P3TjtnP0k/FEjcBL5FZpoovtvrTNT/UXd4/sluaSyrURlSlhLSzEdfsTBW7WsKB6yPvgd7q/iZPICFjW4o57Q=="
},
"regenerate": {
"version": "1.4.2",
@@ -31609,8 +31561,7 @@
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz",
"integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"json-schema-traverse": {
"version": "0.4.1",
@@ -32124,8 +32075,7 @@
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz",
"integrity": "sha512-GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"stylehacks": {
"version": "5.1.1",
@@ -32602,13 +32552,6 @@
"is-typedarray": "^1.0.0"
}
},
- "typescript": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz",
- "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==",
- "dev": true,
- "peer": true
- },
"unbox-primitive": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz",
@@ -32724,8 +32667,7 @@
"urs": {
"version": "0.0.8",
"resolved": "https://registry.npmjs.org/urs/-/urs-0.0.8.tgz",
- "integrity": "sha512-LaSSPpr91XrVA3vW2zPupw4K6DSQEDKdL4yQZX1mO2fpljIMpB5zctrjRvxLurelWSgKsHsCmfHNCImscryirQ==",
- "requires": {}
+ "integrity": "sha512-LaSSPpr91XrVA3vW2zPupw4K6DSQEDKdL4yQZX1mO2fpljIMpB5zctrjRvxLurelWSgKsHsCmfHNCImscryirQ=="
},
"use-http": {
"version": "1.0.27",
@@ -32748,14 +32690,12 @@
"use-ssr": {
"version": "1.0.24",
"resolved": "https://registry.npmjs.org/use-ssr/-/use-ssr-1.0.24.tgz",
- "integrity": "sha512-0MFps7ezL57/3o0yl4CvrHLlp9z20n1rQZV/lSRz7if+TUoM6POU1XdOvEjIgjgKeIhTEye1U0khrIYWCTWw4g==",
- "requires": {}
+ "integrity": "sha512-0MFps7ezL57/3o0yl4CvrHLlp9z20n1rQZV/lSRz7if+TUoM6POU1XdOvEjIgjgKeIhTEye1U0khrIYWCTWw4g=="
},
"use-sync-external-store": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.2.0.tgz",
- "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA==",
- "requires": {}
+ "integrity": "sha512-eEgnFxGQ1Ife9bzYs6VLi8/4X6CObHMw9Qr9tPY43iKwsPw8xE8+EFsf/2cFZ5S3esXgpWgtSCtLNS41F+sKPA=="
},
"util-deprecate": {
"version": "1.0.2",
@@ -33066,8 +33006,7 @@
"version": "8.11.0",
"resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz",
"integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==",
- "dev": true,
- "requires": {}
+ "dev": true
}
}
},
@@ -33520,8 +33459,7 @@
"version": "7.5.9",
"resolved": "https://registry.npmjs.org/ws/-/ws-7.5.9.tgz",
"integrity": "sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==",
- "dev": true,
- "requires": {}
+ "dev": true
},
"xml-name-validator": {
"version": "3.0.0",
diff --git a/ui/src/app/App.router.js b/ui/src/app/App.router.js
index ff65a19b3..01dfe80ce 100644
--- a/ui/src/app/App.router.js
+++ b/ui/src/app/App.router.js
@@ -70,6 +70,10 @@ import MetadataSelector from "./metadata/hoc/MetadataSelector";
import { MetadataFilterList } from "./metadata/editor/MetadataFilterList";
export const router = createBrowserRouter([
+ {
+ path: `/index.html`,
+ element:
+ },
{
path: `/`,
element: ,
diff --git a/ui/src/app/core/components/ProtectRoute.test.js b/ui/src/app/core/components/ProtectRoute.test.js
index 9ecc515dd..58cc8cc5c 100644
--- a/ui/src/app/core/components/ProtectRoute.test.js
+++ b/ui/src/app/core/components/ProtectRoute.test.js
@@ -1,6 +1,6 @@
import React from 'react';
import { render, screen } from '@testing-library/react';
-import { BrowserRouter, MemoryRouter, Route } from 'react-router-dom';
+import { BrowserRouter, MemoryRouter, Route, Routes, useNavigate } from 'react-router-dom';
import { ProtectRoute } from './ProtectRoute';
const mockIsAdmin = jest.fn();
@@ -10,10 +10,12 @@ jest.mock('../user/UserContext', () => ({
useCurrentUser: () => ({role: 'ROLE_ADMIN'}),
}));
-const renderWithRouter = (ui, { route = '/' } = {}) => {
- window.navigateState({}, 'Test page', route)
-
- return render(ui, { wrapper: BrowserRouter })
+const renderWithRouter = (ui) => {
+ return render(
+
+ {ui}
+
+ )
}
describe('AdminRoute user is admin', () => {
@@ -33,10 +35,9 @@ describe('AdminRoute user is NOT admin', () => {
});
it('should redirect the user to the dashboard if not admin', () => {
- renderWithRouter(
- hi there
- 'dashboard' } />
- , {route: '/foo'});
+ renderWithRouter(
+ hi there } />
+ , {route: '/foo'});
expect(screen.getByText('dashboard')).toBeInTheDocument();
});
});
\ No newline at end of file
diff --git a/ui/src/app/core/components/UserConfirmation.test.js b/ui/src/app/core/components/UserConfirmation.test.js
deleted file mode 100644
index ceb48f48d..000000000
--- a/ui/src/app/core/components/UserConfirmation.test.js
+++ /dev/null
@@ -1,95 +0,0 @@
-import React from 'react';
-import { render, fireEvent, screen } from '@testing-library/react';
-import { UserConfirmation, ConfirmWindow } from './UserConfirmation';
-
-jest.mock('../../i18n/hooks', () => ({
- useTranslator: () => (value) => value,
- useTranslation: (value) => value
-}));
-
-const mockReload = jest.fn();
-
-jest.mock('../utility/window', () => ({
- reload: () => mockReload()
-}))
-
-const mockIncludes = jest.fn();
-
-jest.mock('react-router-dom', () => ({
- useNavigate: () => ({
- location: {
- pathname: {
- includes: mockIncludes
- }
- }
- })
-}));
-
-const TestWindow = ({getConfirmation, message}) => {
- React.useEffect(() => getConfirmation('foo', jest.fn()), [])
- return {message};
-}
-
-describe('user confirmation context', () => {
- it('should render its children with a function', () => {
- render(
- {(message, confirm, confirmCallback, setConfirm, getConfirmation) => hi there
}
- );
- expect(screen.getByText('hi there')).toBeInTheDocument();
- expect(screen.getByText('foo')).toBeInTheDocument();
- });
-});
-
-describe('confirmation window', () => {
-
- it('should provide buttons to confirm', async () => {
-
- const message = 'hi there';
- const confirm = true;
- const confirmCallback = jest.fn();
- const setConfirm = jest.fn();
-
- render( );
- expect(screen.getByText('hi there')).toBeInTheDocument();
-
- fireEvent.click(screen.getByText('action.discard-changes'));
-
- expect(confirmCallback).toHaveBeenCalledWith(true);
-
- });
-
- it('should provide buttons to stop', async () => {
-
- const message = 'hi there';
- const confirm = true;
- const confirmCallback = jest.fn();
- const setConfirm = jest.fn();
-
- render();
- expect(screen.getByText('hi there')).toBeInTheDocument();
-
- fireEvent.click(screen.getByText('action.cancel'));
-
- expect(confirmCallback).toHaveBeenCalledWith(false);
-
- });
-
- it('should redirect if on a provider', () => {
- mockIncludes.mockReturnValue(true);
-
- const message = 'hi there';
- const confirm = true;
- const confirmCallback = jest.fn();
- const setConfirm = jest.fn();
-
- render();
- expect(screen.getByText('hi there')).toBeInTheDocument();
-
- fireEvent.click(screen.getByText('action.discard-changes'));
-
- expect(confirmCallback).toHaveBeenCalledWith(true);
-
- expect(mockReload).toHaveBeenCalled();
- })
-});
-