diff --git a/package.json b/package.json index d499e88a..cdd7c0aa 100644 --- a/package.json +++ b/package.json @@ -17,11 +17,11 @@ "@microsoft/signalr": "^8.0.7", "@monaco-editor/react": "^4.6.0", "@reduxjs/toolkit": "^2.5.0", - "@sentry/browser": "^8.45.0", - "@sentry/react": "^8.45.0", + "@sentry/browser": "^8.46.0", + "@sentry/react": "^8.46.0", "@tanstack/react-query": "^5.62.7", "@tanstack/react-query-devtools": "^5.62.7", - "@tanstack/react-virtual": "^3.11.1", + "@tanstack/react-virtual": "^3.11.2", "axios": "^1.7.9", "classnames": "^2.5.1", "copy-to-clipboard": "^3.3.3", @@ -37,12 +37,12 @@ "react-avatar-editor": "^13.0.2", "react-dom": "^19.0.0", "react-grid-layout": "^1.5.0", - "react-modal": "^3.16.1", + "react-modal": "^3.16.3", "react-redux": "^9.2.0", "react-resizable": "^3.0.5", "react-responsive": "^10.0.0", "react-router": "^7.0.2", - "react-toastify": "^10.0.6", + "react-toastify": "^11.0.0", "react-tooltip": "^5.28.0", "react-use-measure": "^2.1.1", "redux": "^5.0.1", @@ -88,7 +88,7 @@ "postcss-import": "^16.1.0", "postcss-load-config": "^6.0.1", "postcss-preset-env": "^10.1.2", - "stylelint": "^16.11.0", + "stylelint": "^16.12.0", "stylelint-config-standard": "^36.0.1", "stylelint-config-tailwindcss": "^0.0.7", "tailwindcss": "^3.4.16", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 13857a2d..0cb7fd05 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -36,11 +36,11 @@ importers: specifier: ^2.5.0 version: 2.5.0(react-redux@9.2.0(@types/react@19.0.1)(react@19.0.0)(redux@5.0.1))(react@19.0.0) '@sentry/browser': - specifier: ^8.45.0 - version: 8.45.0 + specifier: ^8.46.0 + version: 8.46.0 '@sentry/react': - specifier: ^8.45.0 - version: 8.45.0(react@19.0.0) + specifier: ^8.46.0 + version: 8.46.0(react@19.0.0) '@tanstack/react-query': specifier: ^5.62.7 version: 5.62.7(react@19.0.0) @@ -48,8 +48,8 @@ importers: specifier: ^5.62.7 version: 5.62.7(@tanstack/react-query@5.62.7(react@19.0.0))(react@19.0.0) '@tanstack/react-virtual': - specifier: ^3.11.1 - version: 3.11.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + specifier: ^3.11.2 + version: 3.11.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) axios: specifier: ^1.7.9 version: 1.7.9 @@ -96,8 +96,8 @@ importers: specifier: ^1.5.0 version: 1.5.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react-modal: - specifier: ^3.16.1 - version: 3.16.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + specifier: ^3.16.3 + version: 3.16.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react-redux: specifier: ^9.2.0 version: 9.2.0(@types/react@19.0.1)(react@19.0.0)(redux@5.0.1) @@ -111,8 +111,8 @@ importers: specifier: ^7.0.2 version: 7.0.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react-toastify: - specifier: ^10.0.6 - version: 10.0.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + specifier: ^11.0.0 + version: 11.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react-tooltip: specifier: ^5.28.0 version: 5.28.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) @@ -140,10 +140,10 @@ importers: version: 2.22.7 '@stylistic/stylelint-config': specifier: ^2.0.0 - version: 2.0.0(stylelint@16.11.0(typescript@5.6.3)) + version: 2.0.0(stylelint@16.12.0(typescript@5.6.3)) '@stylistic/stylelint-plugin': specifier: ^3.1.1 - version: 3.1.1(stylelint@16.11.0(typescript@5.6.3)) + version: 3.1.1(stylelint@16.12.0(typescript@5.6.3)) '@tanstack/eslint-plugin-query': specifier: ^5.62.1 version: 5.62.1(eslint@8.57.1)(typescript@5.6.3) @@ -244,14 +244,14 @@ importers: specifier: ^10.1.2 version: 10.1.2(postcss@8.4.49) stylelint: - specifier: ^16.11.0 - version: 16.11.0(typescript@5.6.3) + specifier: ^16.12.0 + version: 16.12.0(typescript@5.6.3) stylelint-config-standard: specifier: ^36.0.1 - version: 36.0.1(stylelint@16.11.0(typescript@5.6.3)) + version: 36.0.1(stylelint@16.12.0(typescript@5.6.3)) stylelint-config-tailwindcss: specifier: ^0.0.7 - version: 0.0.7(stylelint@16.11.0(typescript@5.6.3))(tailwindcss@3.4.16) + version: 0.0.7(stylelint@16.12.0(typescript@5.6.3))(tailwindcss@3.4.16) tailwindcss: specifier: ^3.4.16 version: 3.4.16 @@ -1011,8 +1011,8 @@ packages: rollup: optional: true - '@rollup/pluginutils@5.1.3': - resolution: {integrity: sha512-Pnsb6f32CD2W3uCaLZIzDmeFyQ2b8UWMFI7xtwUezpcGBDVDW6y9XgAWIlARiGAo6eNF5FK5aQTr0LFyNyqq5A==} + '@rollup/pluginutils@5.1.4': + resolution: {integrity: sha512-USm05zrsFxYLPdWWq+K3STlWiT/3ELn3RcV5hJMghpeAIhxfsUIg6mt12CBJBInWMV4VneoV7SfGv8xIwo2qNQ==} engines: {node: '>=14.0.0'} peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 @@ -1118,28 +1118,28 @@ packages: '@rtsao/scc@1.1.0': resolution: {integrity: sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==} - '@sentry-internal/browser-utils@8.45.0': - resolution: {integrity: sha512-MX/E/C+W5I9jkGD1PsbZ2hpCc7YuizNKmEbuGPxQPfUSIPrdE2wpo6ZfIhEbxq9m/trl1oRCN4PXi3BB7dlYYg==} + '@sentry-internal/browser-utils@8.46.0': + resolution: {integrity: sha512-NZSUvCo0wDApXKh9dudJLu2gAJKcC6Dr6sAh8u5apNIapViuwajrOBhRrOWjfUUNH4Ey/GUNDD/4RK1l46KkwQ==} engines: {node: '>=14.18'} - '@sentry-internal/feedback@8.45.0': - resolution: {integrity: sha512-WerpfkKrKPAlnQuqjEgKXZtrx68cla7GyOkNOeL40JQbY4/By4Qjx1atUOmgk/FdjrCLPw+jQQY9pXRpMRqqRw==} + '@sentry-internal/feedback@8.46.0': + resolution: {integrity: sha512-v4sfzMQuZWLO9EqytsKNg/QZlZWj2PXYXlD4r7ML1fOq+by220HzRiY4tBEi3vlyhHSA+YnXLfz01WcJtNQEWg==} engines: {node: '>=14.18'} - '@sentry-internal/replay-canvas@8.45.0': - resolution: {integrity: sha512-LZ8kBuzO5gutDiWnCyYEzBMDLq9PIllcsWsXRpKoau0Zqs3DbyRolI11dNnxmUSh7UW21FksxBpqn5yPmUMbag==} + '@sentry-internal/replay-canvas@8.46.0': + resolution: {integrity: sha512-3Gj81GEEtX848Xwzm/oiccgcfkvULSv4BH5wAJZ3tr3YAKYZbCjqB9GkYsPInY0mnc3BMNRDJ9se7iUWD1AROg==} engines: {node: '>=14.18'} - '@sentry-internal/replay@8.45.0': - resolution: {integrity: sha512-SOFwFpzx0B6lxhLl2hBnxvybo7gdB5TMY8dOHMwXgk5A2+BXvSpvWXnr33yqUlBmC8R3LeFTB3C0plzM5lhkJg==} + '@sentry-internal/replay@8.46.0': + resolution: {integrity: sha512-GS3oIHZ/3Qijg5u6hl2cDpJJmOy577cXWFqYZleR9qH7h2TFGpNVNTqoEt3m9e3VylHvhFNEshFCemXaOVb6ZA==} engines: {node: '>=14.18'} '@sentry/babel-plugin-component-annotate@2.22.7': resolution: {integrity: sha512-aa7XKgZMVl6l04NY+3X7BP7yvQ/s8scn8KzQfTLrGRarziTlMGrsCOBQtCNWXOPEbtxAIHpZ9dsrAn5EJSivOQ==} engines: {node: '>= 14'} - '@sentry/browser@8.45.0': - resolution: {integrity: sha512-Y+BcfpXY1eEkOYOzgLGkx1YH940uMAymYOxfSZSvC+Vx6xHuaGT05mIFef/aeZbyu2AUs6JjdvD1BRBZlHg78w==} + '@sentry/browser@8.46.0': + resolution: {integrity: sha512-lgm1LM2yvgAw+xADc6lpA/sZNL3YuVd0OK8VM2Csdd5bRlquouCqDuW/iimUvO2aBDnXGWGIhMkzpk8Hp8NTvA==} engines: {node: '>=14.18'} '@sentry/bundler-plugin-core@2.22.7': @@ -1192,12 +1192,12 @@ packages: engines: {node: '>= 10'} hasBin: true - '@sentry/core@8.45.0': - resolution: {integrity: sha512-4YTuBipWSh4JrtSYS5GxUQBAcAgOIkEoFfFbwVcr3ivijOacJLRXTBn3rpcy1CKjBq0PHDGR+2RGRYC+bNAMxg==} + '@sentry/core@8.46.0': + resolution: {integrity: sha512-aOEOBw5ueqN0cv7J3DJDDAlfJf+GxiGsUJZCG5Rsgiq4/jYW8ezY4glUyx+J9yjwvpfHt4IFaQtBQaeXUQBN6g==} engines: {node: '>=14.18'} - '@sentry/react@8.45.0': - resolution: {integrity: sha512-xuJBDATJKAHOxpR5IBfGFWJxXb05GMPGGpk8UoWai1Mh50laAQ0/WW+5sDAKrCjXoA+JZ6fb3DP8EE2X93n1nw==} + '@sentry/react@8.46.0': + resolution: {integrity: sha512-GwtD0+I5lTuzi7riGpxmYuH1z6/Kr92wfvHGp+efs6ET8tT2IJgAruUE88T9FJGFQk/GVP7eF4ILolGJwJy9sA==} engines: {node: '>=14.18'} peerDependencies: react: ^16.14.0 || 17.x || 18.x || 19.x @@ -1243,14 +1243,14 @@ packages: peerDependencies: react: ^18 || ^19 - '@tanstack/react-virtual@3.11.1': - resolution: {integrity: sha512-orn2QNe5tF6SqjucHJ6cKTKcRDe3GG7bcYqPNn72Yejj7noECdzgAyRfGt2pGDPemhYim3d1HIR/dgruCnLfUA==} + '@tanstack/react-virtual@3.11.2': + resolution: {integrity: sha512-OuFzMXPF4+xZgx8UzJha0AieuMihhhaWG0tCqpp6tDzlFwOmNBPYMuLOtMJ1Tr4pXLHmgjcWhG6RlknY2oNTdQ==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 - '@tanstack/virtual-core@3.10.9': - resolution: {integrity: sha512-kBknKOKzmeR7lN+vSadaKWXaLS0SZZG+oqpQ/k80Q6g9REn6zRHS/ZYdrIzHnpHgy/eWs00SujveUN/GJT2qTw==} + '@tanstack/virtual-core@3.11.2': + resolution: {integrity: sha512-vTtpNt7mKCiZ1pwU9hfKPhpdVO2sVzFQsxoVBGtOSHxlrRRzYr8iQ2TlwbAcRYCcEiZ9ECAM8kBzH0v2+VzfKw==} '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -1336,8 +1336,8 @@ packages: resolution: {integrity: sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/scope-manager@8.18.0': - resolution: {integrity: sha512-PNGcHop0jkK2WVYGotk/hxj+UFLhXtGPiGtiaWgVBVP1jhMoMCHlTyJA+hEj4rszoSdLTK3fN4oOatrL0Cp+Xw==} + '@typescript-eslint/scope-manager@8.18.1': + resolution: {integrity: sha512-HxfHo2b090M5s2+/9Z3gkBhI6xBH8OJCFjH9MhQ+nnoZqxU3wNxkLT+VWXWSFWc3UF3Z+CfPAyqdCTdoXtDPCQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/type-utils@7.18.0': @@ -1354,8 +1354,8 @@ packages: resolution: {integrity: sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/types@8.18.0': - resolution: {integrity: sha512-FNYxgyTCAnFwTrzpBGq+zrnoTO4x0c1CKYY5MuUTzpScqmY5fmsh2o3+57lqdI3NZucBDCzDgdEbIaNfAjAHQA==} + '@typescript-eslint/types@8.18.1': + resolution: {integrity: sha512-7uoAUsCj66qdNQNpH2G8MyTFlgerum8ubf21s3TSM3XmKXuIn+H2Sifh/ES2nPOPiYSRJWAk0fDkW0APBWcpfw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@7.18.0': @@ -1367,8 +1367,8 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@8.18.0': - resolution: {integrity: sha512-rqQgFRu6yPkauz+ms3nQpohwejS8bvgbPyIDq13cgEDbkXt4LH4OkDMT0/fN1RUtzG8e8AKJyDBoocuQh8qNeg==} + '@typescript-eslint/typescript-estree@8.18.1': + resolution: {integrity: sha512-z8U21WI5txzl2XYOW7i9hJhxoKKNG1kcU4RzyNvKrdZDmbjkmLBo8bgeiOJmA06kizLI76/CCBAAGlTlEeUfyg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.8.0' @@ -1379,8 +1379,8 @@ packages: peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/utils@8.18.0': - resolution: {integrity: sha512-p6GLdY383i7h5b0Qrfbix3Vc3+J2k6QWw6UMUeY5JGfm3C5LbZ4QIZzJNoNOfgyRe0uuYKjvVOsO/jD4SJO+xg==} + '@typescript-eslint/utils@8.18.1': + resolution: {integrity: sha512-8vikiIj2ebrC4WRdcAdDcmnu9Q/MXXwg+STf40BVfT8exDqBCUPdypvzcUPxEqRGKg9ALagZ0UWcYCtn+4W2iQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -1390,8 +1390,8 @@ packages: resolution: {integrity: sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/visitor-keys@8.18.0': - resolution: {integrity: sha512-pCh/qEA8Lb1wVIqNvBke8UaRjJ6wrAWkJO5yyIbs8Yx6TNGYyfNjOo61tLv+WwLvoLPp4BQ8B7AHKijl8NGUfw==} + '@typescript-eslint/visitor-keys@8.18.1': + resolution: {integrity: sha512-Vj0WLm5/ZsD013YeUKn+K0y8p1M0jPpxOkKdbD1wB0ns53a5piVY02zjf072TblEweAbcYiFiPoSMF3kp+VhhQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.1': @@ -1496,20 +1496,20 @@ packages: resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} engines: {node: '>= 0.4'} - array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + array.prototype.flat@1.3.3: + resolution: {integrity: sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==} engines: {node: '>= 0.4'} - array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + array.prototype.flatmap@1.3.3: + resolution: {integrity: sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==} engines: {node: '>= 0.4'} array.prototype.tosorted@1.1.4: resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} engines: {node: '>= 0.4'} - arraybuffer.prototype.slice@1.0.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + arraybuffer.prototype.slice@1.0.4: + resolution: {integrity: sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==} engines: {node: '>= 0.4'} ast-types-flow@0.0.8: @@ -1592,8 +1592,8 @@ packages: resolution: {integrity: sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==} engines: {node: '>= 0.4'} - call-bound@1.0.2: - resolution: {integrity: sha512-0lk0PHFe/uz0vl527fG9CgdE9WdafjDbCXvBbs+LUv000TVt2Jjhqbs4Jwm8gz070w8xXyEAxrPOMullsxXeGg==} + call-bound@1.0.3: + resolution: {integrity: sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==} engines: {node: '>= 0.4'} callsites@3.1.0: @@ -1604,8 +1604,8 @@ packages: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - caniuse-lite@1.0.30001688: - resolution: {integrity: sha512-Nmqpru91cuABu/DTCXbM2NSRHzM2uVHfPnhJ/1zEAJx/ILBRVmz3pzH4N7DZqbdG0gWClsCC05Oj0mJ/1AWMbA==} + caniuse-lite@1.0.30001689: + resolution: {integrity: sha512-CmeR2VBycfa+5/jOfnp/NpWPGd06nf1XYiefUvhXFfZE4GkRc9jv+eGPS4nT558WS/8lYCzV8SlANCIPvbWP1g==} chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -1830,15 +1830,15 @@ packages: resolution: {integrity: sha512-vCQC+IMHVZbISA5pxEj+yshQbozmQoVFA4lzcLlqJ8rzIAH8U+1DKvesN/2Uv3Bqz6rMW6W4WY7pYJQljmiZ8w==} hasBin: true - dunder-proto@1.0.0: - resolution: {integrity: sha512-9+Sj30DIu+4KvHqMfLUGLFYL2PkURSYMVXJyXe92nFRvlYq5hBjLEhblKB+vkd/WVlUYMWigiY07T91Fkk0+4A==} + dunder-proto@1.0.1: + resolution: {integrity: sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==} engines: {node: '>= 0.4'} eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - electron-to-chromium@1.5.73: - resolution: {integrity: sha512-8wGNxG9tAG5KhGd3eeA0o6ixhiNdgr0DcHWm85XPCphwZgD1lIEoi6t3VERayWao7SF7AAZTw6oARGJeVjH8Kg==} + electron-to-chromium@1.5.74: + resolution: {integrity: sha512-ck3//9RC+6oss/1Bh9tiAVFy5vfSKbRHAFh7Z3/eTRkEqJeWgymloShB17Vg3Z4nmDNp35vAd1BZ6CMW4Wt6Iw==} emoji-regex@10.4.0: resolution: {integrity: sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==} @@ -1864,8 +1864,8 @@ packages: error-ex@1.3.2: resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - es-abstract@1.23.5: - resolution: {integrity: sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==} + es-abstract@1.23.6: + resolution: {integrity: sha512-Ifco6n3yj2tMZDWNLyloZrytt9lqqlwvS83P3HtaETR0NUOYnIULGGHpktqYGObGy+8wc1okO25p8TjemhImvA==} engines: {node: '>= 0.4'} es-define-property@1.0.1: @@ -2177,8 +2177,8 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + function.prototype.name@1.1.7: + resolution: {integrity: sha512-2g4x+HqTJKM9zcJqBSpjoRmdcPFtJM60J3xJisTQSXBWka5XqyBN/2tNUgma1mztTXyDuUsEtYe5qcs7xYzYQA==} engines: {node: '>= 0.4'} functions-have-names@1.2.3: @@ -2346,8 +2346,8 @@ packages: resolution: {integrity: sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==} engines: {node: '>= 0.4'} - is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + is-array-buffer@3.0.5: + resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} engines: {node: '>= 0.4'} is-arrayish@0.2.1: @@ -2392,8 +2392,8 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} - is-finalizationregistry@1.1.0: - resolution: {integrity: sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA==} + is-finalizationregistry@1.1.1: + resolution: {integrity: sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==} engines: {node: '>= 0.4'} is-fullwidth-code-point@3.0.0: @@ -2424,8 +2424,8 @@ packages: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} - is-number-object@1.1.0: - resolution: {integrity: sha512-KVSZV0Dunv9DTPkhXwcZ3Q+tUc9TsaE1ZwX5J2WMvsSGS6Md8TFPun5uwh0yRdrNerI6vf/tbJxqSx4c1ZI1Lw==} + is-number-object@1.1.1: + resolution: {integrity: sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==} engines: {node: '>= 0.4'} is-number@7.0.0: @@ -2456,8 +2456,8 @@ packages: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - is-string@1.1.0: - resolution: {integrity: sha512-PlfzajuF9vSo5wErv3MJAKD/nqf9ngAs1NFQYm16nUYFO2IzxJ2hcm+IOCg+EEopdykNNUhVq5cz35cAUxU8+g==} + is-string@1.1.1: + resolution: {integrity: sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==} engines: {node: '>= 0.4'} is-symbol@1.1.1: @@ -2476,8 +2476,8 @@ packages: resolution: {integrity: sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==} engines: {node: '>= 0.4'} - is-weakset@2.0.3: - resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + is-weakset@2.0.4: + resolution: {integrity: sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==} engines: {node: '>= 0.4'} isarray@2.0.5: @@ -2608,8 +2608,8 @@ packages: lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - magic-string@0.30.15: - resolution: {integrity: sha512-zXeaYRgZ6ldS1RJJUrMrYgNJ4fdwnyI6tVqoiIhyCyv5IVTK9BU8Ic2l253GGETQHxI4HNUwhJ3fjDhKqEoaAw==} + magic-string@0.30.17: + resolution: {integrity: sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==} magic-string@0.30.8: resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} @@ -3182,12 +3182,11 @@ packages: react-lifecycles-compat@3.0.4: resolution: {integrity: sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA==} - react-modal@3.16.1: - resolution: {integrity: sha512-VStHgI3BVcGo7OXczvnJN7yT2TWHJPDXZWyI/a0ssFNhGZWsPmB8cF0z33ewDXq4VfYMO1vXgiv/g8Nj9NDyWg==} - engines: {node: '>=8'} + react-modal@3.16.3: + resolution: {integrity: sha512-yCYRJB5YkeQDQlTt17WGAgFJ7jr2QYcWa1SHqZ3PluDmnKJ/7+tVU+E6uKyZ0nODaeEj+xCpK4LcSnKXLMC0Nw==} peerDependencies: - react: ^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 - react-dom: ^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 + react: ^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 || ^19 + react-dom: ^0.14.0 || ^15.0.0 || ^16 || ^17 || ^18 || ^19 react-redux@9.2.0: resolution: {integrity: sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==} @@ -3226,11 +3225,11 @@ packages: react-dom: optional: true - react-toastify@10.0.6: - resolution: {integrity: sha512-yYjp+omCDf9lhZcrZHKbSq7YMuK0zcYkDFTzfRFgTXkTFHZ1ToxwAonzA4JI5CxA91JpjFLmwEsZEgfYfOqI1A==} + react-toastify@11.0.0: + resolution: {integrity: sha512-NLTt0hNNlVZPLnY+uzUvmE2H2jRHUpaPi7H3+84+3fMjZSpfngyL/r+2VcaepNItWuN0BCBiZdVluXixXYSFmw==} peerDependencies: - react: '>=18' - react-dom: '>=18' + react: ^18 || ^19 + react-dom: ^18 || ^19 react-tooltip@5.28.0: resolution: {integrity: sha512-R5cO3JPPXk6FRbBHMO0rI9nkUG/JKfalBSQfZedZYzmqaZQgq7GLzF8vcCWx6IhUCKg0yPqJhXIzmIO5ff15xg==} @@ -3505,8 +3504,8 @@ packages: stylelint: '>=13.13.1' tailwindcss: '>=2.2.16' - stylelint@16.11.0: - resolution: {integrity: sha512-zrl4IrKmjJQ+h9FoMp69UMCq5SxeHk0URhxUBj4d3ISzo/DplOFBJZc7t7Dr6otB+1bfbbKNLOmCDpzKSlW+Nw==} + stylelint@16.12.0: + resolution: {integrity: sha512-F8zZ3L/rBpuoBZRvI4JVT20ZanPLXfQLzMOZg1tzPflRVh9mKpOZ8qcSIhh1my3FjAjZWG4T2POwGnmn6a6hbg==} engines: {node: '>=18.12.0'} hasBin: true @@ -3630,8 +3629,9 @@ packages: engines: {node: '>=14.17'} hasBin: true - unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + unbox-primitive@1.1.0: + resolution: {integrity: sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==} + engines: {node: '>= 0.4'} undici-types@6.20.0: resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} @@ -3739,8 +3739,8 @@ packages: whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - which-boxed-primitive@1.1.0: - resolution: {integrity: sha512-Ei7Miu/AXe2JJ4iNF5j/UphAgRoma4trE6PtisM09bPygb3egMH3YLW/befsWb1A1AxvNSFidOFTB18XtnIIng==} + which-boxed-primitive@1.1.1: + resolution: {integrity: sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==} engines: {node: '>= 0.4'} which-builtin-type@1.2.1: @@ -4378,7 +4378,7 @@ snapshots: '@floating-ui/react': 0.26.28(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@react-aria/focus': 3.19.0(react@19.0.0) '@react-aria/interactions': 3.22.5(react@19.0.0) - '@tanstack/react-virtual': 3.11.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@tanstack/react-virtual': 3.11.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: 19.0.0 react-dom: 19.0.0(react@19.0.0) @@ -4539,7 +4539,7 @@ snapshots: optionalDependencies: rollup: 4.28.1 - '@rollup/pluginutils@5.1.3(rollup@4.28.1)': + '@rollup/pluginutils@5.1.4(rollup@4.28.1)': dependencies: '@types/estree': 1.0.6 estree-walker: 2.0.2 @@ -4606,33 +4606,33 @@ snapshots: '@rtsao/scc@1.1.0': {} - '@sentry-internal/browser-utils@8.45.0': + '@sentry-internal/browser-utils@8.46.0': dependencies: - '@sentry/core': 8.45.0 + '@sentry/core': 8.46.0 - '@sentry-internal/feedback@8.45.0': + '@sentry-internal/feedback@8.46.0': dependencies: - '@sentry/core': 8.45.0 + '@sentry/core': 8.46.0 - '@sentry-internal/replay-canvas@8.45.0': + '@sentry-internal/replay-canvas@8.46.0': dependencies: - '@sentry-internal/replay': 8.45.0 - '@sentry/core': 8.45.0 + '@sentry-internal/replay': 8.46.0 + '@sentry/core': 8.46.0 - '@sentry-internal/replay@8.45.0': + '@sentry-internal/replay@8.46.0': dependencies: - '@sentry-internal/browser-utils': 8.45.0 - '@sentry/core': 8.45.0 + '@sentry-internal/browser-utils': 8.46.0 + '@sentry/core': 8.46.0 '@sentry/babel-plugin-component-annotate@2.22.7': {} - '@sentry/browser@8.45.0': + '@sentry/browser@8.46.0': dependencies: - '@sentry-internal/browser-utils': 8.45.0 - '@sentry-internal/feedback': 8.45.0 - '@sentry-internal/replay': 8.45.0 - '@sentry-internal/replay-canvas': 8.45.0 - '@sentry/core': 8.45.0 + '@sentry-internal/browser-utils': 8.46.0 + '@sentry-internal/feedback': 8.46.0 + '@sentry-internal/replay': 8.46.0 + '@sentry-internal/replay-canvas': 8.46.0 + '@sentry/core': 8.46.0 '@sentry/bundler-plugin-core@2.22.7': dependencies: @@ -4688,12 +4688,12 @@ snapshots: - encoding - supports-color - '@sentry/core@8.45.0': {} + '@sentry/core@8.46.0': {} - '@sentry/react@8.45.0(react@19.0.0)': + '@sentry/react@8.46.0(react@19.0.0)': dependencies: - '@sentry/browser': 8.45.0 - '@sentry/core': 8.45.0 + '@sentry/browser': 8.46.0 + '@sentry/core': 8.46.0 hoist-non-react-statics: 3.3.2 react: 19.0.0 @@ -4705,12 +4705,12 @@ snapshots: - encoding - supports-color - '@stylistic/stylelint-config@2.0.0(stylelint@16.11.0(typescript@5.6.3))': + '@stylistic/stylelint-config@2.0.0(stylelint@16.12.0(typescript@5.6.3))': dependencies: - '@stylistic/stylelint-plugin': 3.1.1(stylelint@16.11.0(typescript@5.6.3)) - stylelint: 16.11.0(typescript@5.6.3) + '@stylistic/stylelint-plugin': 3.1.1(stylelint@16.12.0(typescript@5.6.3)) + stylelint: 16.12.0(typescript@5.6.3) - '@stylistic/stylelint-plugin@3.1.1(stylelint@16.11.0(typescript@5.6.3))': + '@stylistic/stylelint-plugin@3.1.1(stylelint@16.12.0(typescript@5.6.3))': dependencies: '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) '@csstools/css-tokenizer': 3.0.3 @@ -4719,7 +4719,7 @@ snapshots: postcss-selector-parser: 6.1.2 postcss-value-parser: 4.2.0 style-search: 0.1.0 - stylelint: 16.11.0(typescript@5.6.3) + stylelint: 16.12.0(typescript@5.6.3) '@swc/helpers@0.5.15': dependencies: @@ -4727,7 +4727,7 @@ snapshots: '@tanstack/eslint-plugin-query@5.62.1(eslint@8.57.1)(typescript@5.6.3)': dependencies: - '@typescript-eslint/utils': 8.18.0(eslint@8.57.1)(typescript@5.6.3) + '@typescript-eslint/utils': 8.18.1(eslint@8.57.1)(typescript@5.6.3) eslint: 8.57.1 transitivePeerDependencies: - supports-color @@ -4748,13 +4748,13 @@ snapshots: '@tanstack/query-core': 5.62.7 react: 19.0.0 - '@tanstack/react-virtual@3.11.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': + '@tanstack/react-virtual@3.11.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@tanstack/virtual-core': 3.10.9 + '@tanstack/virtual-core': 3.11.2 react: 19.0.0 react-dom: 19.0.0(react@19.0.0) - '@tanstack/virtual-core@3.10.9': {} + '@tanstack/virtual-core@3.11.2': {} '@types/babel__core@7.20.5': dependencies: @@ -4863,10 +4863,10 @@ snapshots: '@typescript-eslint/types': 7.18.0 '@typescript-eslint/visitor-keys': 7.18.0 - '@typescript-eslint/scope-manager@8.18.0': + '@typescript-eslint/scope-manager@8.18.1': dependencies: - '@typescript-eslint/types': 8.18.0 - '@typescript-eslint/visitor-keys': 8.18.0 + '@typescript-eslint/types': 8.18.1 + '@typescript-eslint/visitor-keys': 8.18.1 '@typescript-eslint/type-utils@7.18.0(eslint@8.57.1)(typescript@5.6.3)': dependencies: @@ -4882,7 +4882,7 @@ snapshots: '@typescript-eslint/types@7.18.0': {} - '@typescript-eslint/types@8.18.0': {} + '@typescript-eslint/types@8.18.1': {} '@typescript-eslint/typescript-estree@7.18.0(typescript@5.6.3)': dependencies: @@ -4899,10 +4899,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.18.0(typescript@5.6.3)': + '@typescript-eslint/typescript-estree@8.18.1(typescript@5.6.3)': dependencies: - '@typescript-eslint/types': 8.18.0 - '@typescript-eslint/visitor-keys': 8.18.0 + '@typescript-eslint/types': 8.18.1 + '@typescript-eslint/visitor-keys': 8.18.1 debug: 4.4.0 fast-glob: 3.3.2 is-glob: 4.0.3 @@ -4924,12 +4924,12 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@8.18.0(eslint@8.57.1)(typescript@5.6.3)': + '@typescript-eslint/utils@8.18.1(eslint@8.57.1)(typescript@5.6.3)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@8.57.1) - '@typescript-eslint/scope-manager': 8.18.0 - '@typescript-eslint/types': 8.18.0 - '@typescript-eslint/typescript-estree': 8.18.0(typescript@5.6.3) + '@typescript-eslint/scope-manager': 8.18.1 + '@typescript-eslint/types': 8.18.1 + '@typescript-eslint/typescript-estree': 8.18.1(typescript@5.6.3) eslint: 8.57.1 typescript: 5.6.3 transitivePeerDependencies: @@ -4940,9 +4940,9 @@ snapshots: '@typescript-eslint/types': 7.18.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@8.18.0': + '@typescript-eslint/visitor-keys@8.18.1': dependencies: - '@typescript-eslint/types': 8.18.0 + '@typescript-eslint/types': 8.18.1 eslint-visitor-keys: 4.2.0 '@ungap/structured-clone@1.2.1': {} @@ -5028,16 +5028,16 @@ snapshots: array-buffer-byte-length@1.0.1: dependencies: call-bind: 1.0.8 - is-array-buffer: 3.0.4 + is-array-buffer: 3.0.5 array-includes@3.1.8: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.6 es-object-atoms: 1.0.0 get-intrinsic: 1.2.6 - is-string: 1.1.0 + is-string: 1.1.1 array-union@2.1.0: {} @@ -5045,7 +5045,7 @@ snapshots: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.6 es-errors: 1.3.0 es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 @@ -5054,43 +5054,42 @@ snapshots: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.6 es-errors: 1.3.0 es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 - array.prototype.flat@1.3.2: + array.prototype.flat@1.3.3: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.6 es-shim-unscopables: 1.0.2 - array.prototype.flatmap@1.3.2: + array.prototype.flatmap@1.3.3: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.6 es-shim-unscopables: 1.0.2 array.prototype.tosorted@1.1.4: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.6 es-errors: 1.3.0 es-shim-unscopables: 1.0.2 - arraybuffer.prototype.slice@1.0.3: + arraybuffer.prototype.slice@1.0.4: dependencies: array-buffer-byte-length: 1.0.1 call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.6 es-errors: 1.3.0 get-intrinsic: 1.2.6 - is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.3 + is-array-buffer: 3.0.5 ast-types-flow@0.0.8: {} @@ -5101,7 +5100,7 @@ snapshots: autoprefixer@10.4.20(postcss@8.4.49): dependencies: browserslist: 4.24.3 - caniuse-lite: 1.0.30001688 + caniuse-lite: 1.0.30001689 fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.1.1 @@ -5169,8 +5168,8 @@ snapshots: browserslist@4.24.3: dependencies: - caniuse-lite: 1.0.30001688 - electron-to-chromium: 1.5.73 + caniuse-lite: 1.0.30001689 + electron-to-chromium: 1.5.74 node-releases: 2.0.19 update-browserslist-db: 1.1.1(browserslist@4.24.3) @@ -5186,16 +5185,16 @@ snapshots: get-intrinsic: 1.2.6 set-function-length: 1.2.2 - call-bound@1.0.2: + call-bound@1.0.3: dependencies: - call-bind: 1.0.8 + call-bind-apply-helpers: 1.0.1 get-intrinsic: 1.2.6 callsites@3.1.0: {} camelcase-css@2.0.1: {} - caniuse-lite@1.0.30001688: {} + caniuse-lite@1.0.30001689: {} chalk@4.1.2: dependencies: @@ -5405,7 +5404,7 @@ snapshots: '@dprint/win32-arm64': 0.47.6 '@dprint/win32-x64': 0.47.6 - dunder-proto@1.0.0: + dunder-proto@1.0.1: dependencies: call-bind-apply-helpers: 1.0.1 es-errors: 1.3.0 @@ -5413,7 +5412,7 @@ snapshots: eastasianwidth@0.2.0: {} - electron-to-chromium@1.5.73: {} + electron-to-chromium@1.5.74: {} emoji-regex@10.4.0: {} @@ -5434,12 +5433,13 @@ snapshots: dependencies: is-arrayish: 0.2.1 - es-abstract@1.23.5: + es-abstract@1.23.6: dependencies: array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.3 + arraybuffer.prototype.slice: 1.0.4 available-typed-arrays: 1.0.7 call-bind: 1.0.8 + call-bound: 1.0.3 data-view-buffer: 1.0.1 data-view-byte-length: 1.0.1 data-view-byte-offset: 1.0.0 @@ -5448,7 +5448,7 @@ snapshots: es-object-atoms: 1.0.0 es-set-tostringtag: 2.0.3 es-to-primitive: 1.3.0 - function.prototype.name: 1.1.6 + function.prototype.name: 1.1.7 get-intrinsic: 1.2.6 get-symbol-description: 1.0.2 globalthis: 1.0.4 @@ -5458,15 +5458,16 @@ snapshots: has-symbols: 1.1.0 hasown: 2.0.2 internal-slot: 1.1.0 - is-array-buffer: 3.0.4 + is-array-buffer: 3.0.5 is-callable: 1.2.7 is-data-view: 1.0.2 is-negative-zero: 2.0.3 is-regex: 1.2.1 is-shared-array-buffer: 1.0.3 - is-string: 1.1.0 + is-string: 1.1.1 is-typed-array: 1.1.13 is-weakref: 1.1.0 + math-intrinsics: 1.0.0 object-inspect: 1.13.3 object-keys: 1.1.1 object.assign: 4.1.5 @@ -5480,7 +5481,7 @@ snapshots: typed-array-byte-length: 1.0.1 typed-array-byte-offset: 1.0.3 typed-array-length: 1.0.7 - unbox-primitive: 1.0.2 + unbox-primitive: 1.1.0 which-typed-array: 1.1.16 es-define-property@1.0.1: {} @@ -5491,7 +5492,7 @@ snapshots: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.6 es-errors: 1.3.0 es-set-tostringtag: 2.0.3 function-bind: 1.1.2 @@ -5627,8 +5628,8 @@ snapshots: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 + array.prototype.flat: 1.3.3 + array.prototype.flatmap: 1.3.3 debug: 3.2.7 doctrine: 2.1.0 eslint: 8.57.1 @@ -5655,7 +5656,7 @@ snapshots: dependencies: aria-query: 5.3.2 array-includes: 3.1.8 - array.prototype.flatmap: 1.3.2 + array.prototype.flatmap: 1.3.3 ast-types-flow: 0.0.8 axe-core: 4.10.2 axobject-query: 4.1.0 @@ -5682,7 +5683,7 @@ snapshots: dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 - array.prototype.flatmap: 1.3.2 + array.prototype.flatmap: 1.3.3 array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.0 @@ -5894,12 +5895,13 @@ snapshots: function-bind@1.1.2: {} - function.prototype.name@1.1.6: + function.prototype.name@1.1.7: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.5 functions-have-names: 1.2.3 + hasown: 2.0.2 + is-callable: 1.2.7 functions-have-names@1.2.3: {} @@ -5910,7 +5912,7 @@ snapshots: get-intrinsic@1.2.6: dependencies: call-bind-apply-helpers: 1.0.1 - dunder-proto: 1.0.0 + dunder-proto: 1.0.1 es-define-property: 1.0.1 es-errors: 1.3.0 es-object-atoms: 1.0.0 @@ -6013,7 +6015,7 @@ snapshots: has-proto@1.2.0: dependencies: - dunder-proto: 1.0.0 + dunder-proto: 1.0.1 has-symbols@1.1.0: {} @@ -6072,9 +6074,10 @@ snapshots: hasown: 2.0.2 side-channel: 1.1.0 - is-array-buffer@3.0.4: + is-array-buffer@3.0.5: dependencies: call-bind: 1.0.8 + call-bound: 1.0.3 get-intrinsic: 1.2.6 is-arrayish@0.2.1: {} @@ -6093,7 +6096,7 @@ snapshots: is-boolean-object@1.2.1: dependencies: - call-bound: 1.0.2 + call-bound: 1.0.3 has-tostringtag: 1.0.2 is-bun-module@1.3.0: @@ -6108,20 +6111,20 @@ snapshots: is-data-view@1.0.2: dependencies: - call-bound: 1.0.2 + call-bound: 1.0.3 get-intrinsic: 1.2.6 is-typed-array: 1.1.13 is-date-object@1.1.0: dependencies: - call-bound: 1.0.2 + call-bound: 1.0.3 has-tostringtag: 1.0.2 is-extglob@2.1.1: {} - is-finalizationregistry@1.1.0: + is-finalizationregistry@1.1.1: dependencies: - call-bind: 1.0.8 + call-bound: 1.0.3 is-fullwidth-code-point@3.0.0: {} @@ -6143,9 +6146,9 @@ snapshots: is-negative-zero@2.0.3: {} - is-number-object@1.1.0: + is-number-object@1.1.1: dependencies: - call-bind: 1.0.8 + call-bound: 1.0.3 has-tostringtag: 1.0.2 is-number@7.0.0: {} @@ -6156,7 +6159,7 @@ snapshots: is-regex@1.2.1: dependencies: - call-bound: 1.0.2 + call-bound: 1.0.3 gopd: 1.2.0 has-tostringtag: 1.0.2 hasown: 2.0.2 @@ -6169,14 +6172,14 @@ snapshots: is-stream@3.0.0: {} - is-string@1.1.0: + is-string@1.1.1: dependencies: - call-bind: 1.0.8 + call-bound: 1.0.3 has-tostringtag: 1.0.2 is-symbol@1.1.1: dependencies: - call-bound: 1.0.2 + call-bound: 1.0.3 has-symbols: 1.1.0 safe-regex-test: 1.1.0 @@ -6188,11 +6191,11 @@ snapshots: is-weakref@1.1.0: dependencies: - call-bound: 1.0.2 + call-bound: 1.0.3 - is-weakset@2.0.3: + is-weakset@2.0.4: dependencies: - call-bind: 1.0.8 + call-bound: 1.0.3 get-intrinsic: 1.2.6 isarray@2.0.5: {} @@ -6243,7 +6246,7 @@ snapshots: jsx-ast-utils@3.3.5: dependencies: array-includes: 3.1.8 - array.prototype.flat: 1.3.2 + array.prototype.flat: 1.3.3 object.assign: 4.1.5 object.values: 1.2.0 @@ -6326,7 +6329,7 @@ snapshots: dependencies: yallist: 3.1.1 - magic-string@0.30.15: + magic-string@0.30.17: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 @@ -6440,14 +6443,14 @@ snapshots: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.6 es-object-atoms: 1.0.0 object.groupby@1.0.3: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.6 object.values@1.2.0: dependencies: @@ -6893,7 +6896,7 @@ snapshots: react-lifecycles-compat@3.0.4: {} - react-modal@3.16.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + react-modal@3.16.3(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: exenv: 1.2.2 prop-types: 15.8.1 @@ -6939,7 +6942,7 @@ snapshots: optionalDependencies: react-dom: 19.0.0(react@19.0.0) - react-toastify@10.0.6(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + react-toastify@11.0.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: clsx: 2.1.1 react: 19.0.0 @@ -6982,8 +6985,8 @@ snapshots: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - dunder-proto: 1.0.0 - es-abstract: 1.23.5 + dunder-proto: 1.0.1 + es-abstract: 1.23.6 es-errors: 1.3.0 get-intrinsic: 1.2.6 gopd: 1.2.0 @@ -7069,14 +7072,14 @@ snapshots: safe-array-concat@1.1.3: dependencies: call-bind: 1.0.8 - call-bound: 1.0.2 + call-bound: 1.0.3 get-intrinsic: 1.2.6 has-symbols: 1.1.0 isarray: 2.0.5 safe-regex-test@1.1.0: dependencies: - call-bound: 1.0.2 + call-bound: 1.0.3 es-errors: 1.3.0 is-regex: 1.2.1 @@ -7119,14 +7122,14 @@ snapshots: side-channel-map@1.0.1: dependencies: - call-bound: 1.0.2 + call-bound: 1.0.3 es-errors: 1.3.0 get-intrinsic: 1.2.6 object-inspect: 1.13.3 side-channel-weakmap@1.0.2: dependencies: - call-bound: 1.0.2 + call-bound: 1.0.3 es-errors: 1.3.0 get-intrinsic: 1.2.6 object-inspect: 1.13.3 @@ -7192,13 +7195,13 @@ snapshots: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.6 string.prototype.matchall@4.0.11: dependencies: call-bind: 1.0.8 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.6 es-errors: 1.3.0 es-object-atoms: 1.0.0 get-intrinsic: 1.2.6 @@ -7212,22 +7215,22 @@ snapshots: string.prototype.repeat@1.0.0: dependencies: define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.6 string.prototype.trim@1.2.10: dependencies: call-bind: 1.0.8 - call-bound: 1.0.2 + call-bound: 1.0.3 define-data-property: 1.1.4 define-properties: 1.2.1 - es-abstract: 1.23.5 + es-abstract: 1.23.6 es-object-atoms: 1.0.0 has-property-descriptors: 1.0.2 string.prototype.trimend@1.0.9: dependencies: call-bind: 1.0.8 - call-bound: 1.0.2 + call-bound: 1.0.3 define-properties: 1.2.1 es-object-atoms: 1.0.0 @@ -7253,21 +7256,21 @@ snapshots: style-search@0.1.0: {} - stylelint-config-recommended@14.0.1(stylelint@16.11.0(typescript@5.6.3)): + stylelint-config-recommended@14.0.1(stylelint@16.12.0(typescript@5.6.3)): dependencies: - stylelint: 16.11.0(typescript@5.6.3) + stylelint: 16.12.0(typescript@5.6.3) - stylelint-config-standard@36.0.1(stylelint@16.11.0(typescript@5.6.3)): + stylelint-config-standard@36.0.1(stylelint@16.12.0(typescript@5.6.3)): dependencies: - stylelint: 16.11.0(typescript@5.6.3) - stylelint-config-recommended: 14.0.1(stylelint@16.11.0(typescript@5.6.3)) + stylelint: 16.12.0(typescript@5.6.3) + stylelint-config-recommended: 14.0.1(stylelint@16.12.0(typescript@5.6.3)) - stylelint-config-tailwindcss@0.0.7(stylelint@16.11.0(typescript@5.6.3))(tailwindcss@3.4.16): + stylelint-config-tailwindcss@0.0.7(stylelint@16.12.0(typescript@5.6.3))(tailwindcss@3.4.16): dependencies: - stylelint: 16.11.0(typescript@5.6.3) + stylelint: 16.12.0(typescript@5.6.3) tailwindcss: 3.4.16 - stylelint@16.11.0(typescript@5.6.3): + stylelint@16.12.0(typescript@5.6.3): dependencies: '@csstools/css-parser-algorithms': 3.0.4(@csstools/css-tokenizer@3.0.3) '@csstools/css-tokenizer': 3.0.3 @@ -7493,12 +7496,12 @@ snapshots: typescript@5.6.3: {} - unbox-primitive@1.0.2: + unbox-primitive@1.1.0: dependencies: - call-bind: 1.0.8 + call-bound: 1.0.3 has-bigints: 1.0.2 has-symbols: 1.1.0 - which-boxed-primitive: 1.1.0 + which-boxed-primitive: 1.1.1 undici-types@6.20.0: {} @@ -7549,9 +7552,9 @@ snapshots: vite-plugin-webpackchunkname@1.0.3(rollup@4.28.1): dependencies: '@rollup/plugin-alias': 5.1.1(rollup@4.28.1) - '@rollup/pluginutils': 5.1.3(rollup@4.28.1) + '@rollup/pluginutils': 5.1.4(rollup@4.28.1) es-module-lexer: 1.5.4 - magic-string: 0.30.15 + magic-string: 0.30.17 transitivePeerDependencies: - rollup @@ -7581,27 +7584,27 @@ snapshots: tr46: 0.0.3 webidl-conversions: 3.0.1 - which-boxed-primitive@1.1.0: + which-boxed-primitive@1.1.1: dependencies: is-bigint: 1.1.0 is-boolean-object: 1.2.1 - is-number-object: 1.1.0 - is-string: 1.1.0 + is-number-object: 1.1.1 + is-string: 1.1.1 is-symbol: 1.1.1 which-builtin-type@1.2.1: dependencies: - call-bound: 1.0.2 - function.prototype.name: 1.1.6 + call-bound: 1.0.3 + function.prototype.name: 1.1.7 has-tostringtag: 1.0.2 is-async-function: 2.0.0 is-date-object: 1.1.0 - is-finalizationregistry: 1.1.0 + is-finalizationregistry: 1.1.1 is-generator-function: 1.0.10 is-regex: 1.2.1 is-weakref: 1.1.0 isarray: 2.0.5 - which-boxed-primitive: 1.1.0 + which-boxed-primitive: 1.1.1 which-collection: 1.0.2 which-typed-array: 1.1.16 @@ -7610,7 +7613,7 @@ snapshots: is-map: 2.0.3 is-set: 2.0.3 is-weakmap: 2.0.2 - is-weakset: 2.0.3 + is-weakset: 2.0.4 which-typed-array@1.1.16: dependencies: diff --git a/src/components/Dialogs/ActionsModal.tsx b/src/components/Dialogs/ActionsModal.tsx index e1b07227..b7ee9c00 100644 --- a/src/components/Dialogs/ActionsModal.tsx +++ b/src/components/Dialogs/ActionsModal.tsx @@ -101,8 +101,6 @@ const Action = ({ actionKey, length }: { actionKey: string, length: number }) => runAction(functionName, { onSuccess: () => toast.success(`Running action "${name}"`), }); - setTimeout(() => { - }, 2000); }); return ( diff --git a/src/components/Toast.tsx b/src/components/Toast.tsx index bdb68fac..1df3c625 100644 --- a/src/components/Toast.tsx +++ b/src/components/Toast.tsx @@ -1,69 +1,52 @@ -import React from 'react'; +import type React from 'react'; import { toast } from 'react-toastify'; -import type { ToastContentProps, ToastOptions } from 'react-toastify'; -import { - mdiAlertCircleOutline, - mdiCheckboxMarkedCircleOutline, - mdiCloseCircleOutline, - mdiInformationOutline, -} from '@mdi/js'; -import { Icon } from '@mdi/react'; +import type { ToastOptions } from 'react-toastify'; +import { mdiAlertCircleOutline, mdiCheckboxMarkedCircleOutline, mdiInformationOutline } from '@mdi/js'; -type Props = Partial & { - header: string; - message?: React.ReactNode; - icon: string; -}; - -const colorClass = { - success: 'text-panel-text-important', - error: 'text-panel-text-danger', - info: 'text-panel-text-primary', - warning: 'text-panel-text-warning', -}; - -const isColorClass = (type: string): type is keyof typeof colorClass => type in colorClass; - -// eslint-disable-next-line react-refresh/only-export-components -function Toast(props: Props) { - const { closeToast, header, icon, message, toastProps } = props; - const color = toastProps && 'type' in toastProps && isColorClass(toastProps.type) ? toastProps?.type : 'info'; - - return ( -
- - - -
-
{header}
-
{message}
-
- {toastProps?.autoClose && ( - - - - )} -
- ); -} +import ToastComponent from '@/components/ToastComponent'; const success = (header: string, message?: React.ReactNode, options?: ToastOptions) => - toast.success(, options); + toast.success(ToastComponent, { + data: { + header, + message, + icon: mdiCheckboxMarkedCircleOutline, + }, + ...options, + }); const error = (header: string, message?: React.ReactNode, options?: ToastOptions) => - toast.error(, options); + toast.error(ToastComponent, { + data: { + header, + message, + icon: mdiAlertCircleOutline, + }, + ...options, + }); const warning = (header: string, message?: React.ReactNode, options?: ToastOptions) => - toast.warning(, options); + toast.warning(ToastComponent, { + data: { + header, + message, + icon: mdiAlertCircleOutline, + }, + ...options, + }); const info = (header: string, message?: React.ReactNode, options?: ToastOptions) => - toast.info(, options); + toast.info(ToastComponent, { + data: { + header, + message, + icon: mdiInformationOutline, + }, + ...options, + }); const dismiss = (id: number | string) => toast.dismiss(id); -const infoUpdate = (id: number | string, header: string, message?: React.ReactNode) => - toast.update(id, { render: }); - const isActive = (id: number | string) => toast.isActive(id); export default { @@ -72,6 +55,5 @@ export default { warning, info, dismiss, - infoUpdate, isActive, }; diff --git a/src/components/ToastComponent.tsx b/src/components/ToastComponent.tsx new file mode 100644 index 00000000..02a218d7 --- /dev/null +++ b/src/components/ToastComponent.tsx @@ -0,0 +1,43 @@ +import React from 'react'; +import type { ToastContentProps } from 'react-toastify'; +import { mdiCloseCircleOutline } from '@mdi/js'; +import { Icon } from '@mdi/react'; + +type Props = ToastContentProps<{ + header: string; + message?: React.ReactNode; + icon: string; +}>; + +const colorClass = { + success: 'text-panel-text-important', + error: 'text-panel-text-danger', + info: 'text-panel-text-primary', + warning: 'text-panel-text-warning', +}; + +const isColorClass = (type: string): type is keyof typeof colorClass => type in colorClass; + +const ToastComponent = (props: Props) => { + const { closeToast, data, toastProps } = props; + const color = isColorClass(toastProps.type) ? toastProps?.type : 'info'; + + return ( +
+ + + +
+
{data.header}
+
{data.message}
+
+ {toastProps.autoClose && ( + + + + )} +
+ ); +}; + +export default ToastComponent; diff --git a/src/pages/dashboard/panels/CollectionStats.tsx b/src/pages/dashboard/panels/CollectionStats.tsx index cbb354ec..4b0940c5 100644 --- a/src/pages/dashboard/panels/CollectionStats.tsx +++ b/src/pages/dashboard/panels/CollectionStats.tsx @@ -100,13 +100,13 @@ function CollectionStats() { key="missing-episodes-collecting" title="Missing Episodes (Collecting)" value={statsQuery.data?.MissingEpisodesCollecting} - filter="HasMissingEpisodesCollecting" + link="/webui/utilities/release-management/missing-episodes?onlyCollecting=true" />, , ]; diff --git a/src/pages/login/LoginPage.tsx b/src/pages/login/LoginPage.tsx index 1e22f903..0b51a20e 100644 --- a/src/pages/login/LoginPage.tsx +++ b/src/pages/login/LoginPage.tsx @@ -12,7 +12,6 @@ import { } from '@mdi/js'; import { Icon } from '@mdi/react'; import cx from 'classnames'; -import 'react-toastify/dist/ReactToastify.min.css'; import { siDiscord } from 'simple-icons'; import Button from '@/components/Input/Button'; diff --git a/src/pages/main/MainPage.tsx b/src/pages/main/MainPage.tsx index c56ff8da..ca2007a6 100644 --- a/src/pages/main/MainPage.tsx +++ b/src/pages/main/MainPage.tsx @@ -2,7 +2,6 @@ import React, { useEffect, useMemo, useRef } from 'react'; import { useDispatch } from 'react-redux'; import { Outlet } from 'react-router'; import { Slide, ToastContainer } from 'react-toastify'; -import 'react-toastify/dist/ReactToastify.min.css'; import { Tooltip } from 'react-tooltip'; import { mdiLoading } from '@mdi/js'; import { Icon } from '@mdi/react'; diff --git a/src/pages/utilities/ReleaseManagement.tsx b/src/pages/utilities/ReleaseManagement.tsx index ded42060..075b17a5 100644 --- a/src/pages/utilities/ReleaseManagement.tsx +++ b/src/pages/utilities/ReleaseManagement.tsx @@ -1,5 +1,5 @@ import React, { useEffect, useMemo, useState } from 'react'; -import { useParams } from 'react-router'; +import { useParams, useSearchParams } from 'react-router'; import { mdiCloseCircleOutline, mdiEyeOffOutline, @@ -45,6 +45,7 @@ const titleMap = { const ReleaseManagement = () => { const { itemType } = useParams(); + const [searchParams, setSearchParams] = useSearchParams(); const type = useMemo(() => { if (itemType === 'duplicates') return ReleaseManagementItemType.DuplicateFiles; @@ -52,9 +53,20 @@ const ReleaseManagement = () => { return ReleaseManagementItemType.MultipleReleases; }, [itemType]); - const [ignoreVariations, toggleIgnoreVariations, setIgnoreVariations] = useToggle(true); - const [onlyCollecting, toggleOnlyCollecting, setOnlyCollecting] = useToggle(false); - const [onlyFinishedSeries, toggleOnlyFinishedSeries, setOnlyFinishedSeries] = useToggle(false); + const filterOptions = useMemo(() => ({ + ignoreVariations: (searchParams.get('ignoreVariations') ?? 'true') === 'true', + onlyCollecting: searchParams.get('onlyCollecting') === 'true', + onlyFinishedSeries: searchParams.get('onlyFinishedSeries') === 'true', + }), [searchParams]); + + const handleFilterChange = useEventCallback((event: React.ChangeEvent) => { + setSearchParams((currentParams) => { + const newParams = new URLSearchParams(currentParams); + newParams.set(event.target.id, String(event.target.checked)); + return newParams; + }); + }); + const [seriesCount, setSeriesCount] = useState(0); const [selectedSeries, setSelectedSeries] = useState(0); const [selectedEpisode, setSelectedEpisode] = useState(); @@ -64,25 +76,16 @@ const ReleaseManagement = () => { const [showQuickSelectModal, toggleShowQuickSelectModal] = useToggle(false); useEffect(() => { - setIgnoreVariations(true); - setOnlyCollecting(false); - setOnlyFinishedSeries(false); setSelectedSeries(0); setSelectedEpisode(undefined); setSelectedEpisodes([]); - }, [itemType, setIgnoreVariations, setOnlyCollecting, setOnlyFinishedSeries]); + }, [itemType]); const { mutateAsync: deleteFile } = useDeleteFileMutation(); const { mutateAsync: markVariation } = useMarkVariationMutation(); const { mutateAsync: deleteFileLocation } = useDeleteFileLocationMutation(); const { mutateAsync: hideEpisode } = useHideEpisodeMutation(); - const handleCheckboxChange = (event: React.ChangeEvent) => { - if (event.target.id === 'ignore-variations') toggleIgnoreVariations(); - if (event.target.id === 'only-collecting') toggleOnlyCollecting(); - if (event.target.id === 'only-finished-series') toggleOnlyFinishedSeries(); - }; - const confirmChanges = useEventCallback(() => { setOperationsPending(true); @@ -151,9 +154,9 @@ const ReleaseManagement = () => { {type === ReleaseManagementItemType.MultipleReleases && ( @@ -161,18 +164,18 @@ const ReleaseManagement = () => { {type === ReleaseManagementItemType.MissingEpisodes && ( )} @@ -242,9 +245,9 @@ const ReleaseManagement = () => {