From e1d163505513cdb81eabea54f6d249f68328bf58 Mon Sep 17 00:00:00 2001 From: Roman Leshchuh Date: Wed, 8 Jan 2025 11:20:08 +0200 Subject: [PATCH 001/283] updated npm chat version --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2f409ef..90dfced 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^24.12.34", + "@ethora/chat-component": "^24.12.35", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", @@ -1102,9 +1102,9 @@ } }, "node_modules/@ethora/chat-component": { - "version": "24.12.34", - "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-24.12.34.tgz", - "integrity": "sha512-ioY0m0Cu3LFi4/X4bJs9hFvXlv5OJblKsJINOcp1/cI1NC48YQJBE981vo73WhZZtkznXxz9mpbyH+V1E6j2Wg==", + "version": "24.12.35", + "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-24.12.35.tgz", + "integrity": "sha512-sdDUJiNpqdiewxElt8Kdodte/LKf4rOdX3HVH83odAxqlbWpFOZBnpQ3VGyS2G8isI5svyGKqmR7TZs1dN6W9Q==", "dependencies": { "@reduxjs/toolkit": "^2.2.1", "@types/react": "^18.2.65", diff --git a/package.json b/package.json index f49892c..7f89d39 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^24.12.34", + "@ethora/chat-component": "^24.12.35", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", From 889f643148f5b203e7577d0b0e8d380966a93c51 Mon Sep 17 00:00:00 2001 From: Roman Leshchuh Date: Thu, 9 Jan 2025 10:04:17 +0200 Subject: [PATCH 002/283] fixed chat version --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 90dfced..29c0e3b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^24.12.35", + "@ethora/chat-component": "^24.12.37", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", @@ -1102,9 +1102,9 @@ } }, "node_modules/@ethora/chat-component": { - "version": "24.12.35", - "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-24.12.35.tgz", - "integrity": "sha512-sdDUJiNpqdiewxElt8Kdodte/LKf4rOdX3HVH83odAxqlbWpFOZBnpQ3VGyS2G8isI5svyGKqmR7TZs1dN6W9Q==", + "version": "24.12.37", + "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-24.12.37.tgz", + "integrity": "sha512-Xlu7GyqTHd5owe9PHUBDr++SBk+MUeZ41+kWMZQXbLNzfyghfeGSts5Fm48hZTXKSqKpm6AMHbP9+gmsP4LB5g==", "dependencies": { "@reduxjs/toolkit": "^2.2.1", "@types/react": "^18.2.65", diff --git a/package.json b/package.json index 7f89d39..86bd231 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^24.12.35", + "@ethora/chat-component": "^24.12.37", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", From 72ff54815c7b2de2377e1a198d17409609e735e3 Mon Sep 17 00:00:00 2001 From: Roman Leshchuh Date: Thu, 9 Jan 2025 10:15:25 +0200 Subject: [PATCH 003/283] fixed chat version v2 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 29c0e3b..2697d61 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^24.12.37", + "@ethora/chat-component": "^24.12.38", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", @@ -1102,9 +1102,9 @@ } }, "node_modules/@ethora/chat-component": { - "version": "24.12.37", - "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-24.12.37.tgz", - "integrity": "sha512-Xlu7GyqTHd5owe9PHUBDr++SBk+MUeZ41+kWMZQXbLNzfyghfeGSts5Fm48hZTXKSqKpm6AMHbP9+gmsP4LB5g==", + "version": "24.12.38", + "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-24.12.38.tgz", + "integrity": "sha512-FUeBEFZBS70N4H+Xl6gOYNNEUyHbDHoe3qJya/LFq3ZH5ZzSltXiPrBy0vCnKcH9s+4vAZlpVUo7aKNzHXABcA==", "dependencies": { "@reduxjs/toolkit": "^2.2.1", "@types/react": "^18.2.65", diff --git a/package.json b/package.json index 86bd231..159615d 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^24.12.37", + "@ethora/chat-component": "^24.12.38", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", From 22d7efc7ae6349bed162bc9f8fdf7c246ebe79ee Mon Sep 17 00:00:00 2001 From: Roman Leshchuh Date: Thu, 9 Jan 2025 10:29:45 +0200 Subject: [PATCH 004/283] fixed chat version v3 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2697d61..d1dbc7d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^24.12.38", + "@ethora/chat-component": "^24.12.39", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", @@ -1102,9 +1102,9 @@ } }, "node_modules/@ethora/chat-component": { - "version": "24.12.38", - "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-24.12.38.tgz", - "integrity": "sha512-FUeBEFZBS70N4H+Xl6gOYNNEUyHbDHoe3qJya/LFq3ZH5ZzSltXiPrBy0vCnKcH9s+4vAZlpVUo7aKNzHXABcA==", + "version": "24.12.39", + "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-24.12.39.tgz", + "integrity": "sha512-MuSbZ1RflhDeocLruw/65RQ4e9bBqBirLeWJlk+CxJQ1vCXju9RP0vCHyEFVpgEvIHmLcr16vct7ThYN5xVthQ==", "dependencies": { "@reduxjs/toolkit": "^2.2.1", "@types/react": "^18.2.65", diff --git a/package.json b/package.json index 159615d..b3e2d52 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^24.12.38", + "@ethora/chat-component": "^24.12.39", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", From 0d303c12eb7d862ad898e2bbe6db5b8c51132be3 Mon Sep 17 00:00:00 2001 From: Roman Leshchuh Date: Thu, 9 Jan 2025 10:40:19 +0200 Subject: [PATCH 005/283] fixed chat version v4 --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index d1dbc7d..6d7aa4a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^24.12.39", + "@ethora/chat-component": "^24.12.40", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", @@ -1102,9 +1102,9 @@ } }, "node_modules/@ethora/chat-component": { - "version": "24.12.39", - "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-24.12.39.tgz", - "integrity": "sha512-MuSbZ1RflhDeocLruw/65RQ4e9bBqBirLeWJlk+CxJQ1vCXju9RP0vCHyEFVpgEvIHmLcr16vct7ThYN5xVthQ==", + "version": "24.12.40", + "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-24.12.40.tgz", + "integrity": "sha512-RlPPwf/aacrtZMjzpTeR1PgnDUE0q5nWfavDIlkGt/fxdu9yRE2kCd+WLnyRfyrBzU/2/gHmUQZjfosU0WzcNw==", "dependencies": { "@reduxjs/toolkit": "^2.2.1", "@types/react": "^18.2.65", diff --git a/package.json b/package.json index b3e2d52..5d140d8 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^24.12.39", + "@ethora/chat-component": "^24.12.40", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", From f84ac45c94ceb93780de02b64359cfc053032537 Mon Sep 17 00:00:00 2001 From: Roman Leshchuh Date: Wed, 15 Jan 2025 18:50:27 +0200 Subject: [PATCH 006/283] fixed version of chat component --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6d7aa4a..ffa8790 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^24.12.40", + "@ethora/chat-component": "^25.01.01", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", @@ -1102,9 +1102,9 @@ } }, "node_modules/@ethora/chat-component": { - "version": "24.12.40", - "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-24.12.40.tgz", - "integrity": "sha512-RlPPwf/aacrtZMjzpTeR1PgnDUE0q5nWfavDIlkGt/fxdu9yRE2kCd+WLnyRfyrBzU/2/gHmUQZjfosU0WzcNw==", + "version": "25.1.1", + "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-25.1.1.tgz", + "integrity": "sha512-YnC8Nmb34RJq8vmeum1z0kcvpPj+QRy7/tS7IsQf97x19i1DA7lJ/UrBNbXq6bvJcrI+lA2sHop+nPYdcqGMvA==", "dependencies": { "@reduxjs/toolkit": "^2.2.1", "@types/react": "^18.2.65", diff --git a/package.json b/package.json index 5d140d8..c3c5b48 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^24.12.40", + "@ethora/chat-component": "^25.01.01", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", From 86b6ad9be7389de17cb2e047140be6275c5bd162 Mon Sep 17 00:00:00 2001 From: Roman Leshchuh Date: Wed, 15 Jan 2025 19:11:54 +0200 Subject: [PATCH 007/283] fixed version of chat component with 1v1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c3c5b48..6d81150 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^25.01.01", + "@ethora/chat-component": "^25.01.02", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", From ad01c0a62473faaf6451d42715c4b6c5b4ad5c72 Mon Sep 17 00:00:00 2001 From: Roman Leshchuh Date: Fri, 31 Jan 2025 16:24:23 +0200 Subject: [PATCH 008/283] udpated chat version --- package-lock.json | 1828 ++++++++++++++++++++++---------------------- package.json | 2 +- src/pages/Chat.tsx | 8 +- 3 files changed, 898 insertions(+), 940 deletions(-) diff --git a/package-lock.json b/package-lock.json index ffa8790..98bdf1b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^25.01.01", + "@ethora/chat-component": "^25.1.14", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", @@ -89,10 +89,9 @@ } }, "node_modules/@babel/cli": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.25.9.tgz", - "integrity": "sha512-I+02IfrTiSanpxJBlZQYb18qCxB6c2Ih371cVpfgIrPQrjAYkf45XxomTJOG8JBWX5GY35/+TmhCMdJ4ZPkL8Q==", - "license": "MIT", + "version": "7.26.4", + "resolved": "https://registry.npmjs.org/@babel/cli/-/cli-7.26.4.tgz", + "integrity": "sha512-+mORf3ezU3p3qr+82WvJSnQNE1GAYeoCfEv4fik6B5/2cvKZ75AX8oawWQdXtM9MmndooQj15Jr9kelRFWsuRw==", "dependencies": { "@jridgewell/trace-mapping": "^0.3.25", "commander": "^6.2.0", @@ -120,8 +119,7 @@ "node_modules/@babel/cli/node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "license": "MIT" + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==" }, "node_modules/@babel/code-frame": { "version": "7.26.2", @@ -197,7 +195,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.9.tgz", "integrity": "sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==", - "license": "MIT", "dependencies": { "@babel/types": "^7.25.9" }, @@ -296,7 +293,6 @@ "version": "7.26.0", "resolved": "https://registry.npmjs.org/@babel/node/-/node-7.26.0.tgz", "integrity": "sha512-5ASMjh42hbnqyCOK68Q5chh1jKAqn91IswFTN+niwt4FLABhEWCT1tEuuo6mlNQ4WG/oFQLvJ71PaHAKtWtJyA==", - "license": "MIT", "dependencies": { "@babel/register": "^7.25.9", "commander": "^6.2.0", @@ -333,7 +329,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.9.tgz", "integrity": "sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==", - "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.25.9" }, @@ -348,7 +343,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.9.tgz", "integrity": "sha512-s5XwpQYCqGerXl+Pu6VDL3x0j2d82eiV77UJ8a2mDHAW7j9SWRqQ2y1fNo1Z74CdcYipl5Z41zvjj4Nfzq36rw==", - "license": "MIT", "dependencies": { "@babel/helper-annotate-as-pure": "^7.25.9", "@babel/helper-module-imports": "^7.25.9", @@ -397,7 +391,6 @@ "version": "7.25.9", "resolved": "https://registry.npmjs.org/@babel/register/-/register-7.25.9.tgz", "integrity": "sha512-8D43jXtGsYmEeDvm4MWHYUpWf8iiXgWYx3fW7E7Wb7Oe6FWqJPl5K6TuFW0dOwNZzEE5rjlaSJYH9JjrUKJszA==", - "license": "MIT", "dependencies": { "clone-deep": "^4.0.1", "find-cache-dir": "^2.0.0", @@ -1102,9 +1095,9 @@ } }, "node_modules/@ethora/chat-component": { - "version": "25.1.1", - "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-25.1.1.tgz", - "integrity": "sha512-YnC8Nmb34RJq8vmeum1z0kcvpPj+QRy7/tS7IsQf97x19i1DA7lJ/UrBNbXq6bvJcrI+lA2sHop+nPYdcqGMvA==", + "version": "25.1.14", + "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-25.1.14.tgz", + "integrity": "sha512-gROA+10NW76UbtoVmloiAa3mm8DRyXXsFQTAPd0u1+1pbsttCfwXnfrPq+ZGR0U709x4Ql+avfSgWFT6kxqAEQ==", "dependencies": { "@reduxjs/toolkit": "^2.2.1", "@types/react": "^18.2.65", @@ -1122,6 +1115,8 @@ "react-qr-code": "^2.0.15", "react-redux": "^9.1.0", "redux": "^5.0.1", + "redux-persist": "^6.0.0", + "redux-persist-transform-encrypt": "^5.1.1", "redux-saga": "^1.3.0", "styled-components": "^6.1.8", "uuid": "^9.0.1", @@ -2243,7 +2238,6 @@ "version": "2.1.8-no-fsevents.3", "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/chokidar-2/-/chokidar-2-2.1.8-no-fsevents.3.tgz", "integrity": "sha512-s88O1aVtXftvp5bCPB7WnmXc5IwOZZ7YPuwNPt+GtOOXpPvad1LfbmjYv+qII7zP6RU2QGnqve27dnLycEnyEQ==", - "license": "MIT", "optional": true }, "node_modules/@nodelib/fs.scandir": { @@ -2717,7 +2711,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/@redux-saga/core/-/core-1.3.0.tgz", "integrity": "sha512-L+i+qIGuyWn7CIg7k1MteHGfttKPmxwZR5E7OsGikCL2LzYA0RERlaUY00Y3P3ZV2EYgrsYlBrGs6cJP5OKKqA==", - "license": "MIT", "dependencies": { "@babel/runtime": "^7.6.3", "@redux-saga/deferred": "^1.2.1", @@ -2735,14 +2728,12 @@ "node_modules/@redux-saga/deferred": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@redux-saga/deferred/-/deferred-1.2.1.tgz", - "integrity": "sha512-cmin3IuuzMdfQjA0lG4B+jX+9HdTgHZZ+6u3jRAOwGUxy77GSlTi4Qp2d6PM1PUoTmQUR5aijlA39scWWPF31g==", - "license": "MIT" + "integrity": "sha512-cmin3IuuzMdfQjA0lG4B+jX+9HdTgHZZ+6u3jRAOwGUxy77GSlTi4Qp2d6PM1PUoTmQUR5aijlA39scWWPF31g==" }, "node_modules/@redux-saga/delay-p": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@redux-saga/delay-p/-/delay-p-1.2.1.tgz", "integrity": "sha512-MdiDxZdvb1m+Y0s4/hgdcAXntpUytr9g0hpcOO1XFVyyzkrDu3SKPgBFOtHn7lhu7n24ZKIAT1qtKyQjHqRd+w==", - "license": "MIT", "dependencies": { "@redux-saga/symbols": "^1.1.3" } @@ -2751,7 +2742,6 @@ "version": "1.1.3", "resolved": "https://registry.npmjs.org/@redux-saga/is/-/is-1.1.3.tgz", "integrity": "sha512-naXrkETG1jLRfVfhOx/ZdLj0EyAzHYbgJWkXbB3qFliPcHKiWbv/ULQryOAEKyjrhiclmr6AMdgsXFyx7/yE6Q==", - "license": "MIT", "dependencies": { "@redux-saga/symbols": "^1.1.3", "@redux-saga/types": "^1.2.1" @@ -2760,20 +2750,17 @@ "node_modules/@redux-saga/symbols": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@redux-saga/symbols/-/symbols-1.1.3.tgz", - "integrity": "sha512-hCx6ZvU4QAEUojETnX8EVg4ubNLBFl1Lps4j2tX7o45x/2qg37m3c6v+kSp8xjDJY+2tJw4QB3j8o8dsl1FDXg==", - "license": "MIT" + "integrity": "sha512-hCx6ZvU4QAEUojETnX8EVg4ubNLBFl1Lps4j2tX7o45x/2qg37m3c6v+kSp8xjDJY+2tJw4QB3j8o8dsl1FDXg==" }, "node_modules/@redux-saga/types": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/@redux-saga/types/-/types-1.2.1.tgz", - "integrity": "sha512-1dgmkh+3so0+LlBWRhGA33ua4MYr7tUOj+a9Si28vUi0IUFNbff1T3sgpeDJI/LaC75bBYnQ0A3wXjn0OrRNBA==", - "license": "MIT" + "integrity": "sha512-1dgmkh+3so0+LlBWRhGA33ua4MYr7tUOj+a9Si28vUi0IUFNbff1T3sgpeDJI/LaC75bBYnQ0A3wXjn0OrRNBA==" }, "node_modules/@reduxjs/toolkit": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.4.0.tgz", - "integrity": "sha512-wJZEuSKj14tvNfxiIiJws0tQN77/rDqucBq528ApebMIRHyWpCanJVQRxQ8WWZC19iCDKxDsGlbAir3F1layxA==", - "license": "MIT", + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-2.5.1.tgz", + "integrity": "sha512-UHhy3p0oUpdhnSxyDjaRDYaw8Xra75UiLbCiRozVPHjfDwNYkh0TsVm/1OmTW8Md+iDAJmYPWUKMvsMc2GtpNg==", "dependencies": { "immer": "^10.0.3", "redux": "^5.0.1", @@ -2781,7 +2768,7 @@ "reselect": "^5.1.0" }, "peerDependencies": { - "react": "^16.9.0 || ^17.0.0 || ^18", + "react": "^16.9.0 || ^17.0.0 || ^18 || ^19", "react-redux": "^7.2.1 || ^8.1.3 || ^9.0.0" }, "peerDependenciesMeta": { @@ -3191,10 +3178,9 @@ "dev": true }, "node_modules/@types/hoist-non-react-statics": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.5.tgz", - "integrity": "sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==", - "license": "MIT", + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.6.tgz", + "integrity": "sha512-lPByRJUer/iN/xa4qpyL0qmL11DqNW81iU/IG1S3uvRUq4oKagz8VCxZjiWkumgt66YT3vOdDgZ0o32sGKtCEw==", "dependencies": { "@types/react": "*", "hoist-non-react-statics": "^3.3.0" @@ -3303,7 +3289,6 @@ "version": "5.1.34", "resolved": "https://registry.npmjs.org/@types/styled-components/-/styled-components-5.1.34.tgz", "integrity": "sha512-mmiVvwpYklFIv9E8qfxuPyIt/OuyIrn6gMOAMOFUO3WJfSrSE+sGUoa4PiZj77Ut7bKZpaa6o1fBKS/4TOEvnA==", - "license": "MIT", "dependencies": { "@types/hoist-non-react-statics": "*", "@types/react": "*", @@ -3313,14 +3298,12 @@ "node_modules/@types/stylis": { "version": "4.2.5", "resolved": "https://registry.npmjs.org/@types/stylis/-/stylis-4.2.5.tgz", - "integrity": "sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==", - "license": "MIT" + "integrity": "sha512-1Xve+NMN7FWjY14vLoY5tL3BVEQ/n42YLwaqJIPYhotZ9uBHt87VceMwWQpzmdEt2TNXIorIFG+YeCUUW7RInw==" }, "node_modules/@types/use-sync-external-store": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.3.tgz", - "integrity": "sha512-EwmlvuaxPNej9+T4v5AuBPJa2x2UOJVdjCtDHgcDqitUeOtjnJKJ+apYjVcAoBEMjKW1VVFGZLUb5+qqa09XFA==", - "license": "MIT" + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@types/use-sync-external-store/-/use-sync-external-store-0.0.6.tgz", + "integrity": "sha512-zFDAD+tlpf2r4asuHEj0XH6pY6i0g5NeAHPn+15wk3BV6JA69eERFXC1gyGThDkVa1zCyKr5jox1+2LbV/AMLg==" }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "8.15.0", @@ -3568,346 +3551,320 @@ } }, "node_modules/@xmpp/base64": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/base64/-/base64-0.13.1.tgz", - "integrity": "sha512-ifzj81zZc8uhL9Nl8us2NUDfLt3qsbHr8lwdKmrDMk/9unY8aIGjzHdNBJoFFyJe8GSo1NFq3mS7X+X0TwkQYw==", - "license": "ISC", + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/@xmpp/base64/-/base64-0.13.2.tgz", + "integrity": "sha512-RDEq66sW/jqj2HZKoRvnIvlRJMRLEGa0EGyJ0yPCF1+KijmTqrWr1PxZAol850QizXlqpvo8MS8OCFWMryX7RQ==", "dependencies": { "base-64": "^1.0.0" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/client": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/client/-/client-0.13.1.tgz", - "integrity": "sha512-DA+pOkWliTKN5C0Bod4rqlZ4hj/CiqQDHRhQgpx7Y/69qsUwK8M/9C02qylpyZSL2TFGzOM6ZMhr/jlMCsL9jQ==", - "license": "ISC", - "dependencies": { - "@babel/cli": "^7.16.0", - "@babel/core": "^7.16.5", - "@babel/node": "^7.16.5", - "@babel/plugin-transform-react-jsx": "^7.16.5", - "@xmpp/client-core": "^0.13.1", - "@xmpp/iq": "^0.13.1", - "@xmpp/middleware": "^0.13.1", - "@xmpp/reconnect": "^0.13.1", - "@xmpp/resolve": "^0.13.1", - "@xmpp/resource-binding": "^0.13.1", - "@xmpp/sasl": "^0.13.1", - "@xmpp/sasl-anonymous": "^0.13.1", - "@xmpp/sasl-plain": "^0.13.1", - "@xmpp/sasl-scram-sha-1": "^0.13.1", - "@xmpp/session-establishment": "^0.13.1", - "@xmpp/starttls": "^0.13.1", - "@xmpp/stream-features": "^0.13.1", - "@xmpp/stream-management": "^0.13.1", - "@xmpp/tcp": "^0.13.1", - "@xmpp/tls": "^0.13.1", - "@xmpp/websocket": "^0.13.1", + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/@xmpp/client/-/client-0.13.4.tgz", + "integrity": "sha512-reCdmmDkXjlEXLmMB8tGLyi+2u5KJScAg2l5c0WcwwqlXFMvmIQf5Nf4boXW6rsiLnUwWyAovtx9OzMiLuODIg==", + "dependencies": { + "@babel/cli": "^7.26.4", + "@babel/core": "^7.26.0", + "@babel/node": "^7.26.0", + "@babel/plugin-transform-react-jsx": "^7.25.9", + "@xmpp/client-core": "^0.13.3", + "@xmpp/iq": "^0.13.3", + "@xmpp/middleware": "^0.13.3", + "@xmpp/reconnect": "^0.13.2", + "@xmpp/resolve": "^0.13.3", + "@xmpp/resource-binding": "^0.13.3", + "@xmpp/sasl": "^0.13.4", + "@xmpp/sasl-anonymous": "^0.13.2", + "@xmpp/sasl-plain": "^0.13.2", + "@xmpp/sasl-scram-sha-1": "^0.13.2", + "@xmpp/session-establishment": "^0.13.3", + "@xmpp/starttls": "^0.13.3", + "@xmpp/stream-features": "^0.13.2", + "@xmpp/stream-management": "^0.13.3", + "@xmpp/tcp": "^0.13.3", + "@xmpp/tls": "^0.13.3", + "@xmpp/websocket": "^0.13.3", "babel-plugin-jsx-pragmatic": "^1.0.2" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/client-core": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/client-core/-/client-core-0.13.1.tgz", - "integrity": "sha512-ANVcqzgDCmmUj/R9pf5rJGH41mL16Bo+DRJ+2trKoRHe9p5s0p6IssjhJtTOSVx6oh2ilPXMB8qoMPjTGzY6cw==", - "license": "ISC", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@xmpp/client-core/-/client-core-0.13.3.tgz", + "integrity": "sha512-pOtCozET4BxJZU7aWykT+PFBGaxT/Sl8mC0E3X6QgL7/2Vo39lz2KIhkcvtSwMC8myuaB+klOBrifuKLo3IajA==", "dependencies": { - "@xmpp/connection": "^0.13.1", - "@xmpp/jid": "^0.13.1", - "@xmpp/xml": "^0.13.1" + "@xmpp/connection": "^0.13.3", + "@xmpp/jid": "^0.13.2", + "@xmpp/xml": "^0.13.3" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/connection": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/connection/-/connection-0.13.1.tgz", - "integrity": "sha512-A8ojaVRrvGtvRTXcWiOJMnBPAytLFvsz18g/jO9PbnhzuqqeJ6LxmCtyaKqchMdX0lhuZpo0JUgCSPnZ68tXrQ==", - "license": "ISC", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@xmpp/connection/-/connection-0.13.3.tgz", + "integrity": "sha512-EM6/wLUJ6MFJl7Kb+qwQut1gLDp7G107KTOB1W/GljGMd7ydD2Bn0BJt2AAx8EGPve9G2jjhV3+jJmu7KwK4rQ==", "dependencies": { - "@xmpp/error": "^0.13.1", - "@xmpp/events": "^0.13.1", - "@xmpp/jid": "^0.13.1", - "@xmpp/xml": "^0.13.1" + "@xmpp/error": "^0.13.2", + "@xmpp/events": "^0.13.2", + "@xmpp/jid": "^0.13.2", + "@xmpp/xml": "^0.13.3" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/connection-tcp": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/connection-tcp/-/connection-tcp-0.13.1.tgz", - "integrity": "sha512-yTVrj5o5rPVbZT5ql5ljzzIZHnLkCuyTNEQpiU9IYvfjWjy4+E2DreUnpRf3IAbpARkMoPq5uQJchH0RE3WBjg==", - "license": "ISC", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@xmpp/connection-tcp/-/connection-tcp-0.13.3.tgz", + "integrity": "sha512-6MMUSM265eBtHeLOYIe5UP1ld3oZaQMso6Cq7KJ0Xe7qC6zDy3YYaRHAe3Z+bdoJxpgmfiN8jvDM+QfypcTpKg==", "dependencies": { - "@xmpp/connection": "^0.13.1", - "@xmpp/xml": "^0.13.1" + "@xmpp/connection": "^0.13.3", + "@xmpp/xml": "^0.13.3" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/error": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/error/-/error-0.13.1.tgz", - "integrity": "sha512-tKecj36xIGLhLctdYhUOxWs+ZdiJpl0Tfp/GhfrUCKLHj/wq14d62SP9kxa0sDNKOY1uqRq2N9gWZBQHuP+r2Q==", - "license": "ISC", + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/@xmpp/error/-/error-0.13.2.tgz", + "integrity": "sha512-bjbxwF8s6jfQNI+ZHV9Jwcb7K2kBeTlD60QHjMJlxIUrjTH1ZsJoDQh9tMdq1mBu/h/bm2SX7yZUqUb1wY6gMw==", "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/events": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/events/-/events-0.13.1.tgz", - "integrity": "sha512-c538zWUoD7KfMzMWGHyJkXvRYE5exzVjK6NAsMtfNtbVqw9SXJJaGLvDvYSXOQmKQaZz5guUuIUGiHJbr7yjsA==", - "license": "ISC", + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/@xmpp/events/-/events-0.13.2.tgz", + "integrity": "sha512-fXaAMChvLnP9vEQIatFKWoAm/F9U122hShfRfVw4xS6pympThygWVPIuRuAznMt5tOyTVFWBuPge6hgGousT0g==", "dependencies": { "events": "^3.3.0" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/id": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/id/-/id-0.13.1.tgz", - "integrity": "sha512-ivc7kxfk5sU6PspdQvglsibcWRCr40nbaPEvGYbXO8ymFN6qps91DPlEt0Cc0XJExq7PXo0Yt7DACfe8f7K03g==", - "license": "ISC", + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/@xmpp/id/-/id-0.13.2.tgz", + "integrity": "sha512-LhSzcaPvjddvL+u/xNAuu6tNtxWR7HZPTyMUck8tyYnbwsXaJQ6sDoS8AEQE8o7iW5E31xJUTOktYd/s6HMo3w==", "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/iq": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/iq/-/iq-0.13.1.tgz", - "integrity": "sha512-YyJj6up2aFTobTUmjdX86vs0+/WIB8i88QQjDDlzSKdMDDXgrB8B8JAMlEBfAsruAv/ZIwUnE4/yqCeMAehTuA==", - "license": "ISC", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@xmpp/iq/-/iq-0.13.3.tgz", + "integrity": "sha512-sGeyGF4OnYGTZw3PhQaYLYlE8+LRZfYijT/ESGqhY2ed9gm0U4TCR8C8s5oT7Puu6S6smdHehcvYCrcFEeQyBw==", "dependencies": { - "@xmpp/events": "^0.13.1", - "@xmpp/id": "^0.13.1", - "@xmpp/middleware": "^0.13.1", - "@xmpp/xml": "^0.13.1" + "@xmpp/events": "^0.13.2", + "@xmpp/id": "^0.13.2", + "@xmpp/middleware": "^0.13.3", + "@xmpp/xml": "^0.13.3" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/jid": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/jid/-/jid-0.13.1.tgz", - "integrity": "sha512-E5ulk4gfPQwPY71TWXapiWzoxxAJz3LP0bDIUXIfgvlf1/2QKP3EcYQ7o+qmI0cLEZwWmwluRGouylqhyuwcAw==", - "license": "ISC", + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/@xmpp/jid/-/jid-0.13.2.tgz", + "integrity": "sha512-OuYrxiNdlmXgMFPJqnbZSKe/bdn1wxtc1ASEadrizI9h6T1y7tAEl5YpXFWYb+fdAL9vRD+bGCxrDUrm1er/LQ==", "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/middleware": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/middleware/-/middleware-0.13.1.tgz", - "integrity": "sha512-t7kws9KMgaQURCDMcPjJOm/sEcC2Gs2YtpE35NaTR87NSwr8yZ37ZJL5Kki3Z4qhL6nhMXJPAprc6uqBn5q3Og==", - "license": "ISC", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@xmpp/middleware/-/middleware-0.13.3.tgz", + "integrity": "sha512-zZTsqLaHnfTqMBDyZh01HLYUgcHLmbalVfC32CsEcjPG5/bIete9sOUVPaiGH1cicMgi3O7WZK512RvQFcBbwA==", "dependencies": { - "@xmpp/error": "^0.13.1", - "@xmpp/jid": "^0.13.1", - "@xmpp/xml": "^0.13.1", + "@xmpp/error": "^0.13.2", + "@xmpp/jid": "^0.13.2", + "@xmpp/xml": "^0.13.3", "koa-compose": "^4.1.0" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/reconnect": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/reconnect/-/reconnect-0.13.1.tgz", - "integrity": "sha512-m/j/mTU7b3cOXP78uGzBbihmJMuXCYcTcwsTHlexj6tj6CE/vpuLNgxvf6pPkO7B9lH0HfezqU7ExHpS+4Nfaw==", - "license": "ISC", + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/@xmpp/reconnect/-/reconnect-0.13.2.tgz", + "integrity": "sha512-FWCC+dzi23N7H99PYPqWZa7oRPNp9G7yYzMZwOpeiVporbNy+op3yUbCszo3YA3XVEsuLRQ1aQJ8evLo+GD5ow==", "dependencies": { - "@xmpp/events": "^0.13.1" + "@xmpp/events": "^0.13.2" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/resolve": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/resolve/-/resolve-0.13.1.tgz", - "integrity": "sha512-Lgsl6C/uJCxmYr0jWWOCJMqYvKi5WzN6loZwP7f6ov2nLMOMEZ7TSb66z393/7Pd0hy6DqZeggESMAFOkQH+vw==", - "license": "ISC", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@xmpp/resolve/-/resolve-0.13.3.tgz", + "integrity": "sha512-HL86p0a2CI0ILFYUR8vPR77ZXwxQ0xXLLRnyb88TjQ/eNbYsc1gmdXjELE0xRCfQblXZsETvUwWv5RofTYAgrQ==", "dependencies": { - "@xmpp/events": "^0.13.0", - "@xmpp/xml": "^0.13.0", - "node-fetch": "^2.6.6" + "@xmpp/events": "^0.13.2", + "@xmpp/xml": "^0.13.3", + "node-fetch": "^3.3.2" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/resource-binding": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/resource-binding/-/resource-binding-0.13.1.tgz", - "integrity": "sha512-S6PGlfufDTTDlh21ynyJrGR0sMeEYIRq+BKUl4QhsR19BvP0RUW0t8Ypx1QwDY3++ihqRjvCllCmtmFMY1iJsQ==", - "license": "ISC", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@xmpp/resource-binding/-/resource-binding-0.13.3.tgz", + "integrity": "sha512-cph/8vJ5sRHVg7Njx8rR27xAVmKWACSx95jlOw7LmUSTRSxZDw2wHsqie76HxUD5fPszOsTh/Ph7Fw1532aRUQ==", "dependencies": { - "@xmpp/xml": "^0.13.1" + "@xmpp/xml": "^0.13.3" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/sasl": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/sasl/-/sasl-0.13.1.tgz", - "integrity": "sha512-ynhKsL43EtezqJ9s476leHzliMudCAFS4xNG5x4ZFHoc7Iz5J6p6jFI89LGgnk9DeIdk9A/CFrPWTdyjhvyiTQ==", - "license": "ISC", + "version": "0.13.4", + "resolved": "https://registry.npmjs.org/@xmpp/sasl/-/sasl-0.13.4.tgz", + "integrity": "sha512-craijUkSSrYB43YgqHRigVe8JYFLTBdC1eiIlQRAhN37QMTCb0zz3AAgcoxYccrZDStHXNC7WMi149A4AKp6RA==", "dependencies": { - "@xmpp/base64": "^0.13.1", - "@xmpp/error": "^0.13.1", - "@xmpp/xml": "^0.13.1", + "@xmpp/base64": "^0.13.2", + "@xmpp/error": "^0.13.2", + "@xmpp/xml": "^0.13.3", "saslmechanisms": "^0.1.1" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/sasl-anonymous": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/sasl-anonymous/-/sasl-anonymous-0.13.1.tgz", - "integrity": "sha512-l0Bqmva7xw10p8MelD2bHO10LwCPz6CEd/t5xO+Kw98hjI9lX6k5cxW7frvdnxRwPxJbGTciTQKHokYWR4luaA==", - "license": "ISC", + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/@xmpp/sasl-anonymous/-/sasl-anonymous-0.13.2.tgz", + "integrity": "sha512-0fI9+A+Vptcyv8+o8J2veRnodtnKahJDy5fappIZbmXLrv4JcrVBChQDWULyta0Hez9M3XWoIyuhp4pyz0IU/Q==", "dependencies": { "sasl-anonymous": "^0.1.0" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/sasl-plain": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/sasl-plain/-/sasl-plain-0.13.1.tgz", - "integrity": "sha512-Xx4ay67Mg6aQFeelTZuY5QatP3cCJsArAuD0AozHKzjUWzyLqqydsDS+yFN23pxkOZPGgyYVebc4gKti4jZ+GA==", - "license": "ISC", + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/@xmpp/sasl-plain/-/sasl-plain-0.13.2.tgz", + "integrity": "sha512-zwS/q+Vd4YsLdnZjmCuS1JCacWWg2Vd3ecqpBmIV3S394s1Mgiwdnd2bVRen5S0kl/de+VzHg/DRLuYvC94SUg==", "dependencies": { "sasl-plain": "^0.1.0" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/sasl-scram-sha-1": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/sasl-scram-sha-1/-/sasl-scram-sha-1-0.13.1.tgz", - "integrity": "sha512-qWyR5+v10pykTxQnKfNVUnCnZisA/UmC4Po5EQSgA5dNRuzraqwk/bH5PVi9+M0OcbtdNs9wCO2Hv06YA9AjwA==", - "license": "ISC", + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/@xmpp/sasl-scram-sha-1/-/sasl-scram-sha-1-0.13.2.tgz", + "integrity": "sha512-qHwooR3m8/BsuG17tK50ZKO97HITG+k6Chjk/pSjRfKG5Fm3mWh2U8K98QWNpJYbgVm9amkIQ0tbTaw+/kMjvQ==", "dependencies": { - "sasl-scram-sha-1": "^1.2.1" + "sasl-scram-sha-1": "^1.3.0" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/session-establishment": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/session-establishment/-/session-establishment-0.13.1.tgz", - "integrity": "sha512-uba6BZeeSJtbHtU+pCumSiX/zuc9hUdN5dVRNjvRjr/ZcXLMuC5MroRyrld+fm/rQYQLJjF4BcIaxvysXTCAGA==", - "license": "ISC", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@xmpp/session-establishment/-/session-establishment-0.13.3.tgz", + "integrity": "sha512-dQhH7aIzsqyMRsjMIuER4UBCxQgvDUHjkmNoeIbUZX5bYJuGeET90tZ4eNAq6yXnpSGJiKoXVfVBxNoiXovfgA==", "dependencies": { - "@xmpp/xml": "^0.13.1" + "@xmpp/xml": "^0.13.3" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/starttls": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/starttls/-/starttls-0.13.1.tgz", - "integrity": "sha512-rQumwpbD5+yclcXgPNDF7Jg1mzDFejHKZehD6JRti+Emsxayst/qFDq3uMO3x6P+nKexL4mMoKUtWHlJM7BUGw==", - "license": "ISC", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@xmpp/starttls/-/starttls-0.13.3.tgz", + "integrity": "sha512-FjKrpahL/yBiRlMUL4d88I5N5PxQN2Mirx39Q0kyo479Nj1OY4dTA78Iy5+tsbsBYO3j5aE2tRoLhUQaMPGvBQ==", "dependencies": { - "@xmpp/events": "^0.13.1", - "@xmpp/tls": "^0.13.1", - "@xmpp/xml": "^0.13.1" + "@xmpp/events": "^0.13.2", + "@xmpp/tls": "^0.13.3", + "@xmpp/xml": "^0.13.3" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/stream-features": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/stream-features/-/stream-features-0.13.1.tgz", - "integrity": "sha512-yZg+CXBRVXsIQzu4SI5UYlDZHmg3wY6YXy4MbeLiI4O8OQ/oCz6OHJlHKUnFl+cGmjDXvhN4Ga6pRhbEIIqM/g==", - "license": "ISC", + "version": "0.13.2", + "resolved": "https://registry.npmjs.org/@xmpp/stream-features/-/stream-features-0.13.2.tgz", + "integrity": "sha512-eyxFEEDSfNvG4ybvAYTYkjaUcaytu8sAqT8DfWwrWzCkPgfRzpexsxb9yhe8hAVrvPLavOyr+zh4raUQf4Ogkg==", "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/stream-management": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/stream-management/-/stream-management-0.13.1.tgz", - "integrity": "sha512-06dhJAlGn+MU5ESrvIUg5xOS7azVE0swq86cx4SCv7t5dWL1WBj4xg2qigLn1hMnFkDw0bO/SOikXTxqGii/hA==", - "license": "ISC", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@xmpp/stream-management/-/stream-management-0.13.3.tgz", + "integrity": "sha512-hdQAyp6FldEkBktou/mbb7MPOe/EzBxP3sIjWvNQXwRMV8AJxAXyi+DhnW5sigRQoeTJJB0FGTxOlFDeXWGhPg==", "dependencies": { - "@xmpp/xml": "^0.13.1" + "@xmpp/xml": "^0.13.3" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/tcp": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/tcp/-/tcp-0.13.1.tgz", - "integrity": "sha512-N/AQBT+6Updb/E8A1SYdMbIJGaRFG8+7+bkm9MLw44UsihA6Yg0fmvC02O+BjNg3tXGkcMYLhu/8NYpjK4NlQg==", - "license": "ISC", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@xmpp/tcp/-/tcp-0.13.3.tgz", + "integrity": "sha512-WUjAsPVQAr/DTNJGxXOqXEviFvI5Gzp/18TuCJEssAjyHv1Pr7Qn6PjAersIPidEKqVfapNyHOmgyLePh1kAqQ==", "dependencies": { - "@xmpp/connection-tcp": "^0.13.1" + "@xmpp/connection-tcp": "^0.13.3" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/tls": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/tls/-/tls-0.13.1.tgz", - "integrity": "sha512-ecOmnrZmRbMMPDdvDNirw7sYQHt//YV7UJgfS4c9M+R5ljP2eUJiAiotEEykjKJ6CJPMMxdTnrLLP3ullsgfog==", - "license": "ISC", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@xmpp/tls/-/tls-0.13.3.tgz", + "integrity": "sha512-oeXbkzu2i2LkpvPQ4B3RourYnktoUpkWeUS7jRB4wHvdy6ecEli593R+DYVCWr3Hvj+3l40MkyRQSmZp4S7tVg==", "dependencies": { - "@xmpp/connection": "^0.13.1", - "@xmpp/connection-tcp": "^0.13.1" + "@xmpp/connection": "^0.13.3", + "@xmpp/connection-tcp": "^0.13.3" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/websocket": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/websocket/-/websocket-0.13.1.tgz", - "integrity": "sha512-UyMYyy/0Cm2UtVoAlhfV31u6LzGrBUU0h7I0qGCq1yYPQpscehNl8lXE4vmB8OfpeDvSZmvGk2vJAvGxzunoDQ==", - "license": "ISC", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@xmpp/websocket/-/websocket-0.13.3.tgz", + "integrity": "sha512-RXZJFecaAlotqhAdNohO0SoP8Rx3eJrl18c78gxybAhNaCexFbuMJIvSj91L/b8bOErJtFMTwreWeMfzP6Ijiw==", "dependencies": { - "@xmpp/connection": "^0.13.1", - "@xmpp/xml": "^0.13.1", - "ws": "^8.4.0" + "@xmpp/connection": "^0.13.3", + "@xmpp/xml": "^0.13.3", + "ws": "^8.18.0" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/@xmpp/xml": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/@xmpp/xml/-/xml-0.13.1.tgz", - "integrity": "sha512-GMfYB3PKY9QzsMnl3dPohgPBGd1JQTBanKOaZexJCSYJN2cdYLU2HGhjMtDlGSno6h9U+t0oO7r0igsJwyigwg==", - "license": "ISC", + "version": "0.13.3", + "resolved": "https://registry.npmjs.org/@xmpp/xml/-/xml-0.13.3.tgz", + "integrity": "sha512-lYXBg/VlpUeavGgQE8LADfZUzMFUnWFVYgvKUcx97AqjiEJUuo40ijdRcGmkAVtTg0RBkml5WB+Mo+JqynMk7Q==", "dependencies": { - "ltx": "^3.0.0" + "ltx": "^3.1.1" }, "engines": { - "node": ">= 12.4.0" + "node": ">= 14" } }, "node_modules/acorn": { @@ -4001,13 +3958,12 @@ "dev": true }, "node_modules/array-buffer-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz", - "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==", - "license": "MIT", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", + "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", "dependencies": { - "call-bind": "^1.0.5", - "is-array-buffer": "^3.0.4" + "call-bound": "^1.0.3", + "is-array-buffer": "^3.0.5" }, "engines": { "node": ">= 0.4" @@ -4020,7 +3976,6 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/array.prototype.reduce/-/array.prototype.reduce-1.0.7.tgz", "integrity": "sha512-mzmiUCVwtiD4lgxYP8g7IYy8El8p2CSMePvIbTS7gchKir/L1fgJrk0yDKmAX6mnRQFKNADYIk8nNlTris5H1Q==", - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -4038,19 +3993,17 @@ } }, "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz", - "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==", - "license": "MIT", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", + "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", "dependencies": { "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.2.1", - "get-intrinsic": "^1.2.3", - "is-array-buffer": "^3.0.4", - "is-shared-array-buffer": "^1.0.2" + "es-abstract": "^1.23.5", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "is-array-buffer": "^3.0.4" }, "engines": { "node": ">= 0.4" @@ -4059,6 +4012,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/async-function": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", + "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", @@ -4105,7 +4066,6 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "license": "MIT", "dependencies": { "possible-typed-array-names": "^1.0.0" }, @@ -4130,7 +4090,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/babel-plugin-jsx-pragmatic/-/babel-plugin-jsx-pragmatic-1.0.2.tgz", "integrity": "sha512-+qeGXSbHZwinZzO6R3wP+6XDKup83Pgg2B3TQt2zwfDdgC7NqT9Kd3ws7iqk53zAO/8iOIRU6VUyUzt2LDE3Eg==", - "license": "MIT", "dependencies": { "babel-plugin-syntax-jsx": "^6.0.0" } @@ -4152,8 +4111,7 @@ "node_modules/babel-plugin-syntax-jsx": { "version": "6.18.0", "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==", - "license": "MIT" + "integrity": "sha512-qrPaCSo9c8RHNRHIotaufGbuOBN8rtdC4QrrFFc43vyWCCz7Kl7GL1PGaXtMGQZUXrkCjNEgxDfmAuAabr/rlw==" }, "node_modules/balanced-match": { "version": "1.0.2", @@ -4163,8 +4121,7 @@ "node_modules/base-64": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", - "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==", - "license": "MIT" + "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==" }, "node_modules/binary-extensions": { "version": "2.3.0", @@ -4233,20 +4190,44 @@ "node_modules/buffer-from": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "license": "MIT" + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "license": "MIT", + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", + "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", "dependencies": { + "call-bind-apply-helpers": "^1.0.0", "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" + "set-function-length": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.1.tgz", + "integrity": "sha512-BhYE+WDaywFg2TBWYNXAE+8B1ATnThNBqXHP5nQu0jWJdVvY2hvkpyB3qOmtmDePiS5/BDQ8wASEWGMWRG148g==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.3.tgz", + "integrity": "sha512-YTd+6wGlNlPxSuri7Y6X8tY2dmm12UMH66RpKMhiX6rsk5wXXnYgbUcOt8kiS31/AjfoTOvCsE+w8nZQLQnzHA==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -4276,7 +4257,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz", "integrity": "sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ==", - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -4344,7 +4324,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.6.tgz", "integrity": "sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==", - "license": "MIT", "dependencies": { "inherits": "^2.0.4", "safe-buffer": "^5.2.1" @@ -4375,7 +4354,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "license": "MIT", "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", @@ -4424,7 +4402,6 @@ "version": "6.2.1", "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.1.tgz", "integrity": "sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==", - "license": "MIT", "engines": { "node": ">= 6" } @@ -4432,8 +4409,7 @@ "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", - "license": "MIT" + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==" }, "node_modules/concat-map": { "version": "0.0.1", @@ -4454,11 +4430,10 @@ } }, "node_modules/core-js": { - "version": "3.39.0", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.39.0.tgz", - "integrity": "sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==", + "version": "3.40.0", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.40.0.tgz", + "integrity": "sha512-7vsMc/Lty6AGnn7uFpYT56QesI5D2Y/UkgKounk87OP9Z2H9Z8kj6jzcSGAxFmUtDOS0ntK6lbQz+Nsa0Jj6mQ==", "hasInstallScript": true, - "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/core-js" @@ -4483,7 +4458,6 @@ "version": "1.2.0", "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "license": "MIT", "dependencies": { "cipher-base": "^1.0.1", "inherits": "^2.0.1", @@ -4496,7 +4470,6 @@ "version": "1.1.7", "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "license": "MIT", "dependencies": { "cipher-base": "^1.0.3", "create-hash": "^1.1.0", @@ -4520,11 +4493,15 @@ "node": ">= 8" } }, + "node_modules/crypto-js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.2.0.tgz", + "integrity": "sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==" + }, "node_modules/css-color-keywords": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/css-color-keywords/-/css-color-keywords-1.0.0.tgz", "integrity": "sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg==", - "license": "ISC", "engines": { "node": ">=4" } @@ -4533,7 +4510,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/css-to-react-native/-/css-to-react-native-3.2.0.tgz", "integrity": "sha512-e8RKaLXMOFii+02mOlqwjbD00KSEKqblnpO9e++1aXS1fPQOpS1YoqdVHBqPjHNoxeF2mimzVqawm2KCbEdtHQ==", - "license": "MIT", "dependencies": { "camelize": "^1.0.0", "css-color-keywords": "^1.0.0", @@ -4667,15 +4643,22 @@ "node": ">=12" } }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "engines": { + "node": ">= 12" + } + }, "node_modules/data-view-buffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.1.tgz", - "integrity": "sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==", - "license": "MIT", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", + "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "is-data-view": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -4685,29 +4668,27 @@ } }, "node_modules/data-view-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz", - "integrity": "sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==", - "license": "MIT", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", + "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" + "is-data-view": "^1.0.2" }, "engines": { "node": ">= 0.4" }, "funding": { - "url": "https://github.com/sponsors/ljharb" + "url": "https://github.com/sponsors/inspect-js" } }, "node_modules/data-view-byte-offset": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz", - "integrity": "sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==", - "license": "MIT", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", + "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.2", "es-errors": "^1.3.0", "is-data-view": "^1.0.1" }, @@ -4759,7 +4740,6 @@ "version": "1.1.4", "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "license": "MIT", "dependencies": { "es-define-property": "^1.0.0", "es-errors": "^1.3.0", @@ -4776,7 +4756,6 @@ "version": "1.2.1", "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "license": "MIT", "dependencies": { "define-data-property": "^1.0.1", "has-property-descriptors": "^1.0.0", @@ -4830,6 +4809,19 @@ "csstype": "^3.0.2" } }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -4855,57 +4847,61 @@ } }, "node_modules/es-abstract": { - "version": "1.23.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.5.tgz", - "integrity": "sha512-vlmniQ0WNPwXqA0BnmwV3Ng7HxiGlh6r5U6JcTMNx8OilcAGqVJBHJcPjqOMaczU9fRuRK5Px2BdVyPRnKMMVQ==", - "license": "MIT", + "version": "1.23.9", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.23.9.tgz", + "integrity": "sha512-py07lI0wjxAC/DcfK1S6G7iANonniZwTISvdPzk9hzeH0IZIshbuuFxLIU96OyF89Yb9hiqWn8M/bY83KY5vzA==", "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "arraybuffer.prototype.slice": "^1.0.3", + "array-buffer-byte-length": "^1.0.2", + "arraybuffer.prototype.slice": "^1.0.4", "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "data-view-buffer": "^1.0.1", - "data-view-byte-length": "^1.0.1", - "data-view-byte-offset": "^1.0.0", - "es-define-property": "^1.0.0", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "data-view-buffer": "^1.0.2", + "data-view-byte-length": "^1.0.2", + "data-view-byte-offset": "^1.0.1", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", "es-object-atoms": "^1.0.0", - "es-set-tostringtag": "^2.0.3", - "es-to-primitive": "^1.2.1", - "function.prototype.name": "^1.1.6", - "get-intrinsic": "^1.2.4", - "get-symbol-description": "^1.0.2", + "es-set-tostringtag": "^2.1.0", + "es-to-primitive": "^1.3.0", + "function.prototype.name": "^1.1.8", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.0", + "get-symbol-description": "^1.1.0", "globalthis": "^1.0.4", - "gopd": "^1.0.1", + "gopd": "^1.2.0", "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.3", - "has-symbols": "^1.0.3", + "has-proto": "^1.2.0", + "has-symbols": "^1.1.0", "hasown": "^2.0.2", - "internal-slot": "^1.0.7", - "is-array-buffer": "^3.0.4", + "internal-slot": "^1.1.0", + "is-array-buffer": "^3.0.5", "is-callable": "^1.2.7", - "is-data-view": "^1.0.1", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.1.4", - "is-shared-array-buffer": "^1.0.3", - "is-string": "^1.0.7", - "is-typed-array": "^1.1.13", - "is-weakref": "^1.0.2", + "is-data-view": "^1.0.2", + "is-regex": "^1.2.1", + "is-shared-array-buffer": "^1.0.4", + "is-string": "^1.1.1", + "is-typed-array": "^1.1.15", + "is-weakref": "^1.1.0", + "math-intrinsics": "^1.1.0", "object-inspect": "^1.13.3", "object-keys": "^1.1.1", - "object.assign": "^4.1.5", + "object.assign": "^4.1.7", + "own-keys": "^1.0.1", "regexp.prototype.flags": "^1.5.3", - "safe-array-concat": "^1.1.2", - "safe-regex-test": "^1.0.3", - "string.prototype.trim": "^1.2.9", - "string.prototype.trimend": "^1.0.8", + "safe-array-concat": "^1.1.3", + "safe-push-apply": "^1.0.0", + "safe-regex-test": "^1.1.0", + "set-proto": "^1.0.0", + "string.prototype.trim": "^1.2.10", + "string.prototype.trimend": "^1.0.9", "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.2", - "typed-array-byte-length": "^1.0.1", - "typed-array-byte-offset": "^1.0.2", - "typed-array-length": "^1.0.6", - "unbox-primitive": "^1.0.2", - "which-typed-array": "^1.1.15" + "typed-array-buffer": "^1.0.3", + "typed-array-byte-length": "^1.0.3", + "typed-array-byte-offset": "^1.0.4", + "typed-array-length": "^1.0.7", + "unbox-primitive": "^1.1.0", + "which-typed-array": "^1.1.18" }, "engines": { "node": ">= 0.4" @@ -4917,17 +4913,12 @@ "node_modules/es-array-method-boxes-properly": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz", - "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==", - "license": "MIT" + "integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==" }, "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "engines": { "node": ">= 0.4" } @@ -4936,16 +4927,14 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", - "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/es-object-atoms": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.0.0.tgz", - "integrity": "sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==", - "license": "MIT", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", "dependencies": { "es-errors": "^1.3.0" }, @@ -4954,14 +4943,14 @@ } }, "node_modules/es-set-tostringtag": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz", - "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==", - "license": "MIT", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", "dependencies": { - "get-intrinsic": "^1.2.4", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", - "hasown": "^2.0.1" + "hasown": "^2.0.2" }, "engines": { "node": ">= 0.4" @@ -4971,7 +4960,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", - "license": "MIT", "dependencies": { "is-callable": "^1.2.7", "is-date-object": "^1.0.5", @@ -5229,7 +5217,6 @@ "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "license": "MIT", "engines": { "node": ">=0.8.x" } @@ -5296,6 +5283,28 @@ "node": ">=0.8.0" } }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, "node_modules/file-entry-cache": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", @@ -5324,7 +5333,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "license": "MIT", "dependencies": { "commondir": "^1.0.1", "make-dir": "^2.0.0", @@ -5429,12 +5437,17 @@ } }, "node_modules/for-each": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", - "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", - "license": "MIT", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.4.tgz", + "integrity": "sha512-kKaIINnFpzW6ffJNDjjyjrk21BkDx38c0xa/klsT8VzLCaMEefv4ZTacrcVR4DmgTeBra++jMDAfS/tS799YDw==", "dependencies": { - "is-callable": "^1.1.3" + "is-callable": "^1.2.7" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, "node_modules/foreground-child": { @@ -5466,6 +5479,17 @@ "node": ">= 6" } }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, "node_modules/fraction.js": { "version": "4.3.7", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", @@ -5482,14 +5506,12 @@ "node_modules/fs-readdir-recursive": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fs-readdir-recursive/-/fs-readdir-recursive-1.1.0.tgz", - "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==", - "license": "MIT" + "integrity": "sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==" }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "license": "ISC" + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, "node_modules/fsevents": { "version": "2.3.3", @@ -5514,15 +5536,16 @@ } }, "node_modules/function.prototype.name": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz", - "integrity": "sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==", - "license": "MIT", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", + "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "functions-have-names": "^1.2.3" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "define-properties": "^1.2.1", + "functions-have-names": "^1.2.3", + "hasown": "^2.0.2", + "is-callable": "^1.2.7" }, "engines": { "node": ">= 0.4" @@ -5535,7 +5558,6 @@ "version": "1.2.3", "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -5557,16 +5579,20 @@ } }, "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "license": "MIT", + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.7.tgz", + "integrity": "sha512-VW6Pxhsrk0KAOqs3WEd0klDiF/+V7gQOpAvY1jVU/LHmaD/kQO4523aiJuikX/QAKYiW6x8Jh+RJej1almdtCA==", "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-define-property": "^1.0.1", "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0", "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" + "get-proto": "^1.0.0", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -5575,15 +5601,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/get-symbol-description": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz", - "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", + "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", "dependencies": { - "call-bind": "^1.0.5", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4" + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -5597,7 +5634,6 @@ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "deprecated": "Glob versions prior to v9 are no longer supported", - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -5641,7 +5677,6 @@ "version": "1.0.4", "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "license": "MIT", "dependencies": { "define-properties": "^1.2.1", "gopd": "^1.0.1" @@ -5654,13 +5689,9 @@ } }, "node_modules/gopd": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.1.0.tgz", - "integrity": "sha512-FQoVQnqcdk4hVM4JN1eromaun4iuS34oStkdlLENLdpULsuQcTyXj8w7ayhuUfPwEYZ1ZOooOTT6fdA9Vmx/RA==", - "license": "MIT", - "dependencies": { - "get-intrinsic": "^1.2.4" - }, + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "engines": { "node": ">= 0.4" }, @@ -5675,10 +5706,12 @@ "dev": true }, "node_modules/has-bigints": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", - "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", + "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -5696,7 +5729,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "license": "MIT", "dependencies": { "es-define-property": "^1.0.0" }, @@ -5705,12 +5737,11 @@ } }, "node_modules/has-proto": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.1.0.tgz", - "integrity": "sha512-QLdzI9IIO1Jg7f9GT1gXpPpXArAn6cS31R1eEZqz08Gc+uQ8/XiqHWt17Fiw+2p6oTTIq5GXEpQkAlA88YRl/Q==", - "license": "MIT", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", + "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", "dependencies": { - "call-bind": "^1.0.7" + "dunder-proto": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -5720,10 +5751,9 @@ } }, "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "engines": { "node": ">= 0.4" }, @@ -5735,7 +5765,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", - "license": "MIT", "dependencies": { "has-symbols": "^1.0.3" }, @@ -5750,7 +5779,6 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "license": "MIT", "dependencies": { "inherits": "^2.0.4", "readable-stream": "^3.6.0", @@ -5793,7 +5821,6 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz", "integrity": "sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==", - "license": "MIT", "dependencies": { "parse-passwd": "^1.0.0" }, @@ -5871,7 +5898,6 @@ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", - "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -5880,18 +5906,16 @@ "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "license": "ISC" + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/internal-slot": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz", - "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", + "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", "dependencies": { "es-errors": "^1.3.0", - "hasown": "^2.0.0", - "side-channel": "^1.0.4" + "hasown": "^2.0.2", + "side-channel": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -5906,13 +5930,13 @@ } }, "node_modules/is-array-buffer": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz", - "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==", - "license": "MIT", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", + "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", "dependencies": { - "call-bind": "^1.0.2", - "get-intrinsic": "^1.2.1" + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -5927,12 +5951,15 @@ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" }, "node_modules/is-async-function": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", - "integrity": "sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==", - "license": "MIT", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", + "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", "dependencies": { - "has-tostringtag": "^1.0.0" + "async-function": "^1.0.0", + "call-bound": "^1.0.3", + "get-proto": "^1.0.1", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -5942,12 +5969,14 @@ } }, "node_modules/is-bigint": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", - "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", + "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", "dependencies": { - "has-bigints": "^1.0.1" + "has-bigints": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -5966,12 +5995,11 @@ } }, "node_modules/is-boolean-object": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.0.tgz", - "integrity": "sha512-kR5g0+dXf/+kXnqI+lu0URKYPKgICtHGGNCDSB10AaUFj3o/HkB3u7WfpRBJGFopxxY0oH3ux7ZsDjLtK7xqvw==", - "license": "MIT", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.1.tgz", + "integrity": "sha512-l9qO6eFlUETHtuihLcYOaLKByJ1f+N4kthcU9YjHy3N+B3hWv0y/2Nd0mu/7lTFnRQHTrSdXF50HQ3bl5fEnng==", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.2", "has-tostringtag": "^1.0.2" }, "engines": { @@ -5985,7 +6013,6 @@ "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6008,11 +6035,12 @@ } }, "node_modules/is-data-view": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.1.tgz", - "integrity": "sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==", - "license": "MIT", + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", + "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", "dependencies": { + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", "is-typed-array": "^1.1.13" }, "engines": { @@ -6023,12 +6051,12 @@ } }, "node_modules/is-date-object": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", - "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", + "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.2", + "has-tostringtag": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -6047,12 +6075,11 @@ } }, "node_modules/is-finalizationregistry": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.0.tgz", - "integrity": "sha512-qfMdqbAQEwBw78ZyReKnlA8ezmPdb9BemzIIip/JkjaZUhitfXDkkr+3QTboW0JrSXT1QWyYShpvnNHGZ4c4yA==", - "license": "MIT", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", + "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", "dependencies": { - "call-bind": "^1.0.7" + "call-bound": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -6070,12 +6097,14 @@ } }, "node_modules/is-generator-function": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", - "integrity": "sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.0.tgz", + "integrity": "sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==", "dependencies": { - "has-tostringtag": "^1.0.0" + "call-bound": "^1.0.3", + "get-proto": "^1.0.0", + "has-tostringtag": "^1.0.2", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -6100,19 +6129,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6130,12 +6146,11 @@ } }, "node_modules/is-number-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.0.tgz", - "integrity": "sha512-KVSZV0Dunv9DTPkhXwcZ3Q+tUc9TsaE1ZwX5J2WMvsSGS6Md8TFPun5uwh0yRdrNerI6vf/tbJxqSx4c1ZI1Lw==", - "license": "MIT", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", + "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" }, "engines": { @@ -6149,7 +6164,6 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "license": "MIT", "dependencies": { "isobject": "^3.0.1" }, @@ -6158,13 +6172,12 @@ } }, "node_modules/is-regex": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.0.tgz", - "integrity": "sha512-B6ohK4ZmoftlUe+uvenXSbPJFo6U37BH7oO1B3nQH8f/7h27N56s85MhUtbFJAziz5dcmuR3i8ovUl35zp8pFA==", - "license": "MIT", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", "dependencies": { - "call-bind": "^1.0.7", - "gopd": "^1.1.0", + "call-bound": "^1.0.2", + "gopd": "^1.2.0", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" }, @@ -6179,7 +6192,6 @@ "version": "2.0.3", "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6188,12 +6200,11 @@ } }, "node_modules/is-shared-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz", - "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==", - "license": "MIT", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", + "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", "dependencies": { - "call-bind": "^1.0.7" + "call-bound": "^1.0.3" }, "engines": { "node": ">= 0.4" @@ -6203,12 +6214,11 @@ } }, "node_modules/is-string": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.0.tgz", - "integrity": "sha512-PlfzajuF9vSo5wErv3MJAKD/nqf9ngAs1NFQYm16nUYFO2IzxJ2hcm+IOCg+EEopdykNNUhVq5cz35cAUxU8+g==", - "license": "MIT", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", + "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.3", "has-tostringtag": "^1.0.2" }, "engines": { @@ -6219,12 +6229,13 @@ } }, "node_modules/is-symbol": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", - "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", - "license": "MIT", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", + "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", "dependencies": { - "has-symbols": "^1.0.2" + "call-bound": "^1.0.2", + "has-symbols": "^1.1.0", + "safe-regex-test": "^1.1.0" }, "engines": { "node": ">= 0.4" @@ -6234,12 +6245,11 @@ } }, "node_modules/is-typed-array": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz", - "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==", - "license": "MIT", + "version": "1.1.15", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", + "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", "dependencies": { - "which-typed-array": "^1.1.14" + "which-typed-array": "^1.1.16" }, "engines": { "node": ">= 0.4" @@ -6252,7 +6262,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6261,25 +6270,26 @@ } }, "node_modules/is-weakref": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", - "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.0.tgz", + "integrity": "sha512-SXM8Nwyys6nT5WP6pltOwKytLV7FqQ4UiibxVmW+EIosHcmCqkkjViTb5SNssDlkCiEYRP1/pdWUKVvZBmsR2Q==", "dependencies": { - "call-bind": "^1.0.2" + "call-bound": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/is-weakset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz", - "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==", - "license": "MIT", + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", + "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4" + "call-bound": "^1.0.3", + "get-intrinsic": "^1.2.6" }, "engines": { "node": ">= 0.4" @@ -6291,8 +6301,7 @@ "node_modules/isarray": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "license": "MIT" + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" }, "node_modules/isexe": { "version": "2.0.0", @@ -6304,7 +6313,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6389,6 +6397,11 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==" + }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -6413,7 +6426,6 @@ "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -6421,8 +6433,7 @@ "node_modules/koa-compose": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/koa-compose/-/koa-compose-4.1.0.tgz", - "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==", - "license": "MIT" + "integrity": "sha512-8ODW8TrDuMYvXRwra/Kh7/rJo9BtOfPc6qO8eAfC80CnCvSjSl0bkRM24X6/XBBEyj0v1nRUQ1LyOy3dbqOWXw==" }, "node_modules/levn": { "version": "0.4.1", @@ -6507,10 +6518,9 @@ } }, "node_modules/ltx": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ltx/-/ltx-3.0.0.tgz", - "integrity": "sha512-bu3/4/ApUmMqVNuIkHaRhqVtEi6didYcBDIF56xhPRCzVpdztCipZ62CUuaxMlMBUzaVL93+4LZRqe02fuAG6A==", - "license": "MIT", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/ltx/-/ltx-3.1.2.tgz", + "integrity": "sha512-tFSKojN92FqNK6eRTmKK/ROUTUYVWKAxgohz523TPhF1G3nR3DXQS/I7/705rEPrDSloKDgMdRlh0qgMFQoVYw==", "engines": { "node": ">= 12.4.0" } @@ -6527,7 +6537,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "license": "MIT", "dependencies": { "pify": "^4.0.1", "semver": "^5.6.0" @@ -6540,16 +6549,22 @@ "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "license": "ISC", "bin": { "semver": "bin/semver" } }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "engines": { + "node": ">= 0.4" + } + }, "node_modules/md5.js": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", - "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1", @@ -6662,11 +6677,28 @@ "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", "optional": true }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, "node_modules/node-environment-flags": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/node-environment-flags/-/node-environment-flags-1.0.6.tgz", "integrity": "sha512-5Evy2epuL+6TM0lCQGpFIj6KwiEsGh1SrHUhTbNX+sLbBtjidPZFAnVK9y5yU1+h//RitLbRHTIMyxQPtxMdHw==", - "license": "Apache-2.0", "dependencies": { "object.getownpropertydescriptors": "^2.0.3", "semver": "^5.7.0" @@ -6676,29 +6708,25 @@ "version": "5.7.2", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "license": "ISC", "bin": { "semver": "bin/semver" } }, "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "license": "MIT", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", "dependencies": { - "whatwg-url": "^5.0.0" + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" }, "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" } }, "node_modules/node-releases": { @@ -6725,9 +6753,9 @@ } }, "node_modules/npm": { - "version": "10.9.1", - "resolved": "https://registry.npmjs.org/npm/-/npm-10.9.1.tgz", - "integrity": "sha512-yJUw03xLqjiv1D52oHeoS5qmOEC5hkJlhP1cWlSrCgshuxWVyFEEK3M3hLC0NwbTaklLTYrhoIanYsuNP5WUKg==", + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/npm/-/npm-10.9.2.tgz", + "integrity": "sha512-iriPEPIkoMYUy3F6f3wwSZAU93E0Eg6cHwIR6jzzOXWSy+SD/rOODEs74cVONHKSx2obXtuUoyidVEhISrisgQ==", "bundleDependencies": [ "@isaacs/string-locale-compare", "@npmcli/arborist", @@ -6798,21 +6826,13 @@ "which", "write-file-atomic" ], - "license": "Artistic-2.0", - "workspaces": [ - "docs", - "smoke-tests", - "mock-globals", - "mock-registry", - "workspaces/*" - ], "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/arborist": "^8.0.0", "@npmcli/config": "^9.0.0", "@npmcli/fs": "^4.0.0", - "@npmcli/map-workspaces": "^4.0.1", - "@npmcli/package-json": "^6.0.1", + "@npmcli/map-workspaces": "^4.0.2", + "@npmcli/package-json": "^6.1.0", "@npmcli/promise-spawn": "^8.0.2", "@npmcli/redact": "^3.0.0", "@npmcli/run-script": "^9.0.1", @@ -6829,7 +6849,7 @@ "graceful-fs": "^4.2.11", "hosted-git-info": "^8.0.2", "ini": "^5.0.0", - "init-package-json": "^7.0.1", + "init-package-json": "^7.0.2", "is-cidr": "^5.1.0", "json-parse-even-better-errors": "^4.0.0", "libnpmaccess": "^9.0.0", @@ -6848,7 +6868,7 @@ "minipass": "^7.1.1", "minipass-pipeline": "^1.2.4", "ms": "^2.1.2", - "node-gyp": "^10.2.0", + "node-gyp": "^11.0.0", "nopt": "^8.0.0", "normalize-package-data": "^7.0.0", "npm-audit-report": "^6.0.0", @@ -7089,7 +7109,7 @@ } }, "node_modules/npm/node_modules/@npmcli/map-workspaces": { - "version": "4.0.1", + "version": "4.0.2", "inBundle": true, "license": "ISC", "dependencies": { @@ -7164,7 +7184,7 @@ } }, "node_modules/npm/node_modules/@npmcli/package-json": { - "version": "6.0.1", + "version": "6.1.0", "inBundle": true, "license": "ISC", "dependencies": { @@ -7211,14 +7231,14 @@ } }, "node_modules/npm/node_modules/@npmcli/run-script": { - "version": "9.0.1", + "version": "9.0.2", "inBundle": true, "license": "ISC", "dependencies": { "@npmcli/node-gyp": "^4.0.0", "@npmcli/package-json": "^6.0.0", "@npmcli/promise-spawn": "^8.0.0", - "node-gyp": "^10.0.0", + "node-gyp": "^11.0.0", "proc-log": "^5.0.0", "which": "^5.0.0" }, @@ -7791,7 +7811,7 @@ } }, "node_modules/npm/node_modules/init-package-json": { - "version": "7.0.1", + "version": "7.0.2", "inBundle": true, "license": "ISC", "dependencies": { @@ -7849,11 +7869,6 @@ "node": ">=8" } }, - "node_modules/npm/node_modules/is-lambda": { - "version": "1.0.1", - "inBundle": true, - "license": "MIT" - }, "node_modules/npm/node_modules/isexe": { "version": "2.0.0", "inBundle": true, @@ -8275,16 +8290,8 @@ "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/negotiator": { - "version": "0.6.4", - "inBundle": true, - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, "node_modules/npm/node_modules/node-gyp": { - "version": "10.2.0", + "version": "11.0.0", "inBundle": true, "license": "MIT", "dependencies": { @@ -8292,189 +8299,76 @@ "exponential-backoff": "^3.1.1", "glob": "^10.3.10", "graceful-fs": "^4.2.6", - "make-fetch-happen": "^13.0.0", - "nopt": "^7.0.0", - "proc-log": "^4.1.0", + "make-fetch-happen": "^14.0.3", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", "semver": "^7.3.5", - "tar": "^6.2.1", - "which": "^4.0.0" + "tar": "^7.4.3", + "which": "^5.0.0" }, "bin": { "node-gyp": "bin/node-gyp.js" }, "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/node-gyp/node_modules/@npmcli/agent": { - "version": "2.2.2", - "inBundle": true, - "license": "ISC", - "dependencies": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.3" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/node-gyp/node_modules/@npmcli/fs": { - "version": "3.1.1", - "inBundle": true, - "license": "ISC", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/node-gyp/node_modules/abbrev": { - "version": "2.0.0", - "inBundle": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/node-gyp/node_modules/cacache": { - "version": "18.0.4", - "inBundle": true, - "license": "ISC", - "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/node-gyp/node_modules/isexe": { - "version": "3.1.1", - "inBundle": true, - "license": "ISC", - "engines": { - "node": ">=16" + "node": "^18.17.0 || >=20.5.0" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/make-fetch-happen": { - "version": "13.0.1", + "node_modules/npm/node_modules/node-gyp/node_modules/chownr": { + "version": "3.0.0", "inBundle": true, - "license": "ISC", - "dependencies": { - "@npmcli/agent": "^2.0.0", - "cacache": "^18.0.0", - "http-cache-semantics": "^4.1.1", - "is-lambda": "^1.0.1", - "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "proc-log": "^4.2.0", - "promise-retry": "^2.0.1", - "ssri": "^10.0.0" - }, + "license": "BlueOak-1.0.0", "engines": { - "node": "^16.14.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/minipass-fetch": { - "version": "3.0.5", + "node_modules/npm/node_modules/node-gyp/node_modules/minizlib": { + "version": "3.0.1", "inBundle": true, "license": "MIT", "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/npm/node_modules/node-gyp/node_modules/nopt": { - "version": "7.2.1", - "inBundle": true, - "license": "ISC", - "dependencies": { - "abbrev": "^2.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/node-gyp/node_modules/proc-log": { - "version": "4.2.0", - "inBundle": true, - "license": "ISC", - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm/node_modules/node-gyp/node_modules/ssri": { - "version": "10.0.6", - "inBundle": true, - "license": "ISC", - "dependencies": { - "minipass": "^7.0.3" + "minipass": "^7.0.4", + "rimraf": "^5.0.5" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">= 18" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/unique-filename": { - "version": "3.0.0", + "node_modules/npm/node_modules/node-gyp/node_modules/mkdirp": { + "version": "3.0.1", "inBundle": true, - "license": "ISC", - "dependencies": { - "unique-slug": "^4.0.0" + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/unique-slug": { - "version": "4.0.0", + "node_modules/npm/node_modules/node-gyp/node_modules/tar": { + "version": "7.4.3", "inBundle": true, "license": "ISC", "dependencies": { - "imurmurhash": "^0.1.4" + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=18" } }, - "node_modules/npm/node_modules/node-gyp/node_modules/which": { - "version": "4.0.0", + "node_modules/npm/node_modules/node-gyp/node_modules/yallist": { + "version": "5.0.0", "inBundle": true, - "license": "ISC", - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, + "license": "BlueOak-1.0.0", "engines": { - "node": "^16.13.0 || >=18.0.0" + "node": ">=18" } }, "node_modules/npm/node_modules/nopt": { @@ -9416,7 +9310,6 @@ "version": "1.13.3", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.3.tgz", "integrity": "sha512-kDCGIbxkDSXE3euJZZXzc6to7fCrKHNI/hSRQnRuQ+BWjFNzZwiFF8fj/6o2t2G9/jTj8PSIYTfCLelLZEeRpA==", - "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -9428,20 +9321,20 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "license": "MIT", "engines": { "node": ">= 0.4" } }, "node_modules/object.assign": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.5.tgz", - "integrity": "sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==", - "license": "MIT", + "version": "4.1.7", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", + "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", "dependencies": { - "call-bind": "^1.0.5", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "define-properties": "^1.2.1", - "has-symbols": "^1.0.3", + "es-object-atoms": "^1.0.0", + "has-symbols": "^1.1.0", "object-keys": "^1.1.1" }, "engines": { @@ -9455,7 +9348,6 @@ "version": "2.1.8", "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz", "integrity": "sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==", - "license": "MIT", "dependencies": { "array.prototype.reduce": "^1.0.6", "call-bind": "^1.0.7", @@ -9476,7 +9368,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "license": "ISC", "dependencies": { "wrappy": "1" } @@ -9498,6 +9389,22 @@ "node": ">= 0.8.0" } }, + "node_modules/own-keys": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", + "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", + "dependencies": { + "get-intrinsic": "^1.2.6", + "object-keys": "^1.1.1", + "safe-push-apply": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/p-limit": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", @@ -9532,7 +9439,6 @@ "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "license": "MIT", "engines": { "node": ">=6" } @@ -9575,7 +9481,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/parse-passwd/-/parse-passwd-1.0.0.tgz", "integrity": "sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==", - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -9593,7 +9498,6 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -9663,7 +9567,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "license": "MIT", "engines": { "node": ">=6" } @@ -9680,7 +9583,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "license": "MIT", "dependencies": { "find-up": "^3.0.0" }, @@ -9692,7 +9594,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "license": "MIT", "dependencies": { "locate-path": "^3.0.0" }, @@ -9704,7 +9605,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "license": "MIT", "dependencies": { "p-locate": "^3.0.0", "path-exists": "^3.0.0" @@ -9717,7 +9617,6 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -9732,7 +9631,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "license": "MIT", "dependencies": { "p-limit": "^2.0.0" }, @@ -9744,7 +9642,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", "integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==", - "license": "MIT", "engines": { "node": ">=4" } @@ -9753,7 +9650,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz", "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==", - "license": "MIT", "engines": { "node": ">= 0.4" } @@ -10050,7 +9946,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "license": "MIT", "dependencies": { "safe-buffer": "^5.1.0" } @@ -10196,17 +10091,16 @@ } }, "node_modules/react-redux": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.1.2.tgz", - "integrity": "sha512-0OA4dhM1W48l3uzmv6B7TXPCGmokUU4p1M44DGN2/D9a1FjVPukVjER1PcPX97jIg6aUeLq1XJo1IpfbgULn0w==", - "license": "MIT", + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz", + "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==", "dependencies": { - "@types/use-sync-external-store": "^0.0.3", - "use-sync-external-store": "^1.0.0" + "@types/use-sync-external-store": "^0.0.6", + "use-sync-external-store": "^1.4.0" }, "peerDependencies": { - "@types/react": "^18.2.25", - "react": "^18.0", + "@types/react": "^18.2.25 || ^19", + "react": "^18.0 || ^19", "redux": "^5.0.0" }, "peerDependenciesMeta": { @@ -10218,6 +10112,14 @@ } } }, + "node_modules/react-redux/node_modules/use-sync-external-store": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/use-sync-external-store/-/use-sync-external-store-1.4.0.tgz", + "integrity": "sha512-9WXSPC5fMv61vaupRkCKCxsPxBocVnwakBEkMIHHpkTTg6icbJtg6jzgtLDm4bl3cSHAca52rYWih0k4K3PfHw==", + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0" + } + }, "node_modules/react-refresh": { "version": "0.14.2", "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", @@ -10328,7 +10230,6 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "license": "MIT", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -10383,14 +10284,33 @@ "node_modules/redux": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", - "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", - "license": "MIT" + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==" + }, + "node_modules/redux-persist": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/redux-persist/-/redux-persist-6.0.0.tgz", + "integrity": "sha512-71LLMbUq2r02ng2We9S215LtPu3fY0KgaGE0k8WRgl6RkqxtGfl7HUozz1Dftwsb0D/5mZ8dwAaPbtnzfvbEwQ==", + "peerDependencies": { + "redux": ">4.0.0" + } + }, + "node_modules/redux-persist-transform-encrypt": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/redux-persist-transform-encrypt/-/redux-persist-transform-encrypt-5.1.1.tgz", + "integrity": "sha512-PN+yypR6fBVMEFBnwZmTN9rEovs+zmBojejIGF8WxP4Qt+Tt1MQtIUUkeUKoeG4QrMWoXtRYmbBkaWpKcdpXHg==", + "dependencies": { + "crypto-js": "^4.2.0", + "json-stringify-safe": "^5.0.1" + }, + "peerDependencies": { + "redux": ">3.0.0", + "redux-persist": "^6.x.x" + } }, "node_modules/redux-saga": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/redux-saga/-/redux-saga-1.3.0.tgz", "integrity": "sha512-J9RvCeAZXSTAibFY0kGw6Iy4EdyDNW7k6Q+liwX+bsck7QVsU78zz8vpBRweEfANxnnlG/xGGeOvf6r8UXzNJQ==", - "license": "MIT", "dependencies": { "@redux-saga/core": "^1.3.0" } @@ -10399,24 +10319,23 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-3.1.0.tgz", "integrity": "sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==", - "license": "MIT", "peerDependencies": { "redux": "^5.0.0" } }, "node_modules/reflect.getprototypeof": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.7.tgz", - "integrity": "sha512-bMvFGIUKlc/eSfXNX+aZ+EL95/EgZzuwA0OBPTbZZDEJw/0AkentjMuM1oiRfwHrshqk4RzdgiTg5CcDalXN5g==", - "license": "MIT", + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", + "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", + "es-abstract": "^1.23.9", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "which-builtin-type": "^1.1.4" + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.7", + "get-proto": "^1.0.1", + "which-builtin-type": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -10431,14 +10350,15 @@ "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==" }, "node_modules/regexp.prototype.flags": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz", - "integrity": "sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ==", - "license": "MIT", + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", + "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "define-properties": "^1.2.1", "es-errors": "^1.3.0", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", "set-function-name": "^2.0.2" }, "engines": { @@ -10459,8 +10379,7 @@ "node_modules/reselect": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/reselect/-/reselect-5.1.1.tgz", - "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==", - "license": "MIT" + "integrity": "sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==" }, "node_modules/resolve": { "version": "1.22.8", @@ -10500,7 +10419,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "license": "MIT", "dependencies": { "hash-base": "^3.0.0", "inherits": "^2.0.1" @@ -10567,14 +10485,14 @@ } }, "node_modules/safe-array-concat": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz", - "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==", - "license": "MIT", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", + "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", "dependencies": { - "call-bind": "^1.0.7", - "get-intrinsic": "^1.2.4", - "has-symbols": "^1.0.3", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "get-intrinsic": "^1.2.6", + "has-symbols": "^1.1.0", "isarray": "^2.0.5" }, "engines": { @@ -10603,15 +10521,29 @@ } ] }, + "node_modules/safe-push-apply": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", + "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", + "dependencies": { + "es-errors": "^1.3.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/safe-regex-test": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz", - "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", "dependencies": { - "call-bind": "^1.0.6", + "call-bound": "^1.0.2", "es-errors": "^1.3.0", - "is-regex": "^1.1.4" + "is-regex": "^1.2.1" }, "engines": { "node": ">= 0.4" @@ -10640,7 +10572,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/sasl-scram-sha-1/-/sasl-scram-sha-1-1.3.0.tgz", "integrity": "sha512-hJE3eUCEx0aK+9jwHu6VVrQwb9qxv8RMc3ZciGF/ZzXgxptCX9QbfJT45nloJGxrR9AfBU6GiVNYKA5mrqu2KQ==", - "license": "MIT", "dependencies": { "create-hash": "^1.1.0", "create-hmac": "^1.1.3", @@ -10720,7 +10651,6 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -10737,7 +10667,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "license": "MIT", "dependencies": { "define-data-property": "^1.1.4", "es-errors": "^1.3.0", @@ -10748,11 +10677,23 @@ "node": ">= 0.4" } }, + "node_modules/set-proto": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", + "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/sha.js": { "version": "2.4.11", "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "license": "(MIT AND BSD-3-Clause)", "dependencies": { "inherits": "^2.0.1", "safe-buffer": "^5.0.1" @@ -10765,7 +10706,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "license": "MIT", "dependencies": { "kind-of": "^6.0.2" }, @@ -10781,8 +10721,7 @@ "node_modules/shallowequal": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", - "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==", - "license": "MIT" + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" }, "node_modules/shebang-command": { "version": "2.0.0", @@ -10806,15 +10745,65 @@ } }, "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "dependencies": { - "call-bind": "^1.0.7", "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" }, "engines": { "node": ">= 0.4" @@ -10839,7 +10828,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", - "license": "MIT", "engines": { "node": ">=6" } @@ -10864,7 +10852,6 @@ "version": "0.5.21", "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -10874,7 +10861,6 @@ "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -10883,7 +10869,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "license": "MIT", "dependencies": { "safe-buffer": "~5.2.0" } @@ -10917,15 +10902,17 @@ } }, "node_modules/string.prototype.trim": { - "version": "1.2.9", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", - "integrity": "sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==", - "license": "MIT", + "version": "1.2.10", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", + "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", + "define-data-property": "^1.1.4", "define-properties": "^1.2.1", - "es-abstract": "^1.23.0", - "es-object-atoms": "^1.0.0" + "es-abstract": "^1.23.5", + "es-object-atoms": "^1.0.0", + "has-property-descriptors": "^1.0.2" }, "engines": { "node": ">= 0.4" @@ -10935,15 +10922,18 @@ } }, "node_modules/string.prototype.trimend": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz", - "integrity": "sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==", - "license": "MIT", + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", + "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.2", "define-properties": "^1.2.1", "es-object-atoms": "^1.0.0" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -10952,7 +10942,6 @@ "version": "1.0.8", "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "define-properties": "^1.2.1", @@ -11002,10 +10991,9 @@ } }, "node_modules/styled-components": { - "version": "6.1.13", - "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.1.13.tgz", - "integrity": "sha512-M0+N2xSnAtwcVAQeFEsGWFFxXDftHUD7XrKla06QbpUMmbmtFBMMTcKWvFXtWxuD5qQkB8iU5gk6QASlx2ZRMw==", - "license": "MIT", + "version": "6.1.14", + "resolved": "https://registry.npmjs.org/styled-components/-/styled-components-6.1.14.tgz", + "integrity": "sha512-KtfwhU5jw7UoxdM0g6XU9VZQFV4do+KrM8idiVCH5h4v49W+3p3yMe0icYwJgZQZepa5DbH04Qv8P0/RdcLcgg==", "dependencies": { "@emotion/is-prop-valid": "1.2.2", "@emotion/unitless": "0.8.1", @@ -11033,7 +11021,6 @@ "version": "1.2.2", "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz", "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==", - "license": "MIT", "dependencies": { "@emotion/memoize": "^0.8.1" } @@ -11041,14 +11028,12 @@ "node_modules/styled-components/node_modules/@emotion/memoize": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", - "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==", - "license": "MIT" + "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" }, "node_modules/styled-components/node_modules/@emotion/unitless": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", - "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==", - "license": "MIT" + "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" }, "node_modules/styled-components/node_modules/postcss": { "version": "8.4.38", @@ -11068,7 +11053,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", @@ -11081,14 +11065,12 @@ "node_modules/styled-components/node_modules/stylis": { "version": "4.3.2", "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.2.tgz", - "integrity": "sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==", - "license": "MIT" + "integrity": "sha512-bhtUjWd/z6ltJiQwg0dUfxEJ+W+jdqQd8TbWLWyeIJHlnsqmGLRFFd8e5mA0AZi/zx90smXRlN66YMTcaSFifg==" }, "node_modules/styled-components/node_modules/tslib": { "version": "2.6.2", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==", - "license": "0BSD" + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "node_modules/stylis": { "version": "4.2.0", @@ -11295,12 +11277,6 @@ "resolved": "https://registry.npmjs.org/toggle-selection/-/toggle-selection-1.0.6.tgz", "integrity": "sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ==" }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "license": "MIT" - }, "node_modules/ts-api-utils": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.4.1.tgz", @@ -11337,30 +11313,28 @@ } }, "node_modules/typed-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", - "license": "MIT", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", + "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.3", "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" + "is-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" } }, "node_modules/typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", - "license": "MIT", + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", + "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", "dependencies": { - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.14" }, "engines": { "node": ">= 0.4" @@ -11370,18 +11344,17 @@ } }, "node_modules/typed-array-byte-offset": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.3.tgz", - "integrity": "sha512-GsvTyUHTriq6o/bHcTd0vM7OQ9JEdlvluu9YISaA7+KzDzPaIzEeDFNkTfhdE3MYcNhNi0vq/LlegYgIs5yPAw==", - "license": "MIT", + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", + "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13", - "reflect.getprototypeof": "^1.0.6" + "gopd": "^1.2.0", + "has-proto": "^1.2.0", + "is-typed-array": "^1.1.15", + "reflect.getprototypeof": "^1.0.9" }, "engines": { "node": ">= 0.4" @@ -11394,7 +11367,6 @@ "version": "1.0.7", "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", - "license": "MIT", "dependencies": { "call-bind": "^1.0.7", "for-each": "^0.3.3", @@ -11427,7 +11399,6 @@ "version": "0.0.2", "resolved": "https://registry.npmjs.org/typescript-compare/-/typescript-compare-0.0.2.tgz", "integrity": "sha512-8ja4j7pMHkfLJQO2/8tut7ub+J3Lw2S3061eJLFQcvs3tsmJKp8KG5NtpLn7KcY2w08edF74BSVN7qJS0U6oHA==", - "license": "MIT", "dependencies": { "typescript-logic": "^0.0.0" } @@ -11461,28 +11432,28 @@ "node_modules/typescript-logic": { "version": "0.0.0", "resolved": "https://registry.npmjs.org/typescript-logic/-/typescript-logic-0.0.0.tgz", - "integrity": "sha512-zXFars5LUkI3zP492ls0VskH3TtdeHCqu0i7/duGt60i5IGPIpAHE/DWo5FqJ6EjQ15YKXrt+AETjv60Dat34Q==", - "license": "MIT" + "integrity": "sha512-zXFars5LUkI3zP492ls0VskH3TtdeHCqu0i7/duGt60i5IGPIpAHE/DWo5FqJ6EjQ15YKXrt+AETjv60Dat34Q==" }, "node_modules/typescript-tuple": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/typescript-tuple/-/typescript-tuple-2.2.1.tgz", "integrity": "sha512-Zcr0lbt8z5ZdEzERHAMAniTiIKerFCMgd7yjq1fPnDJ43et/k9twIFQMUYff9k5oXcsQ0WpvFcgzK2ZKASoW6Q==", - "license": "MIT", "dependencies": { "typescript-compare": "^0.0.2" } }, "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "license": "MIT", + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", + "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", "dependencies": { - "call-bind": "^1.0.2", + "call-bound": "^1.0.3", "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" + "has-symbols": "^1.1.0", + "which-boxed-primitive": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -11560,7 +11531,6 @@ "https://github.com/sponsors/broofa", "https://github.com/sponsors/ctavan" ], - "license": "MIT", "bin": { "uuid": "dist/bin/uuid" } @@ -11569,7 +11539,6 @@ "version": "3.2.0", "resolved": "https://registry.npmjs.org/v8flags/-/v8flags-3.2.0.tgz", "integrity": "sha512-mH8etigqMfiGWdeXpaaqGfs6BndypxusHHcv2qSHyZkGEznCd/qAXCWWRzeowtL54147cktFOC4P5y+kl8d8Jg==", - "license": "MIT", "dependencies": { "homedir-polyfill": "^1.0.1" }, @@ -11658,16 +11627,17 @@ } }, "node_modules/wavesurfer.js": { - "version": "7.8.10", - "resolved": "https://registry.npmjs.org/wavesurfer.js/-/wavesurfer.js-7.8.10.tgz", - "integrity": "sha512-fQtMENm5uPvB7GGZtWj61W82IighH2Jx6nbW6ciL1uITU6Ea9i3rvp+Z2CTJaau5dMwAD6pCALkNvTkIXIIeYw==", - "license": "BSD-3-Clause" + "version": "7.9.0", + "resolved": "https://registry.npmjs.org/wavesurfer.js/-/wavesurfer.js-7.9.0.tgz", + "integrity": "sha512-ZzyHn+htSsZ0omPSYaAbhnoMqlLVO1lR8b+hACMBEvpZmkScJn0AmQkBo2a5u5UtOuCVc0Xv/tM+KtJVv5yvtQ==" }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "license": "BSD-2-Clause" + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "engines": { + "node": ">= 8" + } }, "node_modules/websocket-driver": { "version": "0.7.4", @@ -11690,16 +11660,6 @@ "node": ">=0.8.0" } }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, "node_modules/which": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", @@ -11716,40 +11676,41 @@ } }, "node_modules/which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "license": "MIT", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", + "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", "dependencies": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" + "is-bigint": "^1.1.0", + "is-boolean-object": "^1.2.1", + "is-number-object": "^1.1.1", + "is-string": "^1.1.1", + "is-symbol": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/which-builtin-type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.0.tgz", - "integrity": "sha512-I+qLGQ/vucCby4tf5HsLmGueEla4ZhwTBSqaooS+Y0BuxN4Cp+okmGuV+8mXZ84KDI9BA+oklo+RzKg0ONdSUA==", - "license": "MIT", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", + "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", "dependencies": { - "call-bind": "^1.0.7", + "call-bound": "^1.0.2", "function.prototype.name": "^1.1.6", "has-tostringtag": "^1.0.2", "is-async-function": "^2.0.0", - "is-date-object": "^1.0.5", + "is-date-object": "^1.1.0", "is-finalizationregistry": "^1.1.0", "is-generator-function": "^1.0.10", - "is-regex": "^1.1.4", + "is-regex": "^1.2.1", "is-weakref": "^1.0.2", "isarray": "^2.0.5", - "which-boxed-primitive": "^1.0.2", + "which-boxed-primitive": "^1.1.0", "which-collection": "^1.0.2", - "which-typed-array": "^1.1.15" + "which-typed-array": "^1.1.16" }, "engines": { "node": ">= 0.4" @@ -11762,7 +11723,6 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "license": "MIT", "dependencies": { "is-map": "^2.0.3", "is-set": "^2.0.3", @@ -11777,15 +11737,15 @@ } }, "node_modules/which-typed-array": { - "version": "1.1.16", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.16.tgz", - "integrity": "sha512-g+N+GAWiRj66DngFwHvISJd+ITsyphZvD1vChfVg6cEdnzy53GzB3oy0fUNlvhz7H7+MiqhYr26qxQShCpKTTQ==", - "license": "MIT", + "version": "1.1.18", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.18.tgz", + "integrity": "sha512-qEcY+KJYlWyLH9vNbsr6/5j59AXk5ni5aakf8ldzBvGde6Iz4sxZGkJyWSAueTG7QhOvNRYb1lDdFmL5Td0QKA==", "dependencies": { "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", + "call-bind": "^1.0.8", + "call-bound": "^1.0.3", "for-each": "^0.3.3", - "gopd": "^1.0.1", + "gopd": "^1.2.0", "has-tostringtag": "^1.0.2" }, "engines": { @@ -11841,14 +11801,12 @@ "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "license": "ISC" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/ws": { "version": "8.18.0", "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.0.tgz", "integrity": "sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw==", - "license": "MIT", "engines": { "node": ">=10.0.0" }, diff --git a/package.json b/package.json index 6d81150..3c7f2f8 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^25.01.02", + "@ethora/chat-component": "^25.1.14", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", diff --git a/src/pages/Chat.tsx b/src/pages/Chat.tsx index 5192f24..58a9363 100644 --- a/src/pages/Chat.tsx +++ b/src/pages/Chat.tsx @@ -27,29 +27,29 @@ const MemoizedChat = React.memo(function ChatComponent({ config={{ colors: { primary: config?.primaryColor || '#fff', - secondary: '#fff', + secondary: config?.secondaryColor || '#141414', }, // @ts-ignorex roomListStyles: { - color: config?.primaryColor, maxHeight: 'calc(100%)', height: 'calc(100%)', borderRadius: '16px 0px 0px 16px', border: 'none', padding: '16px', + color: '#141414', }, chatRoomStyles: { - color: config?.primaryColor, maxHeight: 'calc(100%)', height: 'calc(100%)', borderRadius: '0px 16px 16px 0px', + color: '#141414', }, userLogin: { enabled: true, user: currentUser, }, disableRoomMenu: true, - defaultRooms: config?.defaultRooms, + defaultRooms: config?.defaultRooms || [], refreshTokens: { refreshFunction: handleChangeTokens, enabled: true, From 92e841618e9d79878812269f1832ce104f56798f Mon Sep 17 00:00:00 2001 From: Roman Leshchuh Date: Fri, 31 Jan 2025 19:29:31 +0200 Subject: [PATCH 009/283] added rcc wit hreactions --- package-lock.json | 30 ++++++++++++++++++++++++++---- package.json | 2 +- 2 files changed, 27 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 98bdf1b..874816c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^25.1.14", + "@ethora/chat-component": "^25.1.15", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", @@ -466,6 +466,20 @@ "node": ">=6.9.0" } }, + "node_modules/@emoji-mart/data": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@emoji-mart/data/-/data-1.2.1.tgz", + "integrity": "sha512-no2pQMWiBy6gpBEiqGeU77/bFejDqUTRY7KX+0+iur13op3bqUsXdnwoZs6Xb1zbv0gAj5VvS1PWoUUckSr5Dw==" + }, + "node_modules/@emoji-mart/react": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@emoji-mart/react/-/react-1.1.1.tgz", + "integrity": "sha512-NMlFNeWgv1//uPsvLxvGQoIerPuVdXwK/EUek8OOkJ6wVOWPUizRBJU0hDqWZCOROVpfBgCemaC3m6jDOXi03g==", + "peerDependencies": { + "emoji-mart": "^5.2", + "react": "^16.8 || ^17 || ^18" + } + }, "node_modules/@emotion/babel-plugin": { "version": "11.13.5", "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz", @@ -1095,16 +1109,19 @@ } }, "node_modules/@ethora/chat-component": { - "version": "25.1.14", - "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-25.1.14.tgz", - "integrity": "sha512-gROA+10NW76UbtoVmloiAa3mm8DRyXXsFQTAPd0u1+1pbsttCfwXnfrPq+ZGR0U709x4Ql+avfSgWFT6kxqAEQ==", + "version": "25.1.15", + "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-25.1.15.tgz", + "integrity": "sha512-6m0nhOtdoWdev5jVQCQQOXabvDqNlpBKArlb37KZTuNfmuEiaJG0OtOnQHjMXrqBZ0rbLS1azzek/brKZjA6zQ==", "dependencies": { + "@emoji-mart/data": "^1.2.1", + "@emoji-mart/react": "^1.1.1", "@reduxjs/toolkit": "^2.2.1", "@types/react": "^18.2.65", "@types/react-dom": "^18.2.22", "@types/styled-components": "^5.1.34", "@xmpp/client": "^0.13.1", "axios": "^1.7.2", + "emoji-mart": "^5.6.0", "firebase": "^10.13.2", "i": "^0.3.7", "js-sha256": "^0.11.0", @@ -4833,6 +4850,11 @@ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.64.tgz", "integrity": "sha512-IXEuxU+5ClW2IGEYFC2T7szbyVgehupCWQe5GNh+H065CD6U6IFN0s4KeAMFGNmQolRU4IV7zGBWSYMmZ8uuqQ==" }, + "node_modules/emoji-mart": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/emoji-mart/-/emoji-mart-5.6.0.tgz", + "integrity": "sha512-eJp3QRe79pjwa+duv+n7+5YsNhRcMl812EcFVwrnRvYKoNPoQb5qxU8DG6Bgwji0akHdp6D4Ln6tYLG58MFSow==" + }, "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", diff --git a/package.json b/package.json index 3c7f2f8..82d87ff 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^25.1.14", + "@ethora/chat-component": "^25.1.15", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", From 34e5c2a5066d75daf804ce19162626ddbf45648f Mon Sep 17 00:00:00 2001 From: Roman Leshchuh Date: Sat, 1 Feb 2025 02:30:41 +0200 Subject: [PATCH 010/283] updated chat version --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 874816c..33f16b5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^25.1.15", + "@ethora/chat-component": "^25.1.17", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", @@ -1109,9 +1109,9 @@ } }, "node_modules/@ethora/chat-component": { - "version": "25.1.15", - "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-25.1.15.tgz", - "integrity": "sha512-6m0nhOtdoWdev5jVQCQQOXabvDqNlpBKArlb37KZTuNfmuEiaJG0OtOnQHjMXrqBZ0rbLS1azzek/brKZjA6zQ==", + "version": "25.1.17", + "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-25.1.17.tgz", + "integrity": "sha512-ncb/bLaHTvv6p8aqzRN5/FZYivykfeaZIoYJu8GDPxDKUZb33RKgknYVjJRkJdQzOAOrRY5hIPU/eR3u0YwYtg==", "dependencies": { "@emoji-mart/data": "^1.2.1", "@emoji-mart/react": "^1.1.1", diff --git a/package.json b/package.json index 82d87ff..2e9a988 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^25.1.15", + "@ethora/chat-component": "^25.1.17", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", From 8bc19c63c046cfff6a8f8b186ba907c185e16a58 Mon Sep 17 00:00:00 2001 From: Roman Leshchuh Date: Sat, 1 Feb 2025 02:37:05 +0200 Subject: [PATCH 011/283] fixed package-lock --- package-lock.json | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/package-lock.json b/package-lock.json index 33f16b5..b00d33a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1111,7 +1111,7 @@ "node_modules/@ethora/chat-component": { "version": "25.1.17", "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-25.1.17.tgz", - "integrity": "sha512-ncb/bLaHTvv6p8aqzRN5/FZYivykfeaZIoYJu8GDPxDKUZb33RKgknYVjJRkJdQzOAOrRY5hIPU/eR3u0YwYtg==", + "integrity": "sha512-T7CrQ2jX/9GSWmqZleq7psAEy6PTqdK8wUbqsZwX05NJ6kfQGithLg6ztSEeQte6Yg6u9oq6WCc9wPWsHSmGcQ==", "dependencies": { "@emoji-mart/data": "^1.2.1", "@emoji-mart/react": "^1.1.1", @@ -4301,7 +4301,6 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -5742,7 +5741,6 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, "engines": { "node": ">=8" } @@ -6328,8 +6326,7 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" }, "node_modules/isobject": { "version": "3.0.1", @@ -6649,7 +6646,6 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", - "dev": true, "engines": { "node": ">=16 || 14 >=14.17" } @@ -11178,7 +11174,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -11686,7 +11681,6 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, "dependencies": { "isexe": "^2.0.0" }, From cde347c73d29feb605322553e8c8c9b8396727df Mon Sep 17 00:00:00 2001 From: Roman Leshchuh Date: Tue, 4 Feb 2025 19:18:18 +0200 Subject: [PATCH 012/283] fixed reset --- src/http.ts | 3 ++- .../AuthPage/ForgetPassword/Steps/ThirdStep.tsx | 15 ++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/http.ts b/src/http.ts index 1e5df7b..ac48685 100644 --- a/src/http.ts +++ b/src/http.ts @@ -316,8 +316,9 @@ export async function httpPostForgotPassword(email: string) { }); } -export async function httpResetPassword(password: string) { +export async function httpResetPassword(token: string, password: string) { return await http.post('/users/reset', { + token, password, }); } diff --git a/src/pages/AuthPage/ForgetPassword/Steps/ThirdStep.tsx b/src/pages/AuthPage/ForgetPassword/Steps/ThirdStep.tsx index 9293a21..0d511fe 100644 --- a/src/pages/AuthPage/ForgetPassword/Steps/ThirdStep.tsx +++ b/src/pages/AuthPage/ForgetPassword/Steps/ThirdStep.tsx @@ -26,9 +26,22 @@ const ThirdStep: React.FC = ({}) => { const navigate = useNavigate(); + const getTokenFromUrl = (): string | null => { + const url = window.location.href; + const match = url.match(/resetPassword\/([a-f0-9]{24})/); + return match ? match[1] : null; + }; + const onSubmit = (data: Inputs) => { setLoading(true); - httpResetPassword(data.newPassword) + const token = getTokenFromUrl(); + if (!token) { + toast.error('Bad reset url. Try reset again'); + setLoading(false); + navigate('/login'); + return; + } + httpResetPassword(token, data.newPassword) .then(() => { toast.success('Password was successfully reset'); navigate('/login'); From 065e9b0bc916f90962d01eb6e075d9acec7f83db Mon Sep 17 00:00:00 2001 From: Dmytro Berberov Date: Tue, 11 Feb 2025 14:34:28 +0100 Subject: [PATCH 013/283] added in head script clarity microsoft --- index.html | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/index.html b/index.html index 52aee6f..4597b7a 100644 --- a/index.html +++ b/index.html @@ -17,6 +17,14 @@ href="https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap" rel="stylesheet" /> + +
From 439ace27431748163ab6dc62b5d70aaa3438aca7 Mon Sep 17 00:00:00 2001 From: Roman Leshchuh Date: Tue, 11 Feb 2025 20:18:43 +0200 Subject: [PATCH 014/283] updated chat version --- package-lock.json | 16 +++++++++++----- package.json | 2 +- src/pages/AuthPage/Register/Steps/ThirdStep.tsx | 2 +- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/package-lock.json b/package-lock.json index b00d33a..2030b7e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^25.1.17", + "@ethora/chat-component": "^25.1.18", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", @@ -1109,9 +1109,9 @@ } }, "node_modules/@ethora/chat-component": { - "version": "25.1.17", - "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-25.1.17.tgz", - "integrity": "sha512-T7CrQ2jX/9GSWmqZleq7psAEy6PTqdK8wUbqsZwX05NJ6kfQGithLg6ztSEeQte6Yg6u9oq6WCc9wPWsHSmGcQ==", + "version": "25.1.18", + "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-25.1.18.tgz", + "integrity": "sha512-FC7naVy6VT1M0AsnNdb2TIyAlEdI1HXZxo4FmZ93688AkmGy9LqYrioJuSMIx/v/x++PMEmOdK65E7FmZDTAlg==", "dependencies": { "@emoji-mart/data": "^1.2.1", "@emoji-mart/react": "^1.1.1", @@ -4301,6 +4301,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -5741,6 +5742,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, "engines": { "node": ">=8" } @@ -6326,7 +6328,8 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true }, "node_modules/isobject": { "version": "3.0.1", @@ -6646,6 +6649,7 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, "engines": { "node": ">=16 || 14 >=14.17" } @@ -11174,6 +11178,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -11681,6 +11686,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, "dependencies": { "isexe": "^2.0.0" }, diff --git a/package.json b/package.json index 2e9a988..f5b7f87 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^25.1.17", + "@ethora/chat-component": "^25.1.18", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", diff --git a/src/pages/AuthPage/Register/Steps/ThirdStep.tsx b/src/pages/AuthPage/Register/Steps/ThirdStep.tsx index b48d7e9..83a8d25 100644 --- a/src/pages/AuthPage/Register/Steps/ThirdStep.tsx +++ b/src/pages/AuthPage/Register/Steps/ThirdStep.tsx @@ -58,7 +58,7 @@ const ThirdStep = () => { setPermanentPassword(tempPassword, newPassword) .then(() => { toast.success('Success'); - navigate('/'); + navigate('/login'); }) .catch(() => { toast.error('Error'); From 873cefd07e94dca04677dafd4e60b8ba9e94d2c8 Mon Sep 17 00:00:00 2001 From: Dmytro Berberov Date: Wed, 12 Feb 2025 12:41:46 +0100 Subject: [PATCH 015/283] readme --- README.md | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3f2052a..64b815b 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,19 @@ -# ethora-app-reactjs +![GitHub watchers](https://img.shields.io/github/watchers/dappros/ethora-app-reactjs) ![GitHub forks](https://img.shields.io/github/forks/dappros/ethora-app-reactjs) ![GitHub Repo stars](https://img.shields.io/github/stars/dappros/ethora-app-reactjs) ![GitHub repo size](https://img.shields.io/github/repo-size/dappros/ethora-app-reactjs) ![GitHub language count](https://img.shields.io/github/languages/count/dappros/ethora-app-reactjs) ![GitHub top language](https://img.shields.io/github/languages/top/dappros/ethora-app-reactjs) ![GitHub commit activity (branch)](https://img.shields.io/github/commit-activity/m/dappros/ethora-app-reactjs/dev) ![GitHub issues](https://img.shields.io/github/issues/dappros/ethora-app-reactjs) ![GitHub closed issues](https://img.shields.io/github/issues-closed-raw/dappros/ethora-app-reactjs) ![GitHub](https://img.shields.io/github/license/dappros/ethora-app-reactjs) +[![All Contributors](https://img.shields.io/badge/all_contributors-13-orange.svg?style=flat-square)](#contributors) -Full Ethora App, React.js version + + +![JavaScript](https://img.shields.io/badge/javascript-%23323330.svg?style=flat&logo=javascript&logoColor=%23F7DF1E) ![TypeScript](https://img.shields.io/badge/typescript-%23007ACC.svg?style=flat&logo=typescript&logoColor=white) ![React](https://img.shields.io/badge/react-%2320232a.svg?style=flat&logo=react&logoColor=%2361DAFB) ![JWT](https://img.shields.io/badge/JWT-black?style=flat&logo=JSON%20web%20tokens) + +[![Discord](https://img.shields.io/badge/%3Cethora%3E-%237289DA.svg?style=flat&logo=discord&logoColor=white)](https://discord.gg/Sm6bAHA3ZC) [![Twitter URL](https://img.shields.io/twitter/url?url=https%3A%2F%2Fgithub.com%2Fdappros%2Fethora)](https://twitter.com/intent/tweet?url=https%3A%2F%2Fgithub.com%2Fdappros%2Fethora%2F&via=tarasfilatov&text=check%20out%20Ethora%20%23web3%20%23social%20app%20engine&hashtags=lowcode%2Creactnative%2Copensource%2Cnocode) [![Website](https://img.shields.io/website?url=https%3A%2F%2Fethora.com%2F)](https://ethora.com/) [![YouTube Channel Subscribers](https://img.shields.io/youtube/channel/subscribers/UCRvrXwMOU0WBkRZyFlU7V_g)](https://www.youtube.com/channel/UCRvrXwMOU0WBkRZyFlU7V_g) + +# Ethora engine for React.js + +Full Ethora app engine, React.js version + +This has previously been tracked in Ethora "monorepo" https://github.com/dappros/ethora under "client-web" folder. Now (November 2024) this has been moved to its own repository. + +This project is built on top of Ethora Chat Component NPM package: + +- https://www.npmjs.com/package/@ethora/chat-component +- https://github.com/dappros/ethora-chat-component From b4bf5fd339e927570344a2f702270e2c11bb99e1 Mon Sep 17 00:00:00 2001 From: Dmytro Berberov Date: Wed, 12 Feb 2025 17:14:43 +0100 Subject: [PATCH 016/283] fix bug --- package-lock.json | 8 +++- src/AppLayout.tsx | 57 ++++++++++++++++----------- src/components/AppMenu.tsx | 12 +++++- src/pages/AppSettings/AppSettings.tsx | 1 + src/pages/AppSettings/Appearance.tsx | 30 +++++++++++--- src/pages/AppSettings/WebApp.tsx | 15 +++++-- src/pages/Chat.tsx | 2 +- 7 files changed, 89 insertions(+), 36 deletions(-) diff --git a/package-lock.json b/package-lock.json index b00d33a..3c12c28 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4301,6 +4301,7 @@ "version": "4.1.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, "dependencies": { "ansi-styles": "^4.1.0", "supports-color": "^7.1.0" @@ -5741,6 +5742,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, "engines": { "node": ">=8" } @@ -6326,7 +6328,8 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true }, "node_modules/isobject": { "version": "3.0.1", @@ -6646,6 +6649,7 @@ "version": "7.1.2", "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, "engines": { "node": ">=16 || 14 >=14.17" } @@ -11174,6 +11178,7 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "dependencies": { "has-flag": "^4.0.0" }, @@ -11681,6 +11686,7 @@ "version": "2.0.2", "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, "dependencies": { "isexe": "^2.0.0" }, diff --git a/src/AppLayout.tsx b/src/AppLayout.tsx index 442244c..a9b325d 100644 --- a/src/AppLayout.tsx +++ b/src/AppLayout.tsx @@ -1,4 +1,4 @@ -import { Suspense, useEffect } from 'react'; +import { Suspense, useEffect, useState } from 'react'; import { Navigate, Outlet, useLocation } from 'react-router-dom'; import { AppMenu } from './components/AppMenu'; import { useAppStore } from './store/useAppStore'; @@ -6,34 +6,47 @@ import { useAppStore } from './store/useAppStore'; export default function AppLayout() { const user = useAppStore((s) => s.currentUser); const location = useLocation(); + + const [redirectPath, setRedirectPath] = useState(null); useEffect(() => { localStorage.setItem('lastPath', location.pathname); - }, [location]); + }, [location.pathname]); + + useEffect(() => { + const lastPath = localStorage.getItem('lastPath'); + if (lastPath && lastPath !== location.pathname) { + setRedirectPath(lastPath); + } + }, []); if (!user) { - return ; - } else { - return ( - -
-
- {/* app content */} -
- {/* menu */} -
- -
+ return ; + } + + if (redirectPath) { + const path = redirectPath; + setRedirectPath(null); + return ; + } - {/* router content */} -
- -
+ return ( + +
+
+ {/* app content */} +
+ {/* menu */} +
+ +
+ {/* router content */} +
+
- - - ); - } +
+
+ ); } diff --git a/src/components/AppMenu.tsx b/src/components/AppMenu.tsx index 178edb0..3209be3 100644 --- a/src/components/AppMenu.tsx +++ b/src/components/AppMenu.tsx @@ -1,4 +1,4 @@ -import { NavLink } from 'react-router-dom'; +import { NavLink, useLocation } from 'react-router-dom'; import { IconAdmin } from './Icons/IconAdmin'; import { IconChat } from './Icons/IconChat'; import { IconMenuBurger } from './Icons/IconMenuBurger'; @@ -9,8 +9,11 @@ import { ProfilePageUserIcon } from './ProfilePageUserIcon'; import { useAppStore } from '../store/useAppStore'; export function AppMenu() { + const location = useLocation(); const [isMobileMenuVisible, setMobileMenuVisible] = useState(false); - const currentUser = useAppStore(s => s.currentUser) + const currentUser = useAppStore(s => s.currentUser); + + console.log('currentUser',currentUser) if (!currentUser) { return @@ -22,6 +25,11 @@ export function AppMenu() { + {location.pathname.includes('app/chat') && ( +
+ Chats +
+ )}
+ actionPostFile(file).then((resp) => { + console.log('resp', resp.data.results[0].location) setLogoImage(resp.data.results[0].location) + } ); }; @@ -65,8 +68,10 @@ export function Appearance({ return; } - actionPostFile(file).then((resp) => + actionPostFile(file).then((resp) => { + console.log('resp', resp.data.results[0].location) setSublogoImage(resp.data.results[0].location) + } ); }; @@ -153,10 +158,17 @@ export function Appearance({ >
-
{tagline}
+
+ {logoImage && (Primary Logo)} +

{tagline}

+

Sign Up

@@ -247,9 +259,15 @@ export function Appearance({ >
+ > + {logoImage && (Primary Logo)} +

Sign Up

diff --git a/src/pages/AppSettings/WebApp.tsx b/src/pages/AppSettings/WebApp.tsx index 6e252db..0877677 100644 --- a/src/pages/AppSettings/WebApp.tsx +++ b/src/pages/AppSettings/WebApp.tsx @@ -1,5 +1,6 @@ import { Textarea } from '@headlessui/react'; import { IconInfo } from '../../components/Icons/IconInfo'; +import { IconExternalLink } from '../../components/Icons/IconExternalLink'; interface Props { domainName: string; @@ -7,6 +8,7 @@ interface Props { firebaseWebConfigString: string; setFirebaseWebConfigString: (s: string) => void; primaryColor: string; + onExternalClick: () => void; } export function WebApp({ @@ -15,6 +17,7 @@ export function WebApp({ firebaseWebConfigString, setFirebaseWebConfigString, primaryColor, + onExternalClick, }: Props) { return (
@@ -33,7 +36,7 @@ export function WebApp({ on your server.

-
+
setDomainName(e.target.value)} @@ -43,12 +46,16 @@ export function WebApp({ name="" id="domain-input" /> -
diff --git a/src/pages/Chat.tsx b/src/pages/Chat.tsx index 58a9363..f2aa17e 100644 --- a/src/pages/Chat.tsx +++ b/src/pages/Chat.tsx @@ -66,7 +66,7 @@ export default function ChatPage() { return (
-
+
Chats
From 7951acbf38940ca7f117dc2a8f6812ffde5c4753 Mon Sep 17 00:00:00 2001 From: Dmytro Berberov Date: Thu, 13 Feb 2025 09:33:01 +0100 Subject: [PATCH 017/283] fix header name page --- src/components/AppMenu.tsx | 55 +++++++++++++++++++++++--------------- 1 file changed, 34 insertions(+), 21 deletions(-) diff --git a/src/components/AppMenu.tsx b/src/components/AppMenu.tsx index 3209be3..f0ad3cf 100644 --- a/src/components/AppMenu.tsx +++ b/src/components/AppMenu.tsx @@ -1,42 +1,53 @@ +import { useMemo, useState } from 'react'; import { NavLink, useLocation } from 'react-router-dom'; +import { useAppStore } from '../store/useAppStore'; import { IconAdmin } from './Icons/IconAdmin'; import { IconChat } from './Icons/IconChat'; import { IconMenuBurger } from './Icons/IconMenuBurger'; -import { useState } from 'react'; -import { MobileMenuModal } from './modal/MobileMenuModal'; import { IconSettingsMenu } from './Icons/IconSettingsMenu'; +import { MobileMenuModal } from './modal/MobileMenuModal'; import { ProfilePageUserIcon } from './ProfilePageUserIcon'; -import { useAppStore } from '../store/useAppStore'; export function AppMenu() { const location = useLocation(); const [isMobileMenuVisible, setMobileMenuVisible] = useState(false); - const currentUser = useAppStore(s => s.currentUser); + const currentUser = useAppStore((s) => s.currentUser); + + const getPageTitle = useMemo(() => { + const parts = location.pathname.split('/').filter(Boolean); + + if (parts.length > 1) { + return parts[1].charAt(0).toUpperCase() + parts[1].slice(1); + } - console.log('currentUser',currentUser) + return 'Ethora'; + }, [location.pathname]); if (!currentUser) { - return + return; } return ( // md:min-h-[640px]
- - {location.pathname.includes('app/chat') && ( -
- Chats -
- )} +
+ {getPageTitle} +
-
Chats
+
+ Chats +
-
Admin
+
+ Admin +
@@ -52,13 +65,13 @@ export function AppMenu() { to="/app/profile" className="flex hover:bg-[#F5F7F9] group flex-col items-center md:w-[64px] md:h-[64px] rounded-xl aria-[current=page]:bg-brand-150" > - {/*
Date: Thu, 13 Feb 2025 09:54:27 +0100 Subject: [PATCH 018/283] fix ui pagination --- src/pages/AdminApps.tsx | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/src/pages/AdminApps.tsx b/src/pages/AdminApps.tsx index 0faf8cd..3ce5bb6 100644 --- a/src/pages/AdminApps.tsx +++ b/src/pages/AdminApps.tsx @@ -1,13 +1,13 @@ import { useEffect, useState } from 'react'; +import ReactPaginate from 'react-paginate'; import { ApplicationPreview } from '../components/ApplicationPreview'; import { ApplicationStarterInf } from '../components/ApplicationStarterInf'; import { IconAdd } from '../components/Icons/IconAdd'; import { NewAppModal } from '../components/modal/NewAppModal'; +import { Sorting } from '../components/Sorting'; import { httpGetApps } from '../http'; import { ModelApp } from '../models'; import { useAppStore } from '../store/useAppStore'; -import { Sorting } from '../components/Sorting'; -import ReactPaginate from 'react-paginate'; const ITEMS_COUNT = 5; @@ -119,7 +119,7 @@ export default function AdminApps() {
{/* apps list */}
- {(showStarterInf && !apps.length) && ( + {showStarterInf && !apps.length && ( { setShowStarterInf(false); @@ -136,25 +136,33 @@ export default function AdminApps() { ))} {currentUser?.isSuperAdmin && ( { console.log({ args }); }} - onPageChange={(selectedItem) => - onPageChange(selectedItem.selected) - } + onPageChange={(selectedItem) => onPageChange(selectedItem.selected)} breakLabel="..." - nextLabel="" - pageRangeDisplayed={3} + nextLabel="Next ➝" + pageRangeDisplayed={2} pageCount={pageCount} - previousLabel="" + previousLabel="⬅ Prev" renderOnZeroPageCount={null} forcePage={currentPage} + activeClassName="text-brand-500 font-bold px-3 py-2 rounded" + pageClassName="px-3 py-2 hover:bg-gray-200" + previousClassName="px-3 py-2 hover:bg-gray-200" + nextClassName="px-3 py-2 hover:bg-gray-200" + disabledClassName="text-gray-300 cursor-not-allowed" + breakClassName="px-3 py-2" /> )}
{showModal && ( - setShowModal(false)} /> + setShowModal(false)} + /> )}
); From bbef0e93352f63bb9b098d7642d50c0dcd11e516 Mon Sep 17 00:00:00 2001 From: Dmytro Berberov Date: Thu, 13 Feb 2025 16:18:51 +0100 Subject: [PATCH 019/283] add url reload state --- src/App.tsx | 37 +++--- src/http.ts | 6 + src/pages/Admin.tsx | 21 ++-- src/pages/AdminApps.tsx | 2 +- src/pages/AppSettings/AppSettings.tsx | 158 ++++++++++++++++---------- src/pages/AppSettings/Appearance.tsx | 38 ++++--- src/router.tsx | 47 ++++---- 7 files changed, 185 insertions(+), 124 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index dcfe0ff..47992f9 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -5,7 +5,6 @@ import { actionAfterLogin, actionGetConfig } from './actions'; import { Loading } from './components/Loading'; import { httpGetOneUser } from './http'; import { useAppStore } from './store/useAppStore'; -import { navigateToUserPage } from './utils/navigateToUserPage'; export function Fallback() { return

Performing initial data load

; @@ -31,17 +30,17 @@ function App() { '--bg-auth-background', hexToRgba(primaryColor, '0.05') ); - let res = hexToRgba(primaryColor) + let res = hexToRgba(primaryColor); if (res) { - let match = res.match(/\d+(\.\d+)?/g) + let match = res.match(/\d+(\.\d+)?/g); if (match) { - let arr = match.map(Number) - let [r, g, b, a] = arr - r = Math.ceil(r * 0.8) - g = Math.ceil(g * 0.8) - b = Math.ceil(b * 0.8) - let newColor = `rgba(${r},${g},${b},${a})` - console.log({newColor}) + let arr = match.map(Number); + let [r, g, b, a] = arr; + r = Math.ceil(r * 0.8); + g = Math.ceil(g * 0.8); + b = Math.ceil(b * 0.8); + let newColor = `rgba(${r},${g},${b},${a})`; + console.log({ newColor }); document.documentElement.style.setProperty( '--brand-darker', newColor @@ -59,15 +58,21 @@ function App() { try { const { data } = await httpGetOneUser(); await actionAfterLogin(data); - navigateToUserPage(navigate, currentApp?.afterLoginPage) + // navigateToUserPage(navigate, currentApp?.afterLoginPage); } catch (e) { - if (!location.pathname.startsWith('/tempPassword') || !location.pathname.startsWith('/resetPassword')) { + if ( + !location.pathname.startsWith('/tempPassword') || + !location.pathname.startsWith('/resetPassword') + ) { navigate('/login'); } } } else { - if (location.pathname.startsWith('/tempPassword') || location.pathname.startsWith('/resetPassword')) { - return + if ( + location.pathname.startsWith('/tempPassword') || + location.pathname.startsWith('/resetPassword') + ) { + return; } else { navigate('/login'); } @@ -80,9 +85,7 @@ function App() { if (!currentApp) { return ; } else { - return ( - - ); + return ; } } diff --git a/src/http.ts b/src/http.ts index ac48685..5bb583d 100644 --- a/src/http.ts +++ b/src/http.ts @@ -144,6 +144,12 @@ export function httpGetApps({ ); } +export function httpGetApp(id: string) { + return http.get( + `/apps/${id}` + ); +} + export function httpUpdateApp(appId: string, options: any) { return http.put(`/apps/${appId}`, { ...options, diff --git a/src/pages/Admin.tsx b/src/pages/Admin.tsx index 653eca0..7953ca8 100644 --- a/src/pages/Admin.tsx +++ b/src/pages/Admin.tsx @@ -2,7 +2,8 @@ import cn from 'classnames'; import { NavLink, Outlet } from 'react-router-dom'; export default function Admin() { - const isProd = import.meta.env.VITE_SITE_IS_PRODUCTION + const isProd = import.meta.env.VITE_SITE_IS_PRODUCTION; + return (
@@ -14,7 +15,10 @@ export default function Admin() { className={({ isActive }) => cn( 'w-1/2 border flex items-center hover:bg-brand-darker justify-center rounded-l-xl border-brand-500 font-sans text-base', - { 'bg-brand-500 text-white': isActive, 'hover:bg-brand-hover': !isActive } + { + 'bg-brand-500 text-white': isActive, + 'hover:bg-brand-hover': !isActive, + } ) } to="/app/admin/apps" @@ -25,21 +29,24 @@ export default function Admin() { className={({ isActive }) => cn( 'w-1/2 border flex items-center justify-center rounded-r-xl border-brand-500 font-sans text-base', - { - 'bg-brand-500 text-white': isActive, + { + 'bg-brand-500 text-white': isActive, 'hover:bg-brand-hover': !isActive, - 'cursor-not-allowed pointer-events-none text-gray-300 border-gray-300': isProd === "true" + 'cursor-not-allowed pointer-events-none text-gray-300 border-gray-300': + isProd === 'true', } ) } - to="/app/admin/billing" > Billing
-
+
diff --git a/src/pages/AdminApps.tsx b/src/pages/AdminApps.tsx index 3ce5bb6..d7387b5 100644 --- a/src/pages/AdminApps.tsx +++ b/src/pages/AdminApps.tsx @@ -152,7 +152,7 @@ export default function AdminApps() { pageClassName="px-3 py-2 hover:bg-gray-200" previousClassName="px-3 py-2 hover:bg-gray-200" nextClassName="px-3 py-2 hover:bg-gray-200" - disabledClassName="text-gray-300 cursor-not-allowed" + disabledClassName="text-grey-300 cursor-not-allowed" breakClassName="px-3 py-2" /> )} diff --git a/src/pages/AppSettings/AppSettings.tsx b/src/pages/AppSettings/AppSettings.tsx index d5eea87..5875645 100644 --- a/src/pages/AppSettings/AppSettings.tsx +++ b/src/pages/AppSettings/AppSettings.tsx @@ -1,9 +1,12 @@ import { TabGroup, TabList, TabPanel, TabPanels } from '@headlessui/react'; -import { useState } from 'react'; +import { useEffect, useState } from 'react'; import { useParams } from 'react-router-dom'; import { toast } from 'react-toastify'; import { actionUpdateApp } from '../../actions'; import { IconExternalLink } from '../../components/Icons/IconExternalLink'; +import TabApp from '../../components/TabApp'; +import { httpGetApp } from '../../http'; +import { ModelApp, ModelAppDefaulRooom } from '../../models'; import { useAppStore } from '../../store/useAppStore'; import { Api } from './Api'; import { Appearance } from './Appearance'; @@ -14,81 +17,60 @@ import { MobileApp } from './MobileApp'; import { SignonOptions } from './SignonOptions'; import { Visibility } from './Visibility'; import { WebApp } from './WebApp'; -import TabApp from '../../components/TabApp'; -import { ModelAppDefaulRooom } from '../../models'; export default function AppSettings() { let { appId } = useParams(); const apps = useAppStore((s) => s.apps); - const app = apps.find((app) => app._id === appId); - - if (!app) { - return null; - } + const [app, setApp] = useState(undefined); // appearance tab - const [displayName, setDisplayName] = useState(app.displayName); - const [tagline, setTagline] = useState(app.appTagline); - const [coinName, setCoinName] = useState(app.coinName); - const [color, setColor] = useState(app.primaryColor); - const [logoImage, setLogoImage] = useState(app.logoImage); - const [sublogoImage, setSublogoImage] = useState(app.sublogoImage); + const [displayName, setDisplayName] = useState(''); + const [tagline, setTagline] = useState(''); + const [coinName, setCoinName] = useState(''); + const [color, setColor] = useState(''); + const [logoImage, setLogoImage] = useState(''); + const [sublogoImage, setSublogoImage] = useState(''); // signon tab - const [enableEmail, setEnableEmail] = useState( - app.signonOptions.includes('email') - ); - const [enableGoogle, setEnableGoogle] = useState( - app.signonOptions.includes('google') - ); - const [enableApple, setEnableApple] = useState( - app.signonOptions.includes('apple') - ); - const [enableFacebook, setEnableFacebook] = useState( - app.signonOptions.includes('facebook') - ); - const [enableMetamask, setEnableMetamask] = useState( - app.signonOptions.includes('metamask') - ); + const [enableEmail, setEnableEmail] = useState(false); + const [enableGoogle, setEnableGoogle] = useState(false); + const [enableApple, setEnableApple] = useState(false); + const [enableFacebook, setEnableFacebook] = useState(false); + const [enableMetamask, setEnableMetamask] = useState(false); // web app - const [domainName, setDomainName] = useState(app.domainName); - const [firebaseWebConfigString, setFirebaseWebConfigString] = useState( - app.firebaseWebConfigString ? app.firebaseWebConfigString : '' - ); + const [domainName, setDomainName] = useState(''); + const [firebaseWebConfigString, setFirebaseWebConfigString] = useState(''); // mobile app - const [bundleId, setBundleId] = useState(app.bundleId); - const [googleServicesJson, setGoogleServicesJson] = useState( - app.googleServicesJson - ); - const [googleServiceInfoPlist, setGoogleServiceInfoPlist] = useState( - app.googleServiceInfoPlist - ); + const [bundleId, setBundleId] = useState(''); + const [googleServicesJson, setGoogleServicesJson] = useState(''); + const [googleServiceInfoPlist, setGoogleServiceInfoPlist] = useState(''); - const [availableMenuItems, setAvailableMenuItems] = useState( - app.availableMenuItems - ); + const [availableMenuItems, setAvailableMenuItems] = useState({ + chats: false, + profile: false, + settings: false, + }); // home - const [afterLoginPage, setAfterLoginPage] = useState(app.afterLoginPage); + const [afterLoginPage, setAfterLoginPage] = useState(''); // visibility - const [defaultAccessAssetsOpen, setDefaultAccessAssetsOpen] = useState( - app.defaultAccessAssetsOpen - ); - const [defaultAccessProfileOpen, setDefaultAccessProfileOpen] = useState( - app.defaultAccessProfileOpen - ); - const [usersCanFree, setUsersCanFree] = useState(app.usersCanFree); + const [defaultAccessAssetsOpen, setDefaultAccessAssetsOpen] = useState(false); + const [defaultAccessProfileOpen, setDefaultAccessProfileOpen] = + useState(false); + const [usersCanFree, setUsersCanFree] = useState(false); // chats - const [allowUsersToCreateRooms, setAllowUsersToCreateRooms] = useState(app.allowUsersToCreateRooms); + const [allowUsersToCreateRooms, setAllowUsersToCreateRooms] = useState(false); - const [defaultChatRooms, setDefaultChatRooms] = useState>(app.defaultRooms); + const [defaultChatRooms, setDefaultChatRooms] = useState< + Array + >([]); const onSave = () => { - let body: any = {}; + const body: any = {}; // appearance if (displayName) { @@ -116,7 +98,7 @@ export default function AppSettings() { } // signon - let signonOptions = []; + const signonOptions = []; if (enableEmail) { signonOptions.push('email'); @@ -167,7 +149,7 @@ export default function AppSettings() { body.afterLoginPage = afterLoginPage; } - body.allowUsersToCreateRooms = allowUsersToCreateRooms + body.allowUsersToCreateRooms = allowUsersToCreateRooms; console.log('on save body ', body); @@ -185,6 +167,60 @@ export default function AppSettings() { ); }; + useEffect(() => { + if (apps) { + const result = apps.find((app) => app._id === appId); + if (result) { + setApp(result); + } + } + }, [apps, appId]); + + useEffect(() => { + if (!app) return; + + setDisplayName(app.displayName || ''); + setTagline(app.appTagline || ''); + setCoinName(app.coinName || ''); + setColor(app.primaryColor || ''); + setLogoImage(app.logoImage); + setSublogoImage(app.sublogoImage); + setEnableEmail(app.signonOptions.includes('email')); + setEnableGoogle(app.signonOptions.includes('google')); + setEnableApple(app.signonOptions.includes('apple')); + setEnableFacebook(app.signonOptions.includes('facebook')); + setEnableMetamask(app.signonOptions.includes('metamask')); + setDomainName(app.domainName); + setFirebaseWebConfigString( + app.firebaseWebConfigString ? app.firebaseWebConfigString : '' + ); + setBundleId(app.bundleId); + setGoogleServicesJson(app.googleServicesJson); + setGoogleServiceInfoPlist(app.googleServiceInfoPlist); + setAvailableMenuItems(app.availableMenuItems); + setAfterLoginPage(app.afterLoginPage); + setDefaultAccessAssetsOpen(app.defaultAccessAssetsOpen); + setDefaultAccessProfileOpen(app.defaultAccessProfileOpen); + setUsersCanFree(app.usersCanFree); + setAllowUsersToCreateRooms(app.allowUsersToCreateRooms); + setDefaultChatRooms(app.defaultRooms); + }, [app]); + + useEffect(() => { + if (!appId || app) return; + + const getApp = async () => { + const response = await httpGetApp(appId); + setApp(response.data.result); + }; + + getApp(); + }, [appId, app]); + + if (!app) { + return
; + } + return (
@@ -192,7 +228,10 @@ export default function AppSettings() { Settings
- -
-
@@ -77,50 +82,60 @@ export default function Profile() {

{`${firstName} ${lastName}`}

-

Online / Offline

+

+ Online / Offline +

About

{description}

- - - - Documents - - - Collections - - - - - + {documents.map((el) => ( +
- Add Document - - {documents.map((el) => ( -
-
- -
-
-
{el.documentName}
-
- {DateTime.fromISO(el.createdAt).toFormat( - 'dd LLL yyyy t' - )} -
+
+ +
+
+
{el.documentName}
+
+ {DateTime.fromISO(el.createdAt).toFormat( + 'dd LLL yyyy t' + )}
- ))} - - collections - - - +
+ ))} + + collections + +
@@ -149,5 +162,5 @@ export default function Profile() { /> )}
- ) + ); } diff --git a/src/pages/UserSettings/UserSettings.tsx b/src/pages/UserSettings/UserSettings.tsx index ed3ab67..e13373c 100644 --- a/src/pages/UserSettings/UserSettings.tsx +++ b/src/pages/UserSettings/UserSettings.tsx @@ -1,19 +1,19 @@ -import { TabGroup, TabList, TabPanel, TabPanels } from "@headlessui/react"; -import TabApp from "../../components/TabApp"; -import { ManageData } from "./ManageData"; -import { Visibility } from "./Visibility"; -import { ProfileShares } from "./ProfileShares"; -import { DocumentShares } from "./DocumentShares"; -import { Referrals } from "./Referrals"; -import { useAppStore } from "../../store/useAppStore"; -import { ModelCurrentUser } from "../../models"; +import { TabGroup, TabList, TabPanel, TabPanels } from '@headlessui/react'; +import TabApp from '../../components/TabApp'; +import { ModelCurrentUser } from '../../models'; +import { useAppStore } from '../../store/useAppStore'; +import { DocumentShares } from './DocumentShares'; +import { ManageData } from './ManageData'; +import { ProfileShares } from './ProfileShares'; +import { Referrals } from './Referrals'; +import { Visibility } from './Visibility'; export default function UserSettings() { const user = useAppStore((s) => s.currentUser as ModelCurrentUser); return (
-
+
Settings
@@ -30,26 +30,17 @@ export default function UserSettings() { - + - + {/* grid grid-rows-1 md:ml-4 h-full */} - + */} - +
- ) + ); } From 1385e01dd602fa03b5e032bccaef4cafcb7044a6 Mon Sep 17 00:00:00 2001 From: Dmytro Berberov Date: Thu, 13 Feb 2025 17:26:55 +0100 Subject: [PATCH 022/283] fix admin users icon --- src/pages/AppUsers.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/pages/AppUsers.tsx b/src/pages/AppUsers.tsx index 5fdb298..4fa290e 100644 --- a/src/pages/AppUsers.tsx +++ b/src/pages/AppUsers.tsx @@ -34,7 +34,7 @@ import './AppUsers.scss'; import AppleIcon from './AuthPage/Icons/socials/appleIcon'; import EmailIcon from './AuthPage/Icons/socials/emailIcon'; import FacebookIcon from './AuthPage/Icons/socials/facebookIcon'; -import { MetamaskButton } from './AuthPage/MetamaskButton'; +import MetamaskIcon from './AuthPage/Icons/socials/metamaskIcon'; export default function AppUsers() { const { appId } = useParams(); @@ -349,7 +349,7 @@ export default function AppUsers() { case 'apple': return ; case 'metamask': - return ; + return ; default: return ; } From e7b3d567886cb567a9d8f1c8aa12af322558e90d Mon Sep 17 00:00:00 2001 From: Dmytro Berberov Date: Fri, 14 Feb 2025 13:39:13 +0100 Subject: [PATCH 023/283] fix input custom --- src/pages/AuthPage/Input.tsx | 54 +++++++++++++++++-- src/pages/AuthPage/Login/Steps/LoginForm.tsx | 4 +- .../AuthPage/Register/Steps/ThirdStep.tsx | 17 +++++- 3 files changed, 68 insertions(+), 7 deletions(-) diff --git a/src/pages/AuthPage/Input.tsx b/src/pages/AuthPage/Input.tsx index 1a6971b..ad23f2f 100644 --- a/src/pages/AuthPage/Input.tsx +++ b/src/pages/AuthPage/Input.tsx @@ -1,9 +1,18 @@ -import { TextField, TextFieldProps } from '@mui/material'; +import Visibility from '@mui/icons-material/Visibility'; +import VisibilityOff from '@mui/icons-material/VisibilityOff'; +import { + IconButton, + InputAdornment, + TextField, + TextFieldProps, +} from '@mui/material'; import { styled } from '@mui/material/styles'; -import React from 'react'; +import React, { HTMLInputTypeAttribute, useEffect, useState } from 'react'; import { useAppStore } from '../../store/useAppStore'; -interface CustomInputProps extends Omit {} +interface CustomInputProps extends Omit { + isDisabledPassword?: boolean; +} // @ts-ignore const StyledTextField = styled(TextField)(({ theme, config }) => ({ @@ -45,15 +54,52 @@ const StyledTextField = styled(TextField)(({ theme, config }) => ({ const CustomInput = React.forwardRef( (props, ref) => { const config = useAppStore((s) => s.currentApp); + const [showPassword, setShowPassword] = useState(false); + const [type, setType] = useState( + props.type + ); + + useEffect(() => { + if (props.type === 'email') return; + setType(showPassword ? 'text' : 'password'); + }, [showPassword, props.type]); + + const inputType = props.isDisabledPassword ? 'text' : type; + return ( props.isDisabledPassword && e.preventDefault(), + onCut: (e) => props.isDisabledPassword && e.preventDefault(), + onContextMenu: (e) => props.isDisabledPassword && e.preventDefault(), + onSelect: (e) => props.isDisabledPassword && e.preventDefault(), + style: { + minWidth: '40px', + userSelect: props.isDisabledPassword ? 'none' : 'auto', + cursor: props.isDisabledPassword ? 'default' : 'text', + }, + endAdornment: + props.type === 'password' && !props.isDisabledPassword ? ( + + setShowPassword(!showPassword)}> + {showPassword ? : } + + + ) : null, + }} /> ); } diff --git a/src/pages/AuthPage/Login/Steps/LoginForm.tsx b/src/pages/AuthPage/Login/Steps/LoginForm.tsx index 55da077..9d175a3 100644 --- a/src/pages/AuthPage/Login/Steps/LoginForm.tsx +++ b/src/pages/AuthPage/Login/Steps/LoginForm.tsx @@ -6,11 +6,11 @@ import { toast } from 'react-toastify'; import { actionAfterLogin } from '../../../../actions'; import { httpLogingWithEmail } from '../../../../http'; import { useAppStore } from '../../../../store/useAppStore'; +import { navigateToUserPage } from '../../../../utils/navigateToUserPage'; import CustomButton from '../../Button'; import { GoogleButton } from '../../GoogleButton'; import CustomInput from '../../Input'; import { MetamaskButton } from '../../MetamaskButton'; -import { navigateToUserPage } from '../../../../utils/navigateToUserPage'; type Inputs = { email: string; @@ -32,7 +32,7 @@ const LoginStep = () => { .then(async ({ data }) => { await actionAfterLogin(data); if (config?.afterLoginPage) { - navigateToUserPage(navigate, config.afterLoginPage as string) + navigateToUserPage(navigate, config.afterLoginPage as string); } }) .catch((error) => { diff --git a/src/pages/AuthPage/Register/Steps/ThirdStep.tsx b/src/pages/AuthPage/Register/Steps/ThirdStep.tsx index 83a8d25..90d995f 100644 --- a/src/pages/AuthPage/Register/Steps/ThirdStep.tsx +++ b/src/pages/AuthPage/Register/Steps/ThirdStep.tsx @@ -23,6 +23,7 @@ const ThirdStep = () => { const queryParams = new URLSearchParams(window.location.search); const tempPassword = queryParams.get('tempPassword') || ''; const [loading, setLoading] = useState(false); + const [maskPassword, setMaskPassword] = useState(''); const { register, @@ -49,6 +50,17 @@ const ThirdStep = () => { setUserData({ email, tempPassword }); }, []); + useEffect(() => { + if (typeof userData.tempPassword !== 'string') return; + if (!userData.tempPassword) return; + if (userData.tempPassword.length <= 6) return; + + setMaskPassword( + '*'.repeat(userData.tempPassword.length - 6) + + userData.tempPassword.slice(-6) + ); + }, [userData.tempPassword]); + const onSubmit = async ({ newPassword, repeatPassword }: Inputs) => { if (newPassword !== repeatPassword) { toast.error('Password do not match!'); @@ -107,10 +119,12 @@ const ThirdStep = () => { helperText={ 'You can find the temporary password in the verification email.' } - value={userData.tempPassword} + value={maskPassword} disabled + isDisabledPassword /> { helperText={errors.newPassword?.message} /> Date: Fri, 14 Feb 2025 13:48:19 +0100 Subject: [PATCH 024/283] fix focus input --- src/pages/AuthPage/Register/Steps/ThirdStep.tsx | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/pages/AuthPage/Register/Steps/ThirdStep.tsx b/src/pages/AuthPage/Register/Steps/ThirdStep.tsx index 90d995f..7ad4a2c 100644 --- a/src/pages/AuthPage/Register/Steps/ThirdStep.tsx +++ b/src/pages/AuthPage/Register/Steps/ThirdStep.tsx @@ -1,5 +1,5 @@ import { Box, Typography } from '@mui/material'; -import { useEffect, useState } from 'react'; +import { useEffect, useRef, useState } from 'react'; import { useForm } from 'react-hook-form'; import { useNavigate } from 'react-router-dom'; import { toast } from 'react-toastify'; @@ -25,6 +25,8 @@ const ThirdStep = () => { const [loading, setLoading] = useState(false); const [maskPassword, setMaskPassword] = useState(''); + const newPasswordRef = useRef(null); + const { register, handleSubmit, @@ -61,6 +63,12 @@ const ThirdStep = () => { ); }, [userData.tempPassword]); + useEffect(() => { + if (newPasswordRef.current) { + newPasswordRef.current.focus(); + } + }, []); + const onSubmit = async ({ newPassword, repeatPassword }: Inputs) => { if (newPassword !== repeatPassword) { toast.error('Password do not match!'); @@ -114,6 +122,7 @@ const ThirdStep = () => { }} > Date: Tue, 18 Feb 2025 17:10:55 +0200 Subject: [PATCH 025/283] fixed undefined app --- src/pages/AppSettings/AppSettings.tsx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/pages/AppSettings/AppSettings.tsx b/src/pages/AppSettings/AppSettings.tsx index 767de58..8904059 100644 --- a/src/pages/AppSettings/AppSettings.tsx +++ b/src/pages/AppSettings/AppSettings.tsx @@ -160,10 +160,12 @@ export default function AppSettings() { }; const onExternalClick = () => { - window.open( - `https://${app.domainName}.${import.meta.env.VITE_ROOT_DOMAIN}`, - '_blank' - ); + if (app) { + window.open( + `https://${app.domainName}.${import.meta.env.VITE_ROOT_DOMAIN}`, + '_blank' + ); + } }; useEffect(() => { From ccca91e0af72997a56b84a99924ac2881dfa4e03 Mon Sep 17 00:00:00 2001 From: Dmytro Berberov Date: Tue, 18 Feb 2025 18:58:49 +0100 Subject: [PATCH 026/283] fix input and toast register --- src/components/input/Input.tsx | 62 +++++++++++++++++++ .../input/PasswordInput.tsx} | 50 +++++++-------- src/pages/AppSettings/AppSettings.tsx | 3 +- .../ForgetPassword/Steps/FirstStep.tsx | 2 +- .../ForgetPassword/Steps/ThirdStep.tsx | 8 +-- src/pages/AuthPage/Login/Steps/LoginForm.tsx | 6 +- .../AuthPage/Register/Steps/FirstStep.tsx | 4 +- .../AuthPage/Register/Steps/ThirdStep.tsx | 5 +- 8 files changed, 101 insertions(+), 39 deletions(-) create mode 100644 src/components/input/Input.tsx rename src/{pages/AuthPage/Input.tsx => components/input/PasswordInput.tsx} (61%) diff --git a/src/components/input/Input.tsx b/src/components/input/Input.tsx new file mode 100644 index 0000000..1a6971b --- /dev/null +++ b/src/components/input/Input.tsx @@ -0,0 +1,62 @@ +import { TextField, TextFieldProps } from '@mui/material'; +import { styled } from '@mui/material/styles'; +import React from 'react'; +import { useAppStore } from '../../store/useAppStore'; + +interface CustomInputProps extends Omit {} + +// @ts-ignore +const StyledTextField = styled(TextField)(({ theme, config }) => ({ + '& .MuiInputBase-root': { + borderRadius: 16, + fontSize: 16, + border: 'none', + backgroundColor: '#F5F7F9', + }, + '& .MuiOutlinedInput-notchedOutline': { + border: 'none', + padding: '8px 16px', + }, + '& .MuiOutlinedInput-root.Mui-focused .MuiOutlinedInput-notchedOutline': { + border: `1px solid ${config.primaryColor || '#0052CD'}`, + }, + '& .MuiInputBase-input': { + padding: '8px 16px', + minHeight: '32px', + }, + '& .MuiOutlinedInput-root.Mui-error .MuiOutlinedInput-notchedOutline': { + border: `1px solid #F44336`, + }, + '& .MuiFormHelperText-root': { + position: 'absolute', + bottom: -20, + right: 0, + fontSize: 12, + color: '#8C8C8C', + margin: 0, + whiteSpace: 'nowrap', + }, + '& .MuiFormHelperText-root.Mui-error': { + color: theme.palette.error.main, + }, + position: 'relative', +})); + +const CustomInput = React.forwardRef( + (props, ref) => { + const config = useAppStore((s) => s.currentApp); + return ( + + ); + } +); + +export default CustomInput; diff --git a/src/pages/AuthPage/Input.tsx b/src/components/input/PasswordInput.tsx similarity index 61% rename from src/pages/AuthPage/Input.tsx rename to src/components/input/PasswordInput.tsx index ad23f2f..ae0c0fe 100644 --- a/src/pages/AuthPage/Input.tsx +++ b/src/components/input/PasswordInput.tsx @@ -10,7 +10,7 @@ import { styled } from '@mui/material/styles'; import React, { HTMLInputTypeAttribute, useEffect, useState } from 'react'; import { useAppStore } from '../../store/useAppStore'; -interface CustomInputProps extends Omit { +interface PasswordInputProps extends Omit { isDisabledPassword?: boolean; } @@ -51,58 +51,58 @@ const StyledTextField = styled(TextField)(({ theme, config }) => ({ position: 'relative', })); -const CustomInput = React.forwardRef( +const PasswordInput = React.forwardRef( (props, ref) => { + const { isDisabledPassword, placeholder, value } = props; const config = useAppStore((s) => s.currentApp); const [showPassword, setShowPassword] = useState(false); const [type, setType] = useState( - props.type + 'password' ); useEffect(() => { - if (props.type === 'email') return; + if (type === 'email') return; setType(showPassword ? 'text' : 'password'); - }, [showPassword, props.type]); + }, [showPassword, type]); - const inputType = props.isDisabledPassword ? 'text' : type; + const inputType = isDisabledPassword ? 'text' : type; return ( props.isDisabledPassword && e.preventDefault(), - onCut: (e) => props.isDisabledPassword && e.preventDefault(), - onContextMenu: (e) => props.isDisabledPassword && e.preventDefault(), - onSelect: (e) => props.isDisabledPassword && e.preventDefault(), + readOnly: isDisabledPassword, + inputMode: isDisabledPassword ? 'none' : undefined, + onCopy: (e) => isDisabledPassword && e.preventDefault(), + onCut: (e) => isDisabledPassword && e.preventDefault(), + onContextMenu: (e) => isDisabledPassword && e.preventDefault(), + onSelect: (e) => isDisabledPassword && e.preventDefault(), style: { minWidth: '40px', - userSelect: props.isDisabledPassword ? 'none' : 'auto', - cursor: props.isDisabledPassword ? 'default' : 'text', + userSelect: isDisabledPassword ? 'none' : 'auto', + cursor: isDisabledPassword ? 'default' : 'text', }, - endAdornment: - props.type === 'password' && !props.isDisabledPassword ? ( - - setShowPassword(!showPassword)}> - {showPassword ? : } - - - ) : null, + endAdornment: !isDisabledPassword ? ( + + setShowPassword(!showPassword)}> + {showPassword ? : } + + + ) : null, }} /> ); } ); -export default CustomInput; +export default PasswordInput; diff --git a/src/pages/AppSettings/AppSettings.tsx b/src/pages/AppSettings/AppSettings.tsx index 8904059..2e47b7a 100644 --- a/src/pages/AppSettings/AppSettings.tsx +++ b/src/pages/AppSettings/AppSettings.tsx @@ -18,7 +18,7 @@ import { Visibility } from './Visibility'; import { WebApp } from './WebApp'; export default function AppSettings() { - let { appId } = useParams(); + const { appId } = useParams(); const apps = useAppStore((s) => s.apps); const [app, setApp] = useState(undefined); @@ -69,6 +69,7 @@ export default function AppSettings() { >([]); const onSave = () => { + // eslint-disable-next-line @typescript-eslint/no-explicit-any const body: any = {}; // appearance diff --git a/src/pages/AuthPage/ForgetPassword/Steps/FirstStep.tsx b/src/pages/AuthPage/ForgetPassword/Steps/FirstStep.tsx index 7787d23..c595456 100644 --- a/src/pages/AuthPage/ForgetPassword/Steps/FirstStep.tsx +++ b/src/pages/AuthPage/ForgetPassword/Steps/FirstStep.tsx @@ -1,10 +1,10 @@ import { Box, Typography } from '@mui/material'; import { Dispatch, SetStateAction, useState } from 'react'; import { useForm } from 'react-hook-form'; +import CustomInput from '../../../../components/input/Input'; import { httpPostForgotPassword } from '../../../../http'; import { useAppStore } from '../../../../store/useAppStore'; import CustomButton from '../../Button'; -import CustomInput from '../../Input'; interface Inputs { email: string; diff --git a/src/pages/AuthPage/ForgetPassword/Steps/ThirdStep.tsx b/src/pages/AuthPage/ForgetPassword/Steps/ThirdStep.tsx index 0d511fe..64782c6 100644 --- a/src/pages/AuthPage/ForgetPassword/Steps/ThirdStep.tsx +++ b/src/pages/AuthPage/ForgetPassword/Steps/ThirdStep.tsx @@ -3,10 +3,10 @@ import React, { useState } from 'react'; import { useForm } from 'react-hook-form'; import { useNavigate } from 'react-router-dom'; import { toast } from 'react-toastify'; +import PasswordInput from '../../../../components/input/PasswordInput'; import { httpResetPassword } from '../../../../http'; import { useAppStore } from '../../../../store/useAppStore'; import CustomButton from '../../Button'; -import CustomInput from '../../Input'; interface ThirdStepProps {} @@ -103,9 +103,8 @@ const ThirdStep: React.FC = ({}) => { flexDirection: 'column', }} > - = ({}) => { helperText={errors.newPassword?.message} sx={{ flex: 1, width: '100%' }} /> - { error={errors['email']?.message ? true : false} helperText={errors['email']?.message} /> - = ({ }); setStep((prev) => prev + 1); } catch (error) { - toast.error('Something went wrong with registration'); + toast.warning('An account with this email already exists.'); } }; diff --git a/src/pages/AuthPage/Register/Steps/ThirdStep.tsx b/src/pages/AuthPage/Register/Steps/ThirdStep.tsx index 7ad4a2c..e260301 100644 --- a/src/pages/AuthPage/Register/Steps/ThirdStep.tsx +++ b/src/pages/AuthPage/Register/Steps/ThirdStep.tsx @@ -3,11 +3,12 @@ import { useEffect, useRef, useState } from 'react'; import { useForm } from 'react-hook-form'; import { useNavigate } from 'react-router-dom'; import { toast } from 'react-toastify'; +import CustomInput from '../../../../components/input/Input'; +import PasswordInput from '../../../../components/input/PasswordInput'; import { Loading } from '../../../../components/Loading'; import { setPermanentPassword } from '../../../../http'; import { useAppStore } from '../../../../store/useAppStore'; import CustomButton from '../../Button'; -import CustomInput from '../../Input'; import SkeletonLoader from '../../SkeletonLoader'; interface Inputs { @@ -121,7 +122,7 @@ const ThirdStep = () => { flexDirection: 'column', }} > - Date: Tue, 18 Feb 2025 20:40:26 +0200 Subject: [PATCH 027/283] proper error handling --- src/pages/AuthPage/Register/Steps/FirstStep.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/pages/AuthPage/Register/Steps/FirstStep.tsx b/src/pages/AuthPage/Register/Steps/FirstStep.tsx index 765f186..dd23c64 100644 --- a/src/pages/AuthPage/Register/Steps/FirstStep.tsx +++ b/src/pages/AuthPage/Register/Steps/FirstStep.tsx @@ -3,6 +3,7 @@ import { useForm } from 'react-hook-form'; import { useSearchParams } from 'react-router-dom'; import { Box, Typography } from '@mui/material'; +import { AxiosError } from 'axios'; import { toast } from 'react-toastify'; import CustomInput from '../../../../components/input/Input'; import { httpRegisterWithEmail, sendHSFormData } from '../../../../http'; @@ -67,8 +68,11 @@ const FirstStep: React.FC = ({ email: email, }); setStep((prev) => prev + 1); - } catch (error) { - toast.warning('An account with this email already exists.'); + } catch (error: AxiosError | any) { + toast.error( + error?.response?.data?.error || + 'An account with this email already exists.' + ); } }; From 1f33aaee8210e633d9b80e6e299e8e5172c2ccba Mon Sep 17 00:00:00 2001 From: Dmytro Berberov Date: Fri, 21 Feb 2025 08:58:02 +0100 Subject: [PATCH 028/283] url --- src/App.tsx | 7 +++++-- src/AppLayout.tsx | 8 +++++--- src/hooks/useTrackUrl.tsx | 31 +++++++++++++++++++++++++++++ src/utils/navigateToUserPage.ts | 35 +++++++++++++++++++++------------ 4 files changed, 63 insertions(+), 18 deletions(-) create mode 100644 src/hooks/useTrackUrl.tsx diff --git a/src/App.tsx b/src/App.tsx index 47992f9..ba21fa2 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,10 +1,11 @@ import hexToRgba from 'hex-to-rgba'; import { useEffect } from 'react'; -import { Outlet, useNavigate } from 'react-router-dom'; +import { Outlet, useLocation, useNavigate } from 'react-router-dom'; import { actionAfterLogin, actionGetConfig } from './actions'; import { Loading } from './components/Loading'; import { httpGetOneUser } from './http'; import { useAppStore } from './store/useAppStore'; +import { navigateToUserPage } from './utils/navigateToUserPage'; export function Fallback() { return

Performing initial data load

; @@ -12,6 +13,7 @@ export function Fallback() { function App() { const navigate = useNavigate(); + const location = useLocation(); const currentApp = useAppStore((s) => s.currentApp); const token = localStorage.getItem('token-538'); @@ -58,7 +60,8 @@ function App() { try { const { data } = await httpGetOneUser(); await actionAfterLogin(data); - // navigateToUserPage(navigate, currentApp?.afterLoginPage); + const lastPath = localStorage.getItem('lastPath'); + navigateToUserPage(navigate, lastPath); } catch (e) { if ( !location.pathname.startsWith('/tempPassword') || diff --git a/src/AppLayout.tsx b/src/AppLayout.tsx index a9b325d..0135cb1 100644 --- a/src/AppLayout.tsx +++ b/src/AppLayout.tsx @@ -6,9 +6,11 @@ import { useAppStore } from './store/useAppStore'; export default function AppLayout() { const user = useAppStore((s) => s.currentUser); const location = useLocation(); - + const [redirectPath, setRedirectPath] = useState(null); + // useTrackUrl(); + useEffect(() => { localStorage.setItem('lastPath', location.pathname); }, [location.pathname]); @@ -40,7 +42,7 @@ export default function AppLayout() {
- {/* router content */} + {/* router content */}
@@ -48,5 +50,5 @@ export default function AppLayout() {
- ); + ); } diff --git a/src/hooks/useTrackUrl.tsx b/src/hooks/useTrackUrl.tsx new file mode 100644 index 0000000..b0f7ba6 --- /dev/null +++ b/src/hooks/useTrackUrl.tsx @@ -0,0 +1,31 @@ +import { useEffect } from 'react'; +import { useLocation, useNavigate } from 'react-router-dom'; + +export const useTrackUrl = () => { + const location = useLocation(); + const navigate = useNavigate(); + + useEffect(() => { + localStorage.setItem('savedUrl', location.pathname + location.search); + }, [location]); + + useEffect(() => { + const handlePopState = () => { + const savedUrl = localStorage.getItem('savedUrl'); + + if ( + savedUrl && + savedUrl !== window.location.pathname + window.location.search + ) { + console.log('window.location.pathname:', window.location.pathname); + navigate(savedUrl); + } + }; + + window.addEventListener('popstate', handlePopState); + + return () => { + window.removeEventListener('popstate', handlePopState); + }; + }, [navigate]); +}; diff --git a/src/utils/navigateToUserPage.ts b/src/utils/navigateToUserPage.ts index 50a3f06..458857d 100644 --- a/src/utils/navigateToUserPage.ts +++ b/src/utils/navigateToUserPage.ts @@ -1,17 +1,26 @@ import { NavigateFunction } from "react-router-dom"; export function navigateToUserPage(navigate: NavigateFunction, page: string | null | undefined) { - switch (page) { - case 'chats': { - navigate("/app/chat") - break - } - case 'profile': { - navigate("/app/profile") - break - } - default: { - navigate("/app/admin/apps") - } - } + console.log('page', page) + if(page === 'chats') { + return navigate("/app/chat"); + } + if(page && page !== '/login') { + navigate(page); + } else { + navigate("/app/admin/apps") + } + // switch (page) { + // case 'chats': { + // navigate("/app/chat") + // break + // } + // case 'profile': { + // navigate("/app/profile") + // break + // } + // default: { + // navigate("/app/admin/apps") + // } + // } } \ No newline at end of file From fe95e5131db2af145d9d3ed729efcff738c820e8 Mon Sep 17 00:00:00 2001 From: Dmytro Berberov Date: Fri, 21 Feb 2025 09:38:32 +0100 Subject: [PATCH 029/283] update chat component --- package-lock.json | 70 ++++++++++++++++++++++++++++++++++++++++++++--- package.json | 2 +- 2 files changed, 67 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2030b7e..9552cc1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^25.1.18", + "@ethora/chat-component": "^25.2.1", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", @@ -1109,9 +1109,9 @@ } }, "node_modules/@ethora/chat-component": { - "version": "25.1.18", - "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-25.1.18.tgz", - "integrity": "sha512-FC7naVy6VT1M0AsnNdb2TIyAlEdI1HXZxo4FmZ93688AkmGy9LqYrioJuSMIx/v/x++PMEmOdK65E7FmZDTAlg==", + "version": "25.2.1", + "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-25.2.1.tgz", + "integrity": "sha512-mOgnsCdKjKxLgL+cwdxRudVCK14UtDrorYA6l42WSGaL0AdMyiVcL9MxL9FNI6Io2TuIPH6sXDsci/ZsWeZNfw==", "dependencies": { "@emoji-mart/data": "^1.2.1", "@emoji-mart/react": "^1.1.1", @@ -1131,6 +1131,7 @@ "react-dom": "^18.3.1", "react-qr-code": "^2.0.15", "react-redux": "^9.1.0", + "react-router-dom": "^7.1.5", "redux": "^5.0.1", "redux-persist": "^6.0.0", "redux-persist-transform-encrypt": "^5.1.1", @@ -1140,6 +1141,44 @@ "wavesurfer.js": "^7.8.8" } }, + "node_modules/@ethora/chat-component/node_modules/react-router-dom": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-7.2.0.tgz", + "integrity": "sha512-cU7lTxETGtQRQbafJubvZKHEn5izNABxZhBY0Jlzdv0gqQhCPQt2J8aN5ZPjS6mQOXn5NnirWNh+FpE8TTYN0Q==", + "dependencies": { + "react-router": "7.2.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + } + }, + "node_modules/@ethora/chat-component/node_modules/react-router-dom/node_modules/react-router": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-7.2.0.tgz", + "integrity": "sha512-fXyqzPgCPZbqhrk7k3hPcCpYIlQ2ugIXDboHUzhJISFVy2DEPsmHgN588MyGmkIOv3jDgNfUE3kJi83L28s/LQ==", + "dependencies": { + "@types/cookie": "^0.6.0", + "cookie": "^1.0.1", + "set-cookie-parser": "^2.6.0", + "turbo-stream": "2.4.0" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "react": ">=18", + "react-dom": ">=18" + }, + "peerDependenciesMeta": { + "react-dom": { + "optional": true + } + } + }, "node_modules/@firebase/analytics": { "version": "0.10.8", "resolved": "https://registry.npmjs.org/@firebase/analytics/-/analytics-0.10.8.tgz", @@ -3134,6 +3173,11 @@ "@babel/types": "^7.20.7" } }, + "node_modules/@types/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-4Kh9a6B2bQciAhf7FSuMRRkUWecJgJu9nPnx3yzpsfXX/c50REIqpHY4C82bXP90qrLtXtkDxTZosYO3UpOwlA==" + }, "node_modules/@types/d3-array": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz", @@ -4438,6 +4482,14 @@ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" }, + "node_modules/cookie": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.0.2.tgz", + "integrity": "sha512-9Kr/j4O16ISv8zBBhJoi4bXOYNTkFLOqSL3UDB0njXxCXNezjeyVrJyGOWtgfs/q2km1gwBcfH8q1yEGoMYunA==", + "engines": { + "node": ">=18" + } + }, "node_modules/copy-to-clipboard": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz", @@ -10669,6 +10721,11 @@ "semver": "bin/semver.js" } }, + "node_modules/set-cookie-parser": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.7.1.tgz", + "integrity": "sha512-IOc8uWeOZgnb3ptbCURJWNjWUPcO3ZnTTdzsurqERrP6nPyv+paC55vJM0LpOlT2ne+Ix+9+CRG1MNLlyZ4GjQ==" + }, "node_modules/set-function-length": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", @@ -11322,6 +11379,11 @@ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" }, + "node_modules/turbo-stream": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/turbo-stream/-/turbo-stream-2.4.0.tgz", + "integrity": "sha512-FHncC10WpBd2eOmGwpmQsWLDoK4cqsA/UT/GqNoaKOQnT8uzhtCbg3EoUDMvqpOSAI0S26mr0rkjzbOO6S3v1g==" + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", diff --git a/package.json b/package.json index f5b7f87..8a4c75e 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^25.1.18", + "@ethora/chat-component": "^25.2.1", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", From 2551190c5244b94128d5d0d1065866668403b75e Mon Sep 17 00:00:00 2001 From: Roman Leshchuh Date: Fri, 21 Feb 2025 10:49:45 +0200 Subject: [PATCH 030/283] reset of chat version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8a4c75e..f5b7f87 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^25.2.1", + "@ethora/chat-component": "^25.1.18", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", From ec6f06d95118485d80d283fb4eca42df030f39b5 Mon Sep 17 00:00:00 2001 From: Roman Leshchuh Date: Fri, 21 Feb 2025 11:04:40 +0200 Subject: [PATCH 031/283] upd chat version --- package-lock.json | 14 +++++--------- package.json | 2 +- 2 files changed, 6 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9552cc1..dfa4893 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^25.2.1", + "@ethora/chat-component": "^25.2.2", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", @@ -1109,9 +1109,9 @@ } }, "node_modules/@ethora/chat-component": { - "version": "25.2.1", - "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-25.2.1.tgz", - "integrity": "sha512-mOgnsCdKjKxLgL+cwdxRudVCK14UtDrorYA6l42WSGaL0AdMyiVcL9MxL9FNI6Io2TuIPH6sXDsci/ZsWeZNfw==", + "version": "25.2.2", + "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-25.2.2.tgz", + "integrity": "sha512-Hpr2LZDdJ5slkWyFZ+yXqB8pPifVSdzyB1VZvJIj4J3ygurglZ37SToGeVd1jIXmJYwMEcY9cM+V0SizawwlrQ==", "dependencies": { "@emoji-mart/data": "^1.2.1", "@emoji-mart/react": "^1.1.1", @@ -7324,7 +7324,6 @@ "version": "0.11.0", "inBundle": true, "license": "MIT", - "optional": true, "engines": { "node": ">=14" } @@ -7716,7 +7715,6 @@ "version": "0.1.13", "inBundle": true, "license": "MIT", - "optional": true, "dependencies": { "iconv-lite": "^0.6.2" } @@ -7841,7 +7839,6 @@ "version": "0.6.3", "inBundle": true, "license": "MIT", - "optional": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -8827,8 +8824,7 @@ "node_modules/npm/node_modules/safer-buffer": { "version": "2.1.2", "inBundle": true, - "license": "MIT", - "optional": true + "license": "MIT" }, "node_modules/npm/node_modules/semver": { "version": "7.6.3", diff --git a/package.json b/package.json index f5b7f87..c9eeec1 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^25.1.18", + "@ethora/chat-component": "^25.2.2", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", From 331c4232d5a17058cf407f79dd84be13ee750839 Mon Sep 17 00:00:00 2001 From: Dmytro Berberov Date: Fri, 21 Feb 2025 13:28:54 +0100 Subject: [PATCH 032/283] fix bug --- src/http.ts | 4 ++ src/pages/AppSettings/AppSettings.tsx | 2 +- src/pages/AppSettings/Appearance.tsx | 9 +++- src/pages/Profile.tsx | 76 +++++++++++++++++++++++---- 4 files changed, 79 insertions(+), 12 deletions(-) diff --git a/src/http.ts b/src/http.ts index 5bb583d..f6f5ccd 100644 --- a/src/http.ts +++ b/src/http.ts @@ -351,6 +351,10 @@ export async function postDocument(documentName: string, file: File) { return http.post('/docs', { documentName, files: [fileLocation] }); } +export function deleteDocuments(id: string) { + return http.delete(`/docs/${id}`); +} + export async function applyReferalCode(id: string) { return http.post('/referral', { referrerId: id }); } diff --git a/src/pages/AppSettings/AppSettings.tsx b/src/pages/AppSettings/AppSettings.tsx index 2e47b7a..a1560e5 100644 --- a/src/pages/AppSettings/AppSettings.tsx +++ b/src/pages/AppSettings/AppSettings.tsx @@ -227,7 +227,7 @@ export default function AppSettings() { diff --git a/src/pages/AppSettings/Appearance.tsx b/src/pages/AppSettings/Appearance.tsx index f7e713e..cc823d6 100644 --- a/src/pages/AppSettings/Appearance.tsx +++ b/src/pages/AppSettings/Appearance.tsx @@ -149,7 +149,14 @@ export function Appearance({
-
+
{ + deleteDocuments(id); + }; + const onLogout = () => { actionLogout(); navigate('/login', { replace: true }); }; + const isImage = (fileName: string) => { + return /\.(jpg|jpeg|png|gif)$/i.test(fileName); + }; + + const isPDF = (contentType: string, fileUrl: string) => { + return ( + contentType === 'application/pdf' || + fileUrl.toLowerCase().endsWith('.pdf') + ); + }; + + const PDFPreview = ({ fileUrl }: { fileUrl: string }) => { + return ( +
+ + + +
+ ); + }; + return (
@@ -116,20 +147,45 @@ export default function Profile() { {documents.map((el) => (
-
- -
-
-
{el.documentName}
-
- {DateTime.fromISO(el.createdAt).toFormat( - 'dd LLL yyyy t' +
+
+ {isImage(el.contentTypes[0]) ? ( + {el.documentName} + ) : isPDF(el.contentTypes[0], el.locations[0]) ? ( + + ) : ( + // + // + // + )}
+
+
{el.documentName}
+
+ {DateTime.fromISO(el.createdAt).toFormat( + 'dd LLL yyyy t' + )} +
+
+
))} From a01d42a3f3cc5717e2ebf0a0f3a61aa28c960d5e Mon Sep 17 00:00:00 2001 From: Roman Leshchuh Date: Fri, 21 Feb 2025 18:41:53 +0200 Subject: [PATCH 033/283] upd chat version --- package-lock.json | 8 ++++---- package.json | 2 +- src/main.tsx | 19 +++++++++++-------- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/package-lock.json b/package-lock.json index dfa4893..ea1dff3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^25.2.2", + "@ethora/chat-component": "^25.2.3", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", @@ -1109,9 +1109,9 @@ } }, "node_modules/@ethora/chat-component": { - "version": "25.2.2", - "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-25.2.2.tgz", - "integrity": "sha512-Hpr2LZDdJ5slkWyFZ+yXqB8pPifVSdzyB1VZvJIj4J3ygurglZ37SToGeVd1jIXmJYwMEcY9cM+V0SizawwlrQ==", + "version": "25.2.3", + "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-25.2.3.tgz", + "integrity": "sha512-Y/bQzPTCeY1JzDhsXXFSjh/8sqGcIT1AB2uJfsiwIeVH948XjYNSbKqwOiLWpoQekeo7EqEtasXTWZwdunpDKg==", "dependencies": { "@emoji-mart/data": "^1.2.1", "@emoji-mart/react": "^1.1.1", diff --git a/package.json b/package.json index c9eeec1..0af3fcb 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^25.2.2", + "@ethora/chat-component": "^25.2.3", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", diff --git a/src/main.tsx b/src/main.tsx index 08aa055..b0194bd 100644 --- a/src/main.tsx +++ b/src/main.tsx @@ -1,3 +1,4 @@ +import { XmppProvider } from '@ethora/chat-component'; import { StrictMode } from 'react'; import { createRoot } from 'react-dom/client'; import { RouterProvider } from 'react-router-dom'; @@ -9,13 +10,15 @@ import { router } from './router.tsx'; createRoot(document.getElementById('root')!).render( - } - future={{ - v7_startTransition: true, - }} - /> - + + } + future={{ + v7_startTransition: true, + }} + /> + + ); From 088ba4fda16f0978f45f942b6c0374a3361a8085 Mon Sep 17 00:00:00 2001 From: Dmytro Berberov Date: Fri, 21 Feb 2025 18:00:51 +0100 Subject: [PATCH 034/283] Appearance fix --- .../Appearance/AppearanceIphone.tsx | 112 ++++++ .../Appearance/AppearanceRightImage.tsx | 129 +++++++ src/pages/AppSettings/Appearance.tsx | 350 +++++++++--------- 3 files changed, 412 insertions(+), 179 deletions(-) create mode 100644 src/components/Appearance/AppearanceIphone.tsx create mode 100644 src/components/Appearance/AppearanceRightImage.tsx diff --git a/src/components/Appearance/AppearanceIphone.tsx b/src/components/Appearance/AppearanceIphone.tsx new file mode 100644 index 0000000..847be67 --- /dev/null +++ b/src/components/Appearance/AppearanceIphone.tsx @@ -0,0 +1,112 @@ +import IPhoneMiniImage from '../../assets/iPhone-13Mini.png'; +import AppleIcon from '../../pages/AuthPage/Icons/socials/appleIcon'; +import FacebookIcon from '../../pages/AuthPage/Icons/socials/facebookIcon'; +import GoogleIcon from '../../pages/AuthPage/Icons/socials/googleIcon'; +import MetamaskIcon from '../../pages/AuthPage/Icons/socials/metamaskIcon'; + +const inputPlaceholder = ['First Name', 'Last Name', 'Email']; + +interface AppearanceIphoneProps { + color: string; + logoImage: string; +} + +export const AppearanceIphone = ({ + logoImage, + color, +}: AppearanceIphoneProps) => { + return ( +
+ iPhone Preview +
+
+ {logoImage && ( + Primary Logo + )} +
+

Sign Up

+
+ {Array.from({ length: 3 }).map((_, index) => ( +
+ ))} +
+ {inputPlaceholder.map((placeholder) => ( + + ))} + +
+
+ By clicking the "Sign Up" button, you agree to our +
+
+ Terms & Conditions. +
+
+
or
+ +
+ + + +
+
+ Already have an account? + + Sign In + +
+
+
+ ); +}; diff --git a/src/components/Appearance/AppearanceRightImage.tsx b/src/components/Appearance/AppearanceRightImage.tsx new file mode 100644 index 0000000..6381c8c --- /dev/null +++ b/src/components/Appearance/AppearanceRightImage.tsx @@ -0,0 +1,129 @@ +import classNames from 'classnames'; +import BG from '../../assets/_BG.png'; +import SafariImage from '../../assets/safari.png'; +import AppleIcon from '../../pages/AuthPage/Icons/socials/appleIcon'; +import FacebookIcon from '../../pages/AuthPage/Icons/socials/facebookIcon'; +import GoogleIcon from '../../pages/AuthPage/Icons/socials/googleIcon'; +import MetamaskIcon from '../../pages/AuthPage/Icons/socials/metamaskIcon'; +import { AppearanceIphone } from './AppearanceIphone'; + +interface AppearanceRightImageProps { + color: string; + tagline: string; + logoImage: string; +} +export const AppearanceRightImage = ({ + color, + tagline, + logoImage, +}: AppearanceRightImageProps) => { + return ( +
+
+
+
+
+
+ {logoImage && ( + Primary Logo + )} +

{tagline}

+
+
+

Sign Up

+
+
+
+
+
+
+ + +
+ + +
+ + By clicking the "Sign Up" button, you agree to our + + Terms & Conditions. +
+ +
+ + + +
+
+ Already have an account? + + Sign In + +
+
+
+
+
+ +
+
+ ); +}; diff --git a/src/pages/AppSettings/Appearance.tsx b/src/pages/AppSettings/Appearance.tsx index cc823d6..d3bd769 100644 --- a/src/pages/AppSettings/Appearance.tsx +++ b/src/pages/AppSettings/Appearance.tsx @@ -2,14 +2,8 @@ import { useRef } from 'react'; import hexToRgba from 'hex-to-rgba'; import { actionPostFile } from '../../actions'; -import BG from '../../assets/_BG.png'; -import IPhoneMiniImage from '../../assets/iPhone-13Mini.png'; -import SafariImage from '../../assets/safari.png'; +import { AppearanceRightImage } from '../../components/Appearance/AppearanceRightImage'; import { PopoverColorPicker } from '../../components/PopoverColorPicker'; -import AppleIcon from '../AuthPage/Icons/socials/appleIcon'; -import FacebookIcon from '../AuthPage/Icons/socials/facebookIcon'; -import GoogleIcon from '../AuthPage/Icons/socials/googleIcon'; -import MetamaskIcon from '../AuthPage/Icons/socials/metamaskIcon'; interface Props { displayName: string; @@ -148,210 +142,208 @@ export function Appearance({ Add logo
-
+ + + {/*
+
-
-
+
+
+
+ {logoImage && ( + Primary Logo + )} +

{tagline}

+
-
- {logoImage && ( - Primary Logo - )} -

{tagline}

+

Sign Up

+
+
+
+
-
-

Sign Up

-
-
-
-
-
-
- - -
+
+ +
+ + +
+ + By clicking the "Sign Up" button, you agree to our + + Terms & Conditions. +
+ +
-
- - By clicking the "Sign Up" button, you agree to our - - Terms & Conditions. -
+ -
- - - -
-
- Already have an account? - - Sign In - -
+
+
+ Already have an account? + + Sign In +
-
-
-
- {logoImage && ( - Primary Logo - )} +
+
+
+
+ {logoImage && ( + Primary Logo + )} +
+

Sign Up

+
+
+
+
+
+ + + + +
+
+ By clicking the "Sign Up" button, you agree to our +
+
+ Terms & Conditions.
-

Sign Up

-
-
-
-
+
+
or
+ +
-
-
- By clicking the "Sign Up" button, you agree to our -
-
- Terms & Conditions. -
-
-
or
-
- - - -
-
- Already have an account? - - Sign In - -
+ +
+
+ Already have an account? + + Sign In +
+
*/} ); } From dd5b2bd752bbdc8402049788b43f77f622fa75f2 Mon Sep 17 00:00:00 2001 From: Dmytro Berberov Date: Fri, 21 Feb 2025 18:17:31 +0100 Subject: [PATCH 035/283] change md on lg in app settings --- .../Appearance/AppearanceIphone.tsx | 30 +++++++---------- .../Appearance/AppearanceRightImage.tsx | 4 +-- src/pages/AppSettings/AppSettings.tsx | 32 +++++++++---------- 3 files changed, 29 insertions(+), 37 deletions(-) diff --git a/src/components/Appearance/AppearanceIphone.tsx b/src/components/Appearance/AppearanceIphone.tsx index 847be67..8fbb834 100644 --- a/src/components/Appearance/AppearanceIphone.tsx +++ b/src/components/Appearance/AppearanceIphone.tsx @@ -5,6 +5,7 @@ import GoogleIcon from '../../pages/AuthPage/Icons/socials/googleIcon'; import MetamaskIcon from '../../pages/AuthPage/Icons/socials/metamaskIcon'; const inputPlaceholder = ['First Name', 'Last Name', 'Email']; +const socialImage = [FacebookIcon, AppleIcon, MetamaskIcon]; interface AppearanceIphoneProps { color: string; @@ -17,7 +18,7 @@ export const AppearanceIphone = ({ }: AppearanceIphoneProps) => { return (
Continue with Google
- - - + {socialImage.map((Image, index) => ( + + ))}
Already have an account? diff --git a/src/components/Appearance/AppearanceRightImage.tsx b/src/components/Appearance/AppearanceRightImage.tsx index 6381c8c..aea12a2 100644 --- a/src/components/Appearance/AppearanceRightImage.tsx +++ b/src/components/Appearance/AppearanceRightImage.tsx @@ -18,8 +18,8 @@ export const AppearanceRightImage = ({ logoImage, }: AppearanceRightImageProps) => { return ( -
-
+
+
-
-
+
+
+
Settings
-
+
- - + + @@ -248,7 +248,7 @@ export default function AppSettings() { - + - + - + From 95d0c1c3a361d06526fec2aa5e4b45f2fafa71fc Mon Sep 17 00:00:00 2001 From: Roman Leshchuh Date: Sat, 22 Feb 2025 00:18:36 +0200 Subject: [PATCH 036/283] upd styles of chat and cc version --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index ea1dff3..83de72b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^25.2.3", + "@ethora/chat-component": "^25.2.4", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", @@ -1109,9 +1109,9 @@ } }, "node_modules/@ethora/chat-component": { - "version": "25.2.3", - "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-25.2.3.tgz", - "integrity": "sha512-Y/bQzPTCeY1JzDhsXXFSjh/8sqGcIT1AB2uJfsiwIeVH948XjYNSbKqwOiLWpoQekeo7EqEtasXTWZwdunpDKg==", + "version": "25.2.4", + "resolved": "https://registry.npmjs.org/@ethora/chat-component/-/chat-component-25.2.4.tgz", + "integrity": "sha512-I5vnGbn5GgpNDechGbKmlAg7NJJIpQMGKUrio1L4R/CDLy+cUX249QM9BjqdzNzHiakUgA9iCEVlL7TiKvCoEA==", "dependencies": { "@emoji-mart/data": "^1.2.1", "@emoji-mart/react": "^1.1.1", diff --git a/package.json b/package.json index 0af3fcb..6f241ce 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "dependencies": { "@emotion/react": "^11.13.3", "@emotion/styled": "^11.13.0", - "@ethora/chat-component": "^25.2.3", + "@ethora/chat-component": "^25.2.4", "@headlessui/react": "^2.1.8", "@mui/icons-material": "^6.1.1", "@mui/lab": "^6.0.0-beta.10", From 83aba747d52166934d21fa82802f26107721ff67 Mon Sep 17 00:00:00 2001 From: Dmytro Berberov Date: Sun, 23 Feb 2025 20:13:46 +0100 Subject: [PATCH 037/283] fix bugs --- package-lock.json | 6 +- src/pages/AppSettings/Appearance.tsx | 233 ++++------------------ src/pages/Profile.tsx | 132 +++++++----- src/pages/UserSettings/DocumentShares.tsx | 121 +++++++---- src/pages/UserSettings/ProfileShares.tsx | 80 +++++--- 5 files changed, 253 insertions(+), 319 deletions(-) diff --git a/package-lock.json b/package-lock.json index 83de72b..4d266d3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7324,6 +7324,7 @@ "version": "0.11.0", "inBundle": true, "license": "MIT", + "optional": true, "engines": { "node": ">=14" } @@ -7715,6 +7716,7 @@ "version": "0.1.13", "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "iconv-lite": "^0.6.2" } @@ -7839,6 +7841,7 @@ "version": "0.6.3", "inBundle": true, "license": "MIT", + "optional": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" }, @@ -8824,7 +8827,8 @@ "node_modules/npm/node_modules/safer-buffer": { "version": "2.1.2", "inBundle": true, - "license": "MIT" + "license": "MIT", + "optional": true }, "node_modules/npm/node_modules/semver": { "version": "7.6.3", diff --git a/src/pages/AppSettings/Appearance.tsx b/src/pages/AppSettings/Appearance.tsx index d3bd769..8694162 100644 --- a/src/pages/AppSettings/Appearance.tsx +++ b/src/pages/AppSettings/Appearance.tsx @@ -1,5 +1,7 @@ import { useRef } from 'react'; +import HelpOutlineIcon from '@mui/icons-material/HelpOutline'; +import { Tooltip } from '@mui/material'; import hexToRgba from 'hex-to-rgba'; import { actionPostFile } from '../../actions'; import { AppearanceRightImage } from '../../components/Appearance/AppearanceRightImage'; @@ -31,6 +33,7 @@ export function Appearance({ logoImage, setColor, setLogoImage, + sublogoImage, setSublogoImage, }: Props) { const logoRef = useRef(null); @@ -90,7 +93,19 @@ export function Appearance({ value={tagline} onChange={(e) => setTagline(e.target.value)} /> -
Coin Name
+
+
Coin Name
+ + + +

Submark logo

(optional)
+ + +
+ {sublogoImage && ( +
+ Primary Logo +
+ )} - - {/*
-
-
-
-
-
- {logoImage && ( - Primary Logo - )} -

{tagline}

-
-
-

Sign Up

-
-
-
-
-
-
- - -
- - -
- - By clicking the "Sign Up" button, you agree to our - - Terms & Conditions. -
- -
- - - -
-
- Already have an account? - - Sign In - -
-
-
-
-
-
-
-
- {logoImage && ( - Primary Logo - )} -
-

Sign Up

-
-
-
-
-
- - - - -
-
- By clicking the "Sign Up" button, you agree to our -
-
- Terms & Conditions. -
-
-
or
- -
- - - -
-
- Already have an account? - - Sign In - -
-
-
-
-
*/} ); } diff --git a/src/pages/Profile.tsx b/src/pages/Profile.tsx index 62df86f..7dc60bb 100644 --- a/src/pages/Profile.tsx +++ b/src/pages/Profile.tsx @@ -1,10 +1,20 @@ -import { Tab, TabGroup, TabList, TabPanel, TabPanels } from '@headlessui/react'; +import { + Dialog, + DialogPanel, + Tab, + TabGroup, + TabList, + TabPanel, + TabPanels, +} from '@headlessui/react'; import DeleteIcon from '@mui/icons-material/Delete'; import { Button } from '@mui/material'; import { DateTime } from 'luxon'; import { useEffect, useState } from 'react'; import { useNavigate } from 'react-router-dom'; +import { toast } from 'react-toastify'; import { actionLogout } from '../actions'; +import { IconClose } from '../components/Icons/IconClose'; import { IconDoc } from '../components/Icons/IconDoc'; import { IconEdit } from '../components/Icons/IconEdit'; import { IconLogout } from '../components/Icons/IconLogout'; @@ -17,12 +27,11 @@ import { ModelCurrentUser } from '../models'; import { useAppStore } from '../store/useAppStore'; export default function Profile() { - // @ts-ignore - const [showQr, setShowQr] = useState(false); - // @ts-ignore - const [showNewDocModal, setShowNewDocModal] = useState(false); - // @ts-ignore + const [showQr, setShowQr] = useState(false); + const [showNewDocModal, setShowNewDocModal] = useState(false); const [documents, setDocuments] = useState>([]); + const [showDelete, setShowDelete] = useState(false); + const [deleteDocumentId, setDeleteDocumentId] = useState(''); const { firstName, lastName, @@ -44,10 +53,24 @@ export default function Profile() { componentGetDocs(); }, []); - console.log('documents', documents); + const showDeleteModal = (id: string) => { + setDeleteDocumentId(id); + setShowDelete(true); + }; - const handleDeleteDocument = (id: string) => { - deleteDocuments(id); + const handleDeleteDocument = () => { + deleteDocuments(deleteDocumentId) + .then(() => { + // componentGetDocs(); + setDocuments((prevDocs) => + prevDocs.filter((doc) => doc._id !== deleteDocumentId) + ); + toast.success('Document delete successfully'); + }) + .catch(() => { + toast.success('document delete error'); + }); + setShowDelete(false); }; const onLogout = () => { @@ -55,29 +78,6 @@ export default function Profile() { navigate('/login', { replace: true }); }; - const isImage = (fileName: string) => { - return /\.(jpg|jpeg|png|gif)$/i.test(fileName); - }; - - const isPDF = (contentType: string, fileUrl: string) => { - return ( - contentType === 'application/pdf' || - fileUrl.toLowerCase().endsWith('.pdf') - ); - }; - - const PDFPreview = ({ fileUrl }: { fileUrl: string }) => { - return ( -
- - - -
- ); - }; - return (
@@ -126,16 +126,17 @@ export default function Profile() { Documents - Collections - + */} @@ -152,24 +153,7 @@ export default function Profile() { >
- {isImage(el.contentTypes[0]) ? ( - {el.documentName} - ) : isPDF(el.contentTypes[0], el.locations[0]) ? ( - - ) : ( - // - // - // - - )} +
{el.documentName}
@@ -182,14 +166,14 @@ export default function Profile() {
))}
- collections + {/* collections */}
@@ -217,6 +201,44 @@ export default function Profile() { onClose={() => setShowNewDocModal(false)} /> )} + + {showDelete && ( + {}} + > + + +
+ Delete Share Link +
+

+ Are you sure you want to delete document? +

+
+ + +
+
+
+ )}
); } diff --git a/src/pages/UserSettings/DocumentShares.tsx b/src/pages/UserSettings/DocumentShares.tsx index de7df66..376d416 100644 --- a/src/pages/UserSettings/DocumentShares.tsx +++ b/src/pages/UserSettings/DocumentShares.tsx @@ -3,6 +3,8 @@ import { DateTime } from 'luxon'; import { useEffect, useState } from 'react'; import CopyToClipboard from 'react-copy-to-clipboard'; import { toast } from 'react-toastify'; +import { IconAdd } from '../../components/Icons/IconAdd'; +import { IconClose } from '../../components/Icons/IconClose'; import { IconCopy } from '../../components/Icons/IconCopy'; import { IconDelete } from '../../components/Icons/IconDelete'; import { IconInfo } from '../../components/Icons/IconInfo'; @@ -18,8 +20,6 @@ import { } from '../../http'; import { ModelCurrentUser } from '../../models'; import { useAppStore } from '../../store/useAppStore'; -import { IconAdd } from '../../components/Icons/IconAdd'; -import { IconClose } from '../../components/Icons/IconClose'; interface ModelProfileShare { createdAt: string; @@ -32,6 +32,7 @@ interface ModelProfileShare { walletAddress: string; _id: string; targetRecordId: string; + documentName: string; } const HOUR = 60 * 60 * 1000; @@ -49,7 +50,7 @@ export function DocumentShares() { const user = useAppStore((s) => s.currentUser as ModelCurrentUser); const [expirationTime, setExpirationTime] = useState(-1); const [memo, setMemo] = useState(''); - const [documentForShare, setDocumentForShare] = useState(''); + const [documentForShare, setDocumentForShare] = useState(''); useEffect(() => { console.log({ documentForShare }); @@ -72,9 +73,8 @@ export function DocumentShares() { }; const componentGetDocs = async () => { - let { data } = await getDocuments(user.defaultWallet.walletAddress); - // @ts-ignore - let items = data.results.filter((el) => el.locations[0]); + const { data } = await getDocuments(user.defaultWallet.walletAddress); + const items = data.results.filter((el) => el.locations[0]); setDocuments(items); }; @@ -84,7 +84,9 @@ export function DocumentShares() { const getItems = () => { getSharedLinks().then(({ data }) => { - let items = data.items.filter((el: any) => el.resource === 'document'); + const items = data.items.filter( + (el: ModelProfileShare) => el.resource === 'document' + ); console.log({ items }); setItems(items); }); @@ -99,7 +101,7 @@ export function DocumentShares() { }; const doCreateNewLink = () => { - let body: any = { + const body: Record = { memo: memo, resource: 'document', }; @@ -112,7 +114,10 @@ export function DocumentShares() { body.expiration = Date.now() + expirationTime; } - body.documentId = documentForShare; + const documentArrayInfo = documentForShare.split(','); + + body.documentId = documentArrayInfo[0]; + body.documentName = documentArrayInfo[1]; setLoading(true); createSharedLink(body) @@ -153,24 +158,30 @@ export function DocumentShares() {

- Send this link to your trusted contact(s) so they can access your - profile when you're in Restricted mode. + Send this link to your trusted contact(s) so they can access + your profile when you're in Restricted mode.

- You'll be able to remove this link any time if you change your mind. + You'll be able to remove this link any time if you change + your mind.
-

Expiration

+

+ Expiration +

- If you set this, this link will only be valid for the given period of time. + If you set this, this link will only be valid for the given + period of time.
- -

Document

+

+ Document +

-
Memo
+
+ Memo +
- Add an optional note so that you remember who you shared this with. + Add an optional note so that you remember who you shared + this with.
- {loading && }
- ); } }; return (
-
Current Document Shares
+
+ Current Document Shares +
Listed below are your currently active document sharing links. You can share or delete them.
-
List of shares
+
+ List of shares +
{' '}
@@ -226,7 +247,10 @@ export function ProfileShares() { -
@@ -237,7 +261,9 @@ export function ProfileShares() { {showDelete && ( setShowDelete(undefined)}> -
Delete Share Link
+
+ Delete Share Link +

{`Are you sure you want to delete share link?`}

@@ -272,14 +298,18 @@ export function ProfileShares() { return (
-
Current Profile Shares
+
+ Current Profile Shares +
Listed below are your currently active profile sharing links. You can share or delete them.
-
List of shares
+
+ List of shares +
diff --git a/src/pages/AdminApps.tsx b/src/pages/AdminApps.tsx index d7387b5..2d18d92 100644 --- a/src/pages/AdminApps.tsx +++ b/src/pages/AdminApps.tsx @@ -1,4 +1,4 @@ -import { useEffect, useState } from 'react'; +import { useCallback, useEffect, useState } from 'react'; import ReactPaginate from 'react-paginate'; import { ApplicationPreview } from '../components/ApplicationPreview'; import { ApplicationStarterInf } from '../components/ApplicationStarterInf'; @@ -11,70 +11,55 @@ import { useAppStore } from '../store/useAppStore'; const ITEMS_COUNT = 5; +type OrderByType = + | 'createdAt' + | 'displayName' + | 'totalRegistered' + | 'totalSessions' + | 'totalApiCalls' + | 'totalFiles' + | 'totalTransactions'; + export default function AdminApps() { const [showStarterInf, setShowStarterInf] = useState(true); const [showModal, setShowModal] = useState(false); const apps = useAppStore((s) => s.apps); - // @ts-ignore const currentUser = useAppStore((s) => s.currentUser); const doSetApps = useAppStore((s) => s.doSetApps); const currentApp = useAppStore((s) => s.currentApp as ModelApp); - // @ts-ignore - const [order, setOrder] = useState('asc'); - // @ts-ignore - const [orderBy, setOrderBy] = useState('createdAt'); - // @ts-ignore + const [order, setOrder] = useState<'asc' | 'desc'>('asc'); + const [orderBy, setOrderBy] = useState('createdAt'); const [currentPage, setCurrentPage] = useState(0); - // @ts-ignore const [pageCount, setPageCount] = useState(0); - useEffect(() => { - (async function () { - // @ts-ignore + const fetchApps = useCallback( + async (page = 0) => { const response = await httpGetApps({ limit: ITEMS_COUNT, - // @ts-ignore + offset: ITEMS_COUNT * page, order, - // @ts-ignore orderBy, }); + + setCurrentPage(page); setPageCount(Math.ceil(response.data.total / ITEMS_COUNT)); doSetApps(response.data.apps); - })(); - }, []); + }, + [order, orderBy, doSetApps] + ); useEffect(() => { - (async () => { - const response = await httpGetApps({ - limit: ITEMS_COUNT, - // @ts-ignore - order, - // @ts-ignore - orderBy, - }); - setPageCount(Math.ceil(response.data.total / ITEMS_COUNT)); - doSetApps(response.data.apps); - })(); - }, [order, orderBy]); + fetchApps(); + }, [fetchApps]); - // @ts-ignore - const onPageChange = (page: number) => { - httpGetApps({ - ITEMS_COUNT, - offset: ITEMS_COUNT * page, - // @ts-ignore - order, - // @ts-ignore - orderBy, - }).then((response) => { - const { total, apps } = response.data; - setCurrentPage(page); - setPageCount(Math.ceil(total / ITEMS_COUNT)); - doSetApps(apps); - }); - }; + const onPageChange = useCallback( + (page: number) => { + fetchApps(page); + }, + [fetchApps] + ); - const renderSorting = () => { + const renderSorting = useCallback(() => { if (currentUser?.isSuperAdmin) { return ( From 6ee21557ddb873e65d6aa7448a1f390b2284d02a Mon Sep 17 00:00:00 2001 From: Dmytro Berberov Date: Sun, 23 Feb 2025 21:02:05 +0100 Subject: [PATCH 039/283] fix url pagination --- src/pages/AdminApps.tsx | 107 +++++++++++++++++++++++++++------------- 1 file changed, 74 insertions(+), 33 deletions(-) diff --git a/src/pages/AdminApps.tsx b/src/pages/AdminApps.tsx index 2d18d92..e19dcfe 100644 --- a/src/pages/AdminApps.tsx +++ b/src/pages/AdminApps.tsx @@ -1,5 +1,6 @@ -import { useCallback, useEffect, useState } from 'react'; +import { useCallback, useEffect, useMemo, useState } from 'react'; import ReactPaginate from 'react-paginate'; +import { useLocation, useSearchParams } from 'react-router-dom'; import { ApplicationPreview } from '../components/ApplicationPreview'; import { ApplicationStarterInf } from '../components/ApplicationStarterInf'; import { IconAdd } from '../components/Icons/IconAdd'; @@ -21,42 +22,82 @@ type OrderByType = | 'totalTransactions'; export default function AdminApps() { + const [searchParams, setSearchParams] = useSearchParams(); + const location = useLocation(); const [showStarterInf, setShowStarterInf] = useState(true); const [showModal, setShowModal] = useState(false); const apps = useAppStore((s) => s.apps); const currentUser = useAppStore((s) => s.currentUser); const doSetApps = useAppStore((s) => s.doSetApps); const currentApp = useAppStore((s) => s.currentApp as ModelApp); - const [order, setOrder] = useState<'asc' | 'desc'>('asc'); - const [orderBy, setOrderBy] = useState('createdAt'); - const [currentPage, setCurrentPage] = useState(0); + + const limit = useMemo( + () => Number(searchParams.get('limit')) || ITEMS_COUNT, + [searchParams] + ); + const page = useMemo( + () => Number(searchParams.get('page')) || 0, + [searchParams] + ); + const order = useMemo( + () => (searchParams.get('order') as 'asc' | 'desc') || 'asc', + [searchParams] + ); + const orderBy = useMemo( + () => (searchParams.get('orderBy') as OrderByType) || 'createdAt', + [searchParams] + ); + const [pageCount, setPageCount] = useState(0); + const [currentPage, setCurrentPage] = useState(page); - const fetchApps = useCallback( - async (page = 0) => { - const response = await httpGetApps({ - limit: ITEMS_COUNT, - offset: ITEMS_COUNT * page, - order, - orderBy, - }); + useEffect(() => { + setCurrentPage(page); + }, [page]); - setCurrentPage(page); - setPageCount(Math.ceil(response.data.total / ITEMS_COUNT)); - doSetApps(response.data.apps); - }, - [order, orderBy, doSetApps] - ); + const fetchApps = useCallback(async () => { + const response = await httpGetApps({ + limit, + offset: limit * page, + order, + orderBy, + }); + + setPageCount(Math.ceil(response.data.total / limit)); + doSetApps(response.data.apps); + }, [limit, page, order, orderBy, doSetApps]); useEffect(() => { fetchApps(); }, [fetchApps]); + const updateSearchParams = useCallback( + (newParams: Record) => { + setSearchParams((prev) => { + const updatedParams = new URLSearchParams(prev); + + Object.entries(newParams).forEach(([key, value]) => { + updatedParams.set(key, String(value)); + }); + + return updatedParams; + }); + }, + [setSearchParams] + ); + const onPageChange = useCallback( - (page: number) => { - fetchApps(page); + (selectedItem: { selected: number }) => { + updateSearchParams({ page: selectedItem.selected }); + }, + [updateSearchParams] + ); + + const handleSortChange = useCallback( + (newOrderBy: OrderByType, newOrder: 'asc' | 'desc') => { + updateSearchParams({ orderBy: newOrderBy, order: newOrder, page: 0 }); }, - [fetchApps] + [updateSearchParams] ); const renderSorting = useCallback(() => { @@ -65,9 +106,9 @@ export default function AdminApps() { handleSortChange(orderBy, newOrder)} orderBy={orderBy} - setOrderBy={setOrderBy} + setOrderBy={(newOrderBy) => handleSortChange(newOrderBy, order)} orderByList={[ { key: 'displayName', title: 'Display Name' }, { key: 'totalRegistered', title: 'Registered' }, @@ -82,7 +123,11 @@ export default function AdminApps() { } else { return null; } - }, [order, orderBy, currentUser]); + }, [currentUser?.isSuperAdmin, order, orderBy, handleSortChange]); + + useEffect(() => { + localStorage.setItem('lastPath', location.pathname + location.search); + }, [location.pathname, location.search]); return (
@@ -102,14 +147,11 @@ export default function AdminApps() {
+ {/* apps list */}
{showStarterInf && !apps.length && ( - { - setShowStarterInf(false); - }} - /> + setShowStarterInf(false)} /> )} {apps.map((app) => ( @@ -119,13 +161,11 @@ export default function AdminApps() { primaryColor={currentApp.primaryColor} /> ))} + {currentUser?.isSuperAdmin && ( { - console.log({ args }); - }} - onPageChange={(selectedItem) => onPageChange(selectedItem.selected)} + onPageChange={onPageChange} breakLabel="..." nextLabel="Next ➝" pageRangeDisplayed={2} @@ -142,6 +182,7 @@ export default function AdminApps() { /> )}
+ {showModal && ( Date: Sun, 23 Feb 2025 22:22:46 +0100 Subject: [PATCH 040/283] fix url --- src/App.tsx | 18 +++++---- src/AppHelmet.tsx | 30 ++++++++++---- src/AppLayout.tsx | 25 ++---------- src/components/Error/ErrorContainer.tsx | 9 ++++- src/hooks/useTrackUrl.tsx | 53 ++++++++++++++++--------- src/pages/AdminApp.tsx | 11 ++++- src/pages/ErrorPage/Error404Page.tsx | 7 +++- src/router.tsx | 12 ++++-- 8 files changed, 102 insertions(+), 63 deletions(-) diff --git a/src/App.tsx b/src/App.tsx index ba21fa2..0a95ce3 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -3,9 +3,9 @@ import { useEffect } from 'react'; import { Outlet, useLocation, useNavigate } from 'react-router-dom'; import { actionAfterLogin, actionGetConfig } from './actions'; import { Loading } from './components/Loading'; +import { useTrackUrl } from './hooks/useTrackUrl'; import { httpGetOneUser } from './http'; import { useAppStore } from './store/useAppStore'; -import { navigateToUserPage } from './utils/navigateToUserPage'; export function Fallback() { return

Performing initial data load

; @@ -32,16 +32,17 @@ function App() { '--bg-auth-background', hexToRgba(primaryColor, '0.05') ); - let res = hexToRgba(primaryColor); + const res = hexToRgba(primaryColor); if (res) { - let match = res.match(/\d+(\.\d+)?/g); + const match = res.match(/\d+(\.\d+)?/g); if (match) { - let arr = match.map(Number); - let [r, g, b, a] = arr; + const arr = match.map(Number); + let [r, g, b] = arr; + const [a] = arr; r = Math.ceil(r * 0.8); g = Math.ceil(g * 0.8); b = Math.ceil(b * 0.8); - let newColor = `rgba(${r},${g},${b},${a})`; + const newColor = `rgba(${r},${g},${b},${a})`; console.log({ newColor }); document.documentElement.style.setProperty( '--brand-darker', @@ -60,8 +61,6 @@ function App() { try { const { data } = await httpGetOneUser(); await actionAfterLogin(data); - const lastPath = localStorage.getItem('lastPath'); - navigateToUserPage(navigate, lastPath); } catch (e) { if ( !location.pathname.startsWith('/tempPassword') || @@ -69,6 +68,7 @@ function App() { ) { navigate('/login'); } + console.error(e); } } else { if ( @@ -85,6 +85,8 @@ function App() { example(); }, []); + useTrackUrl(); + if (!currentApp) { return ; } else { diff --git a/src/AppHelmet.tsx b/src/AppHelmet.tsx index 523bc27..2c07238 100644 --- a/src/AppHelmet.tsx +++ b/src/AppHelmet.tsx @@ -9,21 +9,37 @@ export default function AppHelmet() { const navigate = useNavigate(); const location = useLocation(); const token = localStorage.getItem('token-538'); + const lastPath = localStorage.getItem('lastPath') || '/app/admin/apps'; useEffect(() => { - if (!token ) { - if (location.pathname.startsWith('/tempPassword') || location.pathname.startsWith('/resetPassword')) { - return - } else { - navigate('/login'); - } + if (!token) { + if ( + location.pathname.startsWith('/tempPassword') || + location.pathname.startsWith('/resetPassword') || + location.pathname === '/register' + ) { + return; + } else { + navigate('/login'); } + } }, []); + useEffect(() => { + if ( + token && + (location.pathname === '/login' || location.pathname === '/') + ) { + navigate(lastPath, { replace: true }); + } + }, [token, location.pathname, navigate, lastPath]); + return ( <> - {currentApp.displayName || 'Ethora - Web3 super app engine'} + + {currentApp.displayName || 'Ethora - Web3 super app engine'} + s.currentUser); const location = useLocation(); - - const [redirectPath, setRedirectPath] = useState(null); - - // useTrackUrl(); - - useEffect(() => { - localStorage.setItem('lastPath', location.pathname); - }, [location.pathname]); - - useEffect(() => { - const lastPath = localStorage.getItem('lastPath'); - if (lastPath && lastPath !== location.pathname) { - setRedirectPath(lastPath); - } - }, []); + const user = useAppStore((s) => s.currentUser); if (!user) { return ; } - if (redirectPath) { - const path = redirectPath; - setRedirectPath(null); - return ; + if (location.pathname !== '/login') { + localStorage.setItem('lastPath', location.pathname + location.search); } return ( diff --git a/src/components/Error/ErrorContainer.tsx b/src/components/Error/ErrorContainer.tsx index a019030..49db668 100644 --- a/src/components/Error/ErrorContainer.tsx +++ b/src/components/Error/ErrorContainer.tsx @@ -9,10 +9,11 @@ interface ErrorContainerProps { title: string; description: string; image: string; + navigateUrl?: string; } export const ErrorContainer = (props: ErrorContainerProps): ReactElement => { - const { status, title, description, image } = props; + const { status, title, description, image, navigateUrl } = props; const navigate = useNavigate(); @@ -26,7 +27,11 @@ export const ErrorContainer = (props: ErrorContainerProps): ReactElement => { variant="contained" startIcon={} style={{ padding: '2px 48px' }} - onClick={() => navigate(-1)} + onClick={() => + navigateUrl + ? navigate(navigateUrl, { replace: true }) + : navigate(-1) + } > Go Back diff --git a/src/hooks/useTrackUrl.tsx b/src/hooks/useTrackUrl.tsx index b0f7ba6..ed004c2 100644 --- a/src/hooks/useTrackUrl.tsx +++ b/src/hooks/useTrackUrl.tsx @@ -1,31 +1,48 @@ -import { useEffect } from 'react'; +import { useEffect, useState } from 'react'; import { useLocation, useNavigate } from 'react-router-dom'; export const useTrackUrl = () => { - const location = useLocation(); const navigate = useNavigate(); + const location = useLocation(); + const [isFirstLoad, setIsFirstLoad] = useState(true); useEffect(() => { - localStorage.setItem('savedUrl', location.pathname + location.search); - }, [location]); - - useEffect(() => { - const handlePopState = () => { - const savedUrl = localStorage.getItem('savedUrl'); + const token = localStorage.getItem('token-538'); + const lastPath = localStorage.getItem('lastPath'); + if (!token) { if ( - savedUrl && - savedUrl !== window.location.pathname + window.location.search + location.pathname.startsWith('/tempPassword') || + location.pathname.startsWith('/resetPassword') || + location.pathname === '/register' ) { - console.log('window.location.pathname:', window.location.pathname); - navigate(savedUrl); + return; + } else { + navigate('/login'); } - }; + } - window.addEventListener('popstate', handlePopState); + if (location.pathname === '/') { + navigate(lastPath || '/app/admin/apps', { replace: true }); + return; + } + + if (token && location.pathname === '/login') { + navigate(lastPath || '/app/admin/apps', { replace: true }); + return; + } + + if (isFirstLoad) { + setIsFirstLoad(false); + } + }, [navigate, location.pathname, isFirstLoad]); + + useEffect(() => { + const token = localStorage.getItem('token-538'); + const lastPath = localStorage.getItem('lastPath'); - return () => { - window.removeEventListener('popstate', handlePopState); - }; - }, [navigate]); + if (token && location.pathname === '/login') { + navigate(lastPath || '/app/admin/apps', { replace: true }); + } + }, [location.pathname, navigate]); }; diff --git a/src/pages/AdminApp.tsx b/src/pages/AdminApp.tsx index ee0c8d4..f22f5a5 100644 --- a/src/pages/AdminApp.tsx +++ b/src/pages/AdminApp.tsx @@ -1,15 +1,17 @@ -import { useEffect } from 'react'; +import { useEffect, useState } from 'react'; import { NavLink, Outlet, useNavigate, useParams } from 'react-router-dom'; import { IconArrowLeft } from '../components/Icons/IconArrowLeft'; import { httpGetApp } from '../http'; import { useAppStore } from '../store/useAppStore'; +import { Error404Page } from './ErrorPage/Error404Page'; export default function AdminApp() { - let { appId } = useParams(); + const { appId } = useParams(); const apps = useAppStore((s) => s.apps); const doSetApp = useAppStore((s) => s.doSetApp); const app = apps.find((app) => app._id === appId); const navigate = useNavigate(); + const [isValidApp, setIsValidApp] = useState(true); useEffect(() => { if (!appId || app) return; @@ -20,6 +22,7 @@ export default function AdminApp() { console.log('AdminApp', response.data.result); doSetApp(response.data.result); } catch (e) { + setIsValidApp(false); console.error(e); } }; @@ -27,6 +30,10 @@ export default function AdminApp() { getApp(); }, [appId, app, doSetApp]); + if (!isValidApp) { + return ; + } + return ( // overflow-hidden
diff --git a/src/pages/ErrorPage/Error404Page.tsx b/src/pages/ErrorPage/Error404Page.tsx index 7b7d9ae..2bd30f0 100644 --- a/src/pages/ErrorPage/Error404Page.tsx +++ b/src/pages/ErrorPage/Error404Page.tsx @@ -1,13 +1,18 @@ import images from '../../assets/error/404.png'; import { ErrorContainer } from '../../components/Error/ErrorContainer'; -export const Error404Page = () => { +interface Error404PageProps { + navigateUrl?: string; +} + +export const Error404Page = ({ navigateUrl }: Error404PageProps) => { return ( ); }; diff --git a/src/router.tsx b/src/router.tsx index 62645fa..a7c4d97 100644 --- a/src/router.tsx +++ b/src/router.tsx @@ -77,6 +77,10 @@ export const router = createBrowserRouter( path: 'apps/:appId', Component: AdminApp, children: [ + { + index: true, + element: , + }, { path: 'settings', Component: AppSettings, @@ -110,12 +114,12 @@ export const router = createBrowserRouter( }, ], }, + { + path: '*', + element: , + }, ], }, - { - path: '*', - element: , - }, ], { future: { From 80b94118c9c762a3fe88bc97ba23cbbb7cfaca1f Mon Sep 17 00:00:00 2001 From: Dmytro Berberov Date: Mon, 24 Feb 2025 09:44:43 +0100 Subject: [PATCH 041/283] fix lint error --- src/pages/Profile.tsx | 9 +++++---- src/pages/UserSettings/DocumentShares.tsx | 4 +++- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/pages/Profile.tsx b/src/pages/Profile.tsx index 7dc60bb..9863768 100644 --- a/src/pages/Profile.tsx +++ b/src/pages/Profile.tsx @@ -43,9 +43,10 @@ export default function Profile() { const navigate = useNavigate(); const componentGetDocs = async () => { - let { data } = await getDocuments(walletAddress); - // @ts-ignore - let items = data.results.filter((el) => el.locations[0]); + const { data } = await getDocuments(walletAddress); + const items = data.results.filter( + (el: { locations: unknown[] }) => el.locations[0] + ); setDocuments(items); }; @@ -217,7 +218,7 @@ export default function Profile() {
- Delete Share Link + Delete Document

Are you sure you want to delete document? diff --git a/src/pages/UserSettings/DocumentShares.tsx b/src/pages/UserSettings/DocumentShares.tsx index 376d416..f69bd3a 100644 --- a/src/pages/UserSettings/DocumentShares.tsx +++ b/src/pages/UserSettings/DocumentShares.tsx @@ -74,7 +74,9 @@ export function DocumentShares() { const componentGetDocs = async () => { const { data } = await getDocuments(user.defaultWallet.walletAddress); - const items = data.results.filter((el) => el.locations[0]); + const items = data.results.filter( + (el: { locations: unknown[] }) => el.locations[0] + ); setDocuments(items); }; From 96e392f6f0a809acb9b1a7cf0f2e7d4a1b2d402b Mon Sep 17 00:00:00 2001 From: Dmytro Berberov Date: Mon, 24 Feb 2025 10:45:53 +0100 Subject: [PATCH 042/283] document share change view id on name --- src/pages/UserSettings/DocumentShares.tsx | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/pages/UserSettings/DocumentShares.tsx b/src/pages/UserSettings/DocumentShares.tsx index f69bd3a..1d41b4a 100644 --- a/src/pages/UserSettings/DocumentShares.tsx +++ b/src/pages/UserSettings/DocumentShares.tsx @@ -64,7 +64,8 @@ export function DocumentShares() { getItems(); setShowDelete(undefined); }) - .catch((_) => { + .catch((error) => { + console.error(error); toast.error('Error'); }) .finally(() => { @@ -89,7 +90,6 @@ export function DocumentShares() { const items = data.items.filter( (el: ModelProfileShare) => el.resource === 'document' ); - console.log({ items }); setItems(items); }); }; @@ -264,6 +264,15 @@ export function DocumentShares() { } }; + const getDocumentId = (id: string) => { + if (documents.length > 0) { + const name = documents.filter((document) => document._id === id)[0] + .documentName; + + return name; + } + }; + const renderItems = () => { if (items.length) { return ( @@ -293,7 +302,8 @@ export function DocumentShares() { return ( - {el.targetRecordId} + {/* {el.targetRecordId} */} + {getDocumentId(el.targetRecordId)} {el.memo ? el.memo : '-'} From 8c0fb00801dcf2068999ff2c7bead588d0cf3d48 Mon Sep 17 00:00:00 2001 From: Dmytro Berberov Date: Mon, 24 Feb 2025 11:21:56 +0100 Subject: [PATCH 043/283] fix some warring, errors --- .../Appearance/AppearanceIphone.tsx | 1 + .../Appearance/AppearanceRightImage.tsx | 3 ++ src/components/Icons/IconUpload.tsx | 6 +-- src/components/Sorting.tsx | 52 +++++++++---------- src/pages/AppSettings/WebApp.tsx | 19 +++---- 5 files changed, 42 insertions(+), 39 deletions(-) diff --git a/src/components/Appearance/AppearanceIphone.tsx b/src/components/Appearance/AppearanceIphone.tsx index 8fbb834..0de7fac 100644 --- a/src/components/Appearance/AppearanceIphone.tsx +++ b/src/components/Appearance/AppearanceIphone.tsx @@ -51,6 +51,7 @@ export const AppearanceIphone = ({

{inputPlaceholder.map((placeholder) => (
); diff --git a/src/components/Sorting.tsx b/src/components/Sorting.tsx index 4b19286..b3c421a 100644 --- a/src/components/Sorting.tsx +++ b/src/components/Sorting.tsx @@ -87,7 +87,7 @@ export function Sorting({ aria-label="Server size" > {orderItemList.map((el) => ( - +