refactor: delete user logic

This commit is contained in:
Tristan Yang
2023-08-09 17:46:58 +08:00
parent 3d3b0db143
commit 9e451b365a
5 changed files with 207 additions and 93 deletions
+10 -10
View File
@@ -1,6 +1,6 @@
{ {
"name": "vocechat-web", "name": "vocechat-web",
"version": "0.4.17", "version": "0.4.18",
"homepage": "https://voce.chat", "homepage": "https://voce.chat",
"dependencies": { "dependencies": {
"@electron-toolkit/preload": "^2.0.0", "@electron-toolkit/preload": "^2.0.0",
@@ -27,11 +27,11 @@
"emoji-mart": "5.5.2", "emoji-mart": "5.5.2",
"eslint": "^8.46.0", "eslint": "^8.46.0",
"firebase": "^10.1.0", "firebase": "^10.1.0",
"framer-motion": "^10.15.0", "framer-motion": "^10.15.1",
"fs-extra": "^11.1.1", "fs-extra": "^11.1.1",
"heic2any": "^0.0.4", "heic2any": "^0.0.4",
"html-webpack-plugin": "^5.5.3", "html-webpack-plugin": "^5.5.3",
"i18next": "^23.4.1", "i18next": "^23.4.4",
"i18next-browser-languagedetector": "^7.1.0", "i18next-browser-languagedetector": "^7.1.0",
"i18next-http-backend": "^2.2.1", "i18next-http-backend": "^2.2.1",
"linkify-plugin-mention": "^4.1.1", "linkify-plugin-mention": "^4.1.1",
@@ -59,7 +59,7 @@
"react-textarea-autosize": "^8.5.2", "react-textarea-autosize": "^8.5.2",
"react-use-wizard": "^2.2.3", "react-use-wizard": "^2.2.3",
"react-viewport-list": "^7.1.1", "react-viewport-list": "^7.1.1",
"react-virtuoso": "^4.4.2", "react-virtuoso": "^4.5.0",
"rooks": "^7.14.1", "rooks": "^7.14.1",
"slate": "^0.94.1", "slate": "^0.94.1",
"slate-history": "^0.93.0", "slate-history": "^0.93.0",
@@ -106,24 +106,24 @@
] ]
}, },
"devDependencies": { "devDependencies": {
"@babel/core": "^7.22.9", "@babel/core": "^7.22.10",
"@babel/plugin-proposal-private-property-in-object": "^7.21.11", "@babel/plugin-proposal-private-property-in-object": "^7.21.11",
"@ianvs/prettier-plugin-sort-imports": "^4.1.0", "@ianvs/prettier-plugin-sort-imports": "^4.1.0",
"@types/emoji-mart": "^3.0.9", "@types/emoji-mart": "^3.0.9",
"@types/masonry-layout": "^4.2.5", "@types/masonry-layout": "^4.2.5",
"@types/node": "^20.4.7", "@types/node": "^20.4.9",
"@types/react": "^18.2.18", "@types/react": "^18.2.19",
"@types/react-dom": "^18.2.7", "@types/react-dom": "^18.2.7",
"@types/react-helmet": "^6.1.6", "@types/react-helmet": "^6.1.6",
"@types/react-syntax-highlighter": "^15.5.7", "@types/react-syntax-highlighter": "^15.5.7",
"@typescript-eslint/eslint-plugin": "^6.2.1", "@typescript-eslint/eslint-plugin": "^6.3.0",
"@typescript-eslint/parser": "^6.2.1", "@typescript-eslint/parser": "^6.3.0",
"@welldone-software/why-did-you-render": "^7.0.1", "@welldone-software/why-did-you-render": "^7.0.1",
"autoprefixer": "^10.4.14", "autoprefixer": "^10.4.14",
"babel-loader": "^9.1.3", "babel-loader": "^9.1.3",
"babel-plugin-named-asset-import": "^0.3.8", "babel-plugin-named-asset-import": "^0.3.8",
"babel-preset-react-app": "^10.0.1", "babel-preset-react-app": "^10.0.1",
"eslint-config-prettier": "^8.10.0", "eslint-config-prettier": "^9.0.0",
"eslint-plugin-import": "^2.28.0", "eslint-plugin-import": "^2.28.0",
"eslint-plugin-prettier": "^5.0.0", "eslint-plugin-prettier": "^5.0.0",
"eslint-plugin-react": "^7.33.1", "eslint-plugin-react": "^7.33.1",
+7 -5
View File
@@ -9,17 +9,19 @@ import { resetFileMessage } from "@/app/slices/message.file";
import { resetReactionMessage } from "@/app/slices/message.reaction"; import { resetReactionMessage } from "@/app/slices/message.reaction";
import { resetUserMsg } from "@/app/slices/message.user"; import { resetUserMsg } from "@/app/slices/message.user";
import { resetUsers } from "@/app/slices/users"; import { resetUsers } from "@/app/slices/users";
import { resetAuthData } from "@/app/slices/auth.data";
export default function useLogout() { export default function useLogout() {
const dispatch = useDispatch(); const dispatch = useDispatch();
const [logout, { isLoading, isSuccess }] = useLazyLogoutQuery(); const [logout, { isLoading, isSuccess }] = useLazyLogoutQuery();
const clearLocalData = (footprint?: boolean) => { const clearLocalData = (auth?: boolean) => {
let fp = typeof footprint === "undefined" ? true : footprint; let clearAuth = typeof auth === "undefined" ? false : auth;
dispatch(resetChannels()); dispatch(resetChannels());
dispatch(resetUsers()); dispatch(resetUsers());
// 和消息相关的数据 dispatch(resetFootprint());
if (fp) { // 同时也清除本地登录数据
dispatch(resetFootprint()); if (clearAuth) {
dispatch(resetAuthData());
} }
dispatch(resetChannelMsg()); dispatch(resetChannelMsg());
dispatch(resetUserMsg()); dispatch(resetUserMsg());
@@ -7,8 +7,6 @@ import Modal from "@/components/Modal";
import Button from "@/components/styled/Button"; import Button from "@/components/styled/Button";
import StyledModal from "@/components/styled/Modal"; import StyledModal from "@/components/styled/Modal";
import { VisibleModalType } from "./index"; import { VisibleModalType } from "./index";
import useLogout from "@/hooks/useLogout";
interface Props { interface Props {
context: VisibleModalType; context: VisibleModalType;
title: string; title: string;
@@ -18,7 +16,6 @@ interface Props {
const ClearConfirmModal: FC<Props> = ({ context, title, desc, closeModal }) => { const ClearConfirmModal: FC<Props> = ({ context, title, desc, closeModal }) => {
// const { t } = useTranslation("auth"); // const { t } = useTranslation("auth");
const { clearLocalData } = useLogout();
const { t: ct } = useTranslation(); const { t: ct } = useTranslation();
const [clearFiles, { isLoading: filesClearing, isSuccess: clearFilesSuccess }] = const [clearFiles, { isLoading: filesClearing, isSuccess: clearFilesSuccess }] =
useLazyClearAllFilesQuery(); useLazyClearAllFilesQuery();
@@ -1,4 +1,4 @@
import { FC } from "react"; import { FC, useEffect } from "react";
import toast from "react-hot-toast"; import toast from "react-hot-toast";
import { useTranslation } from "react-i18next"; import { useTranslation } from "react-i18next";
@@ -6,6 +6,7 @@ import { useLazyDeleteCurrentAccountQuery } from "@/app/services/auth";
import Modal from "@/components/Modal"; import Modal from "@/components/Modal";
import Button from "@/components/styled/Button"; import Button from "@/components/styled/Button";
import StyledModal from "@/components/styled/Modal"; import StyledModal from "@/components/styled/Modal";
import useLogout from "@/hooks/useLogout";
interface Props { interface Props {
closeModal: () => void; closeModal: () => void;
@@ -13,7 +14,8 @@ interface Props {
const RemoveConfirmModal: FC<Props> = ({ closeModal }) => { const RemoveConfirmModal: FC<Props> = ({ closeModal }) => {
const { t } = useTranslation("member"); const { t } = useTranslation("member");
const [removeCurrentAccount, { isLoading }] = useLazyDeleteCurrentAccountQuery(); const [removeCurrentAccount, { isLoading, isSuccess }] = useLazyDeleteCurrentAccountQuery();
const { clearLocalData } = useLogout();
const handleRemove = async () => { const handleRemove = async () => {
try { try {
await removeCurrentAccount(); await removeCurrentAccount();
@@ -21,6 +23,12 @@ const RemoveConfirmModal: FC<Props> = ({ closeModal }) => {
toast.error("Remove Account Failed!"); toast.error("Remove Account Failed!");
} }
}; };
useEffect(() => {
if (isSuccess) {
clearLocalData(true);
}
}, [isSuccess]);
return ( return (
<Modal id="modal-modal"> <Modal id="modal-modal">
<StyledModal <StyledModal
+180 -73
View File
@@ -36,12 +36,20 @@
dependencies: dependencies:
"@babel/highlight" "^7.22.5" "@babel/highlight" "^7.22.5"
"@babel/code-frame@^7.22.10":
version "7.22.10"
resolved "https://mirrors.cloud.tencent.com/npm/@babel/code-frame/-/code-frame-7.22.10.tgz#1c20e612b768fefa75f6e90d6ecb86329247f0a3"
integrity sha512-/KKIMG4UEL35WmI9OlvMhurwtytjvXoFcGNrOvyG9zIzA8YmPjVtIZUf7b05+TPO7G7/GEmLHDaoCgACHl9hhA==
dependencies:
"@babel/highlight" "^7.22.10"
chalk "^2.4.2"
"@babel/compat-data@^7.22.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9": "@babel/compat-data@^7.22.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.22.9":
version "7.22.9" version "7.22.9"
resolved "https://mirrors.cloud.tencent.com/npm/@babel/compat-data/-/compat-data-7.22.9.tgz#71cdb00a1ce3a329ce4cbec3a44f9fef35669730" resolved "https://mirrors.cloud.tencent.com/npm/@babel/compat-data/-/compat-data-7.22.9.tgz#71cdb00a1ce3a329ce4cbec3a44f9fef35669730"
integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ== integrity sha512-5UamI7xkUcJ3i9qVDS+KFDEK8/7oJ55/sJMB1Ge7IEapr7KfdfV/HErR+koZwOfd+SgtFKOKRhRakdg++DcJpQ==
"@babel/core@^7.11.1", "@babel/core@^7.16.0", "@babel/core@^7.21.3", "@babel/core@^7.21.8", "@babel/core@^7.22.9": "@babel/core@^7.11.1", "@babel/core@^7.16.0", "@babel/core@^7.21.3", "@babel/core@^7.21.8":
version "7.22.9" version "7.22.9"
resolved "https://mirrors.cloud.tencent.com/npm/@babel/core/-/core-7.22.9.tgz#bd96492c68822198f33e8a256061da3cf391f58f" resolved "https://mirrors.cloud.tencent.com/npm/@babel/core/-/core-7.22.9.tgz#bd96492c68822198f33e8a256061da3cf391f58f"
integrity sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w== integrity sha512-G2EgeufBcYw27U4hhoIwFcgc1XU7TlXJ3mv04oOv1WCuo900U/anZSPzEqNjwdjgffkk2Gs0AN0dW1CKVLcG7w==
@@ -62,6 +70,27 @@
json5 "^2.2.2" json5 "^2.2.2"
semver "^6.3.1" semver "^6.3.1"
"@babel/core@^7.22.10":
version "7.22.10"
resolved "https://mirrors.cloud.tencent.com/npm/@babel/core/-/core-7.22.10.tgz#aad442c7bcd1582252cb4576747ace35bc122f35"
integrity sha512-fTmqbbUBAwCcre6zPzNngvsI0aNrPZe77AeqvDxWM9Nm+04RrJ3CAmGHA9f7lJQY6ZMhRztNemy4uslDxTX4Qw==
dependencies:
"@ampproject/remapping" "^2.2.0"
"@babel/code-frame" "^7.22.10"
"@babel/generator" "^7.22.10"
"@babel/helper-compilation-targets" "^7.22.10"
"@babel/helper-module-transforms" "^7.22.9"
"@babel/helpers" "^7.22.10"
"@babel/parser" "^7.22.10"
"@babel/template" "^7.22.5"
"@babel/traverse" "^7.22.10"
"@babel/types" "^7.22.10"
convert-source-map "^1.7.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
json5 "^2.2.2"
semver "^6.3.1"
"@babel/generator@^7.21.5", "@babel/generator@^7.22.7", "@babel/generator@^7.22.9": "@babel/generator@^7.21.5", "@babel/generator@^7.22.7", "@babel/generator@^7.22.9":
version "7.22.9" version "7.22.9"
resolved "https://mirrors.cloud.tencent.com/npm/@babel/generator/-/generator-7.22.9.tgz#572ecfa7a31002fa1de2a9d91621fd895da8493d" resolved "https://mirrors.cloud.tencent.com/npm/@babel/generator/-/generator-7.22.9.tgz#572ecfa7a31002fa1de2a9d91621fd895da8493d"
@@ -72,6 +101,16 @@
"@jridgewell/trace-mapping" "^0.3.17" "@jridgewell/trace-mapping" "^0.3.17"
jsesc "^2.5.1" jsesc "^2.5.1"
"@babel/generator@^7.22.10":
version "7.22.10"
resolved "https://mirrors.cloud.tencent.com/npm/@babel/generator/-/generator-7.22.10.tgz#c92254361f398e160645ac58831069707382b722"
integrity sha512-79KIf7YiWjjdZ81JnLujDRApWtl7BxTqWD88+FFdQEIOG8LJ0etDOM7CXuIgGJa55sGOwZVwuEsaLEm0PJ5/+A==
dependencies:
"@babel/types" "^7.22.10"
"@jridgewell/gen-mapping" "^0.3.2"
"@jridgewell/trace-mapping" "^0.3.17"
jsesc "^2.5.1"
"@babel/helper-annotate-as-pure@^7.18.6", "@babel/helper-annotate-as-pure@^7.22.5": "@babel/helper-annotate-as-pure@^7.18.6", "@babel/helper-annotate-as-pure@^7.22.5":
version "7.22.5" version "7.22.5"
resolved "https://mirrors.cloud.tencent.com/npm/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882" resolved "https://mirrors.cloud.tencent.com/npm/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz#e7f06737b197d580a01edf75d97e2c8be99d3882"
@@ -86,6 +125,17 @@
dependencies: dependencies:
"@babel/types" "^7.22.5" "@babel/types" "^7.22.5"
"@babel/helper-compilation-targets@^7.22.10":
version "7.22.10"
resolved "https://mirrors.cloud.tencent.com/npm/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.10.tgz#01d648bbc25dd88f513d862ee0df27b7d4e67024"
integrity sha512-JMSwHD4J7SLod0idLq5PKgI+6g/hLD/iuWBq08ZX49xE14VpVEojJ5rHWptpirV2j020MvypRLAXAO50igCJ5Q==
dependencies:
"@babel/compat-data" "^7.22.9"
"@babel/helper-validator-option" "^7.22.5"
browserslist "^4.21.9"
lru-cache "^5.1.1"
semver "^6.3.1"
"@babel/helper-compilation-targets@^7.22.5", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.22.9": "@babel/helper-compilation-targets@^7.22.5", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.22.9":
version "7.22.9" version "7.22.9"
resolved "https://mirrors.cloud.tencent.com/npm/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz#f9d0a7aaaa7cd32a3f31c9316a69f5a9bcacb892" resolved "https://mirrors.cloud.tencent.com/npm/@babel/helper-compilation-targets/-/helper-compilation-targets-7.22.9.tgz#f9d0a7aaaa7cd32a3f31c9316a69f5a9bcacb892"
@@ -252,6 +302,15 @@
"@babel/template" "^7.22.5" "@babel/template" "^7.22.5"
"@babel/types" "^7.22.5" "@babel/types" "^7.22.5"
"@babel/helpers@^7.22.10":
version "7.22.10"
resolved "https://mirrors.cloud.tencent.com/npm/@babel/helpers/-/helpers-7.22.10.tgz#ae6005c539dfbcb5cd71fb51bfc8a52ba63bc37a"
integrity sha512-a41J4NW8HyZa1I1vAndrraTlPZ/eZoga2ZgS7fEr0tZJGVU4xqdE80CEm0CcNjha5EZ8fTBYLKHF0kqDUuAwQw==
dependencies:
"@babel/template" "^7.22.5"
"@babel/traverse" "^7.22.10"
"@babel/types" "^7.22.10"
"@babel/helpers@^7.22.6": "@babel/helpers@^7.22.6":
version "7.22.6" version "7.22.6"
resolved "https://mirrors.cloud.tencent.com/npm/@babel/helpers/-/helpers-7.22.6.tgz#8e61d3395a4f0c5a8060f309fb008200969b5ecd" resolved "https://mirrors.cloud.tencent.com/npm/@babel/helpers/-/helpers-7.22.6.tgz#8e61d3395a4f0c5a8060f309fb008200969b5ecd"
@@ -261,6 +320,15 @@
"@babel/traverse" "^7.22.6" "@babel/traverse" "^7.22.6"
"@babel/types" "^7.22.5" "@babel/types" "^7.22.5"
"@babel/highlight@^7.22.10":
version "7.22.10"
resolved "https://mirrors.cloud.tencent.com/npm/@babel/highlight/-/highlight-7.22.10.tgz#02a3f6d8c1cb4521b2fd0ab0da8f4739936137d7"
integrity sha512-78aUtVcT7MUscr0K5mIEnkwxPE0MaxkR5RxRwuHaQ+JuU5AmTPhY+do2mdzVTnIJJpyBglql2pehuBIWHug+WQ==
dependencies:
"@babel/helper-validator-identifier" "^7.22.5"
chalk "^2.4.2"
js-tokens "^4.0.0"
"@babel/highlight@^7.22.5": "@babel/highlight@^7.22.5":
version "7.22.5" version "7.22.5"
resolved "https://mirrors.cloud.tencent.com/npm/@babel/highlight/-/highlight-7.22.5.tgz#aa6c05c5407a67ebce408162b7ede789b4d22031" resolved "https://mirrors.cloud.tencent.com/npm/@babel/highlight/-/highlight-7.22.5.tgz#aa6c05c5407a67ebce408162b7ede789b4d22031"
@@ -275,6 +343,11 @@
resolved "https://mirrors.cloud.tencent.com/npm/@babel/parser/-/parser-7.22.7.tgz#df8cf085ce92ddbdbf668a7f186ce848c9036cae" resolved "https://mirrors.cloud.tencent.com/npm/@babel/parser/-/parser-7.22.7.tgz#df8cf085ce92ddbdbf668a7f186ce848c9036cae"
integrity sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q== integrity sha512-7NF8pOkHP5o2vpmGgNGcfAeCvOYhGLyA3Z4eBQkT1RJlWu47n63bCs93QfJ2hIAFCil7L5P2IWhs1oToVgrL0Q==
"@babel/parser@^7.22.10":
version "7.22.10"
resolved "https://mirrors.cloud.tencent.com/npm/@babel/parser/-/parser-7.22.10.tgz#e37634f9a12a1716136c44624ef54283cabd3f55"
integrity sha512-lNbdGsQb9ekfsnjFGhEiF4hfFqGgfOP3H3d27re3n+CGhNuTSUEQdfWk556sTLNTloczcdM5TYF2LhzmDQKyvQ==
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.5": "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.22.5":
version "7.22.5" version "7.22.5"
resolved "https://mirrors.cloud.tencent.com/npm/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz#87245a21cd69a73b0b81bcda98d443d6df08f05e" resolved "https://mirrors.cloud.tencent.com/npm/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.22.5.tgz#87245a21cd69a73b0b81bcda98d443d6df08f05e"
@@ -1143,6 +1216,22 @@
debug "^4.1.0" debug "^4.1.0"
globals "^11.1.0" globals "^11.1.0"
"@babel/traverse@^7.22.10":
version "7.22.10"
resolved "https://mirrors.cloud.tencent.com/npm/@babel/traverse/-/traverse-7.22.10.tgz#20252acb240e746d27c2e82b4484f199cf8141aa"
integrity sha512-Q/urqV4pRByiNNpb/f5OSv28ZlGJiFiiTh+GAHktbIrkPhPbl90+uW6SmpoLyZqutrg9AEaEf3Q/ZBRHBXgxig==
dependencies:
"@babel/code-frame" "^7.22.10"
"@babel/generator" "^7.22.10"
"@babel/helper-environment-visitor" "^7.22.5"
"@babel/helper-function-name" "^7.22.5"
"@babel/helper-hoist-variables" "^7.22.5"
"@babel/helper-split-export-declaration" "^7.22.6"
"@babel/parser" "^7.22.10"
"@babel/types" "^7.22.10"
debug "^4.1.0"
globals "^11.1.0"
"@babel/types@^7.21.3", "@babel/types@^7.21.5", "@babel/types@^7.22.5", "@babel/types@^7.4.4": "@babel/types@^7.21.3", "@babel/types@^7.21.5", "@babel/types@^7.22.5", "@babel/types@^7.4.4":
version "7.22.5" version "7.22.5"
resolved "https://mirrors.cloud.tencent.com/npm/@babel/types/-/types-7.22.5.tgz#cd93eeaab025880a3a47ec881f4b096a5b786fbe" resolved "https://mirrors.cloud.tencent.com/npm/@babel/types/-/types-7.22.5.tgz#cd93eeaab025880a3a47ec881f4b096a5b786fbe"
@@ -1152,6 +1241,15 @@
"@babel/helper-validator-identifier" "^7.22.5" "@babel/helper-validator-identifier" "^7.22.5"
to-fast-properties "^2.0.0" to-fast-properties "^2.0.0"
"@babel/types@^7.22.10":
version "7.22.10"
resolved "https://mirrors.cloud.tencent.com/npm/@babel/types/-/types-7.22.10.tgz#4a9e76446048f2c66982d1a989dd12b8a2d2dc03"
integrity sha512-obaoigiLrlDZ7TUQln/8m4mSqIW2QFeOrCQc9r+xsaHGNoplVNYlRVpsfE8Vj35GEm2ZH4ZhrNYogs/3fj85kg==
dependencies:
"@babel/helper-string-parser" "^7.22.5"
"@babel/helper-validator-identifier" "^7.22.5"
to-fast-properties "^2.0.0"
"@electron-toolkit/preload@^2.0.0": "@electron-toolkit/preload@^2.0.0":
version "2.0.0" version "2.0.0"
resolved "https://mirrors.cloud.tencent.com/npm/@electron-toolkit/preload/-/preload-2.0.0.tgz#1b704c4c4643ae1d960835db196625e17c9dcf4e" resolved "https://mirrors.cloud.tencent.com/npm/@electron-toolkit/preload/-/preload-2.0.0.tgz#1b704c4c4643ae1d960835db196625e17c9dcf4e"
@@ -2343,10 +2441,10 @@
resolved "https://mirrors.cloud.tencent.com/npm/@types/node/-/node-20.4.5.tgz#9dc0a5cb1ccce4f7a731660935ab70b9c00a5d69" resolved "https://mirrors.cloud.tencent.com/npm/@types/node/-/node-20.4.5.tgz#9dc0a5cb1ccce4f7a731660935ab70b9c00a5d69"
integrity sha512-rt40Nk13II9JwQBdeYqmbn2Q6IVTA5uPhvSO+JVqdXw/6/4glI6oR9ezty/A9Hg5u7JH4OmYmuQ+XvjKm0Datg== integrity sha512-rt40Nk13II9JwQBdeYqmbn2Q6IVTA5uPhvSO+JVqdXw/6/4glI6oR9ezty/A9Hg5u7JH4OmYmuQ+XvjKm0Datg==
"@types/node@^20.4.7": "@types/node@^20.4.9":
version "20.4.7" version "20.4.9"
resolved "https://mirrors.cloud.tencent.com/npm/@types/node/-/node-20.4.7.tgz#74d323a93f1391a63477b27b9aec56669c98b2ab" resolved "https://mirrors.cloud.tencent.com/npm/@types/node/-/node-20.4.9.tgz#c7164e0f8d3f12dfae336af0b1f7fdec8c6b204f"
integrity sha512-bUBrPjEry2QUTsnuEjzjbS7voGWCc30W0qzgMf90GPeDGFRakvrz47ju+oqDAKCXLUCe39u57/ORMl/O/04/9g== integrity sha512-8e2HYcg7ohnTUbHk8focoklEQYvemQmu9M/f43DZVx43kHn0tE3BY/6gSDxS7k0SprtS0NHvj+L80cGLnoOUcQ==
"@types/parse-json@^4.0.0": "@types/parse-json@^4.0.0":
version "4.0.0" version "4.0.0"
@@ -2389,7 +2487,7 @@
dependencies: dependencies:
"@types/react" "*" "@types/react" "*"
"@types/react@*", "@types/react@^18.2.18": "@types/react@*":
version "18.2.18" version "18.2.18"
resolved "https://mirrors.cloud.tencent.com/npm/@types/react/-/react-18.2.18.tgz#c8b233919eef1bdc294f6f34b37f9727ad677516" resolved "https://mirrors.cloud.tencent.com/npm/@types/react/-/react-18.2.18.tgz#c8b233919eef1bdc294f6f34b37f9727ad677516"
integrity sha512-da4NTSeBv/P34xoZPhtcLkmZuJ+oYaCxHmyHzwaDQo9RQPBeXV+06gEk2FpqEcsX9XrnNLvRpVh6bdavDSjtiQ== integrity sha512-da4NTSeBv/P34xoZPhtcLkmZuJ+oYaCxHmyHzwaDQo9RQPBeXV+06gEk2FpqEcsX9XrnNLvRpVh6bdavDSjtiQ==
@@ -2398,6 +2496,15 @@
"@types/scheduler" "*" "@types/scheduler" "*"
csstype "^3.0.2" csstype "^3.0.2"
"@types/react@^18.2.19":
version "18.2.19"
resolved "https://mirrors.cloud.tencent.com/npm/@types/react/-/react-18.2.19.tgz#f77cb2c8307368e624d464a25b9675fa35f95a8b"
integrity sha512-e2S8wmY1ePfM517PqCG80CcE48Xs5k0pwJzuDZsfE8IZRRBfOMCF+XqnFxu6mWtyivum1MQm4aco+WIt6Coimw==
dependencies:
"@types/prop-types" "*"
"@types/scheduler" "*"
csstype "^3.0.2"
"@types/resolve@1.17.1": "@types/resolve@1.17.1":
version "1.17.1" version "1.17.1"
resolved "https://mirrors.cloud.tencent.com/npm/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6" resolved "https://mirrors.cloud.tencent.com/npm/@types/resolve/-/resolve-1.17.1.tgz#3afd6ad8967c77e4376c598a82ddd58f46ec45d6"
@@ -2490,16 +2597,16 @@
dependencies: dependencies:
"@types/yargs-parser" "*" "@types/yargs-parser" "*"
"@typescript-eslint/eslint-plugin@^6.2.1": "@typescript-eslint/eslint-plugin@^6.3.0":
version "6.2.1" version "6.3.0"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.2.1.tgz#41b79923fee46a745a3a50cba1c33c622aa3c79a" resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.3.0.tgz#e751e148aab7ccaf8a7bfd370f7ce9e6bdd1f3f4"
integrity sha512-iZVM/ALid9kO0+I81pnp1xmYiFyqibAHzrqX4q5YvvVEyJqY+e6rfTXSCsc2jUxGNqJqTfFSSij/NFkZBiBzLw== integrity sha512-IZYjYZ0ifGSLZbwMqIip/nOamFiWJ9AH+T/GYNZBWkVcyNQOFGtSMoWV7RvY4poYCMZ/4lHzNl796WOSNxmk8A==
dependencies: dependencies:
"@eslint-community/regexpp" "^4.5.1" "@eslint-community/regexpp" "^4.5.1"
"@typescript-eslint/scope-manager" "6.2.1" "@typescript-eslint/scope-manager" "6.3.0"
"@typescript-eslint/type-utils" "6.2.1" "@typescript-eslint/type-utils" "6.3.0"
"@typescript-eslint/utils" "6.2.1" "@typescript-eslint/utils" "6.3.0"
"@typescript-eslint/visitor-keys" "6.2.1" "@typescript-eslint/visitor-keys" "6.3.0"
debug "^4.3.4" debug "^4.3.4"
graphemer "^1.4.0" graphemer "^1.4.0"
ignore "^5.2.4" ignore "^5.2.4"
@@ -2508,72 +2615,72 @@
semver "^7.5.4" semver "^7.5.4"
ts-api-utils "^1.0.1" ts-api-utils "^1.0.1"
"@typescript-eslint/parser@^6.2.1": "@typescript-eslint/parser@^6.3.0":
version "6.2.1" version "6.3.0"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/parser/-/parser-6.2.1.tgz#e18a31eea1cca8841a565f1701960c8123ed07f9" resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/parser/-/parser-6.3.0.tgz#359684c443f4f848db3c4f14674f544f169c8f46"
integrity sha512-Ld+uL1kYFU8e6btqBFpsHkwQ35rw30IWpdQxgOqOh4NfxSDH6uCkah1ks8R/RgQqI5hHPXMaLy9fbFseIe+dIg== integrity sha512-ibP+y2Gr6p0qsUkhs7InMdXrwldjxZw66wpcQq9/PzAroM45wdwyu81T+7RibNCh8oc0AgrsyCwJByncY0Ongg==
dependencies: dependencies:
"@typescript-eslint/scope-manager" "6.2.1" "@typescript-eslint/scope-manager" "6.3.0"
"@typescript-eslint/types" "6.2.1" "@typescript-eslint/types" "6.3.0"
"@typescript-eslint/typescript-estree" "6.2.1" "@typescript-eslint/typescript-estree" "6.3.0"
"@typescript-eslint/visitor-keys" "6.2.1" "@typescript-eslint/visitor-keys" "6.3.0"
debug "^4.3.4" debug "^4.3.4"
"@typescript-eslint/scope-manager@6.2.1": "@typescript-eslint/scope-manager@6.3.0":
version "6.2.1" version "6.3.0"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/scope-manager/-/scope-manager-6.2.1.tgz#b6f43a867b84e5671fe531f2b762e0b68f7cf0c4" resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/scope-manager/-/scope-manager-6.3.0.tgz#6b74e338c4b88d5e1dfc1a28c570dd5cf8c86b09"
integrity sha512-UCqBF9WFqv64xNsIEPfBtenbfodPXsJ3nPAr55mGPkQIkiQvgoWNo+astj9ZUfJfVKiYgAZDMnM6dIpsxUMp3Q== integrity sha512-WlNFgBEuGu74ahrXzgefiz/QlVb+qg8KDTpknKwR7hMH+lQygWyx0CQFoUmMn1zDkQjTBBIn75IxtWss77iBIQ==
dependencies: dependencies:
"@typescript-eslint/types" "6.2.1" "@typescript-eslint/types" "6.3.0"
"@typescript-eslint/visitor-keys" "6.2.1" "@typescript-eslint/visitor-keys" "6.3.0"
"@typescript-eslint/type-utils@6.2.1": "@typescript-eslint/type-utils@6.3.0":
version "6.2.1" version "6.3.0"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/type-utils/-/type-utils-6.2.1.tgz#8eb8a2cccdf39cd7cf93e02bd2c3782dc90b0525" resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/type-utils/-/type-utils-6.3.0.tgz#3bf89ccd36621ddec1b7f8246afe467c67adc247"
integrity sha512-fTfCgomBMIgu2Dh2Or3gMYgoNAnQm3RLtRp+jP7A8fY+LJ2+9PNpi5p6QB5C4RSP+U3cjI0vDlI3mspAkpPVbQ== integrity sha512-7Oj+1ox1T2Yc8PKpBvOKWhoI/4rWFd1j7FA/rPE0lbBPXTKjdbtC+7Ev0SeBjEKkIhKWVeZSP+mR7y1Db1CdfQ==
dependencies: dependencies:
"@typescript-eslint/typescript-estree" "6.2.1" "@typescript-eslint/typescript-estree" "6.3.0"
"@typescript-eslint/utils" "6.2.1" "@typescript-eslint/utils" "6.3.0"
debug "^4.3.4" debug "^4.3.4"
ts-api-utils "^1.0.1" ts-api-utils "^1.0.1"
"@typescript-eslint/types@6.2.1": "@typescript-eslint/types@6.3.0":
version "6.2.1" version "6.3.0"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/types/-/types-6.2.1.tgz#7fcdeceb503aab601274bf5e210207050d88c8ab" resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/types/-/types-6.3.0.tgz#84517f1427923e714b8418981e493b6635ab4c9d"
integrity sha512-528bGcoelrpw+sETlyM91k51Arl2ajbNT9L4JwoXE2dvRe1yd8Q64E4OL7vHYw31mlnVsf+BeeLyAZUEQtqahQ== integrity sha512-K6TZOvfVyc7MO9j60MkRNWyFSf86IbOatTKGrpTQnzarDZPYPVy0oe3myTMq7VjhfsUAbNUW8I5s+2lZvtx1gg==
"@typescript-eslint/typescript-estree@6.2.1": "@typescript-eslint/typescript-estree@6.3.0":
version "6.2.1" version "6.3.0"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/typescript-estree/-/typescript-estree-6.2.1.tgz#2af6e90c1e91cb725a5fe1682841a3f74549389e" resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/typescript-estree/-/typescript-estree-6.3.0.tgz#20e1e10e2f51cdb9e19a2751215cac92c003643c"
integrity sha512-G+UJeQx9AKBHRQBpmvr8T/3K5bJa485eu+4tQBxFq0KoT22+jJyzo1B50JDT9QdC1DEmWQfdKsa8ybiNWYsi0Q== integrity sha512-Xh4NVDaC4eYKY4O3QGPuQNp5NxBAlEvNQYOqJquR2MePNxO11E5K3t5x4M4Mx53IZvtpW+mBxIT0s274fLUocg==
dependencies: dependencies:
"@typescript-eslint/types" "6.2.1" "@typescript-eslint/types" "6.3.0"
"@typescript-eslint/visitor-keys" "6.2.1" "@typescript-eslint/visitor-keys" "6.3.0"
debug "^4.3.4" debug "^4.3.4"
globby "^11.1.0" globby "^11.1.0"
is-glob "^4.0.3" is-glob "^4.0.3"
semver "^7.5.4" semver "^7.5.4"
ts-api-utils "^1.0.1" ts-api-utils "^1.0.1"
"@typescript-eslint/utils@6.2.1": "@typescript-eslint/utils@6.3.0":
version "6.2.1" version "6.3.0"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/utils/-/utils-6.2.1.tgz#2aa4279ec13053d05615bcbde2398e1e8f08c334" resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/utils/-/utils-6.3.0.tgz#0898c5e374372c2092ca1b979ea7ee9cc020ce84"
integrity sha512-eBIXQeupYmxVB6S7x+B9SdBeB6qIdXKjgQBge2J+Ouv8h9Cxm5dHf/gfAZA6dkMaag+03HdbVInuXMmqFB/lKQ== integrity sha512-hLLg3BZE07XHnpzglNBG8P/IXq/ZVXraEbgY7FM0Cnc1ehM8RMdn9mat3LubJ3KBeYXXPxV1nugWbQPjGeJk6Q==
dependencies: dependencies:
"@eslint-community/eslint-utils" "^4.4.0" "@eslint-community/eslint-utils" "^4.4.0"
"@types/json-schema" "^7.0.12" "@types/json-schema" "^7.0.12"
"@types/semver" "^7.5.0" "@types/semver" "^7.5.0"
"@typescript-eslint/scope-manager" "6.2.1" "@typescript-eslint/scope-manager" "6.3.0"
"@typescript-eslint/types" "6.2.1" "@typescript-eslint/types" "6.3.0"
"@typescript-eslint/typescript-estree" "6.2.1" "@typescript-eslint/typescript-estree" "6.3.0"
semver "^7.5.4" semver "^7.5.4"
"@typescript-eslint/visitor-keys@6.2.1": "@typescript-eslint/visitor-keys@6.3.0":
version "6.2.1" version "6.3.0"
resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/visitor-keys/-/visitor-keys-6.2.1.tgz#442e7c09fe94b715a54ebe30e967987c3c41fbf4" resolved "https://mirrors.cloud.tencent.com/npm/@typescript-eslint/visitor-keys/-/visitor-keys-6.3.0.tgz#8d09aa3e389ae0971426124c155ac289afbe450a"
integrity sha512-iTN6w3k2JEZ7cyVdZJTVJx2Lv7t6zFA8DCrJEHD2mwfc16AEvvBWVhbFh34XyG2NORCd0viIgQY1+u7kPI0WpA== integrity sha512-kEhRRj7HnvaSjux1J9+7dBen15CdWmDnwrpyiHsFX6Qx2iW5LOBUgNefOFeh2PjWPlNwN8TOn6+4eBU3J/gupw==
dependencies: dependencies:
"@typescript-eslint/types" "6.2.1" "@typescript-eslint/types" "6.3.0"
eslint-visitor-keys "^3.4.1" eslint-visitor-keys "^3.4.1"
"@udecode/plate-alignment@16.8.0": "@udecode/plate-alignment@16.8.0":
@@ -3843,7 +3950,7 @@ caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001464, caniuse-lite@^1.0.30001517:
resolved "https://mirrors.cloud.tencent.com/npm/caniuse-lite/-/caniuse-lite-1.0.30001518.tgz#b3ca93904cb4699c01218246c4d77a71dbe97150" resolved "https://mirrors.cloud.tencent.com/npm/caniuse-lite/-/caniuse-lite-1.0.30001518.tgz#b3ca93904cb4699c01218246c4d77a71dbe97150"
integrity sha512-rup09/e3I0BKjncL+FesTayKtPrdwKhUufQFd3riFw1hHg8JmIFoInYfB102cFcY/pPgGmdyl/iy+jgiDi2vdA== integrity sha512-rup09/e3I0BKjncL+FesTayKtPrdwKhUufQFd3riFw1hHg8JmIFoInYfB102cFcY/pPgGmdyl/iy+jgiDi2vdA==
chalk@^2.0.0: chalk@^2.0.0, chalk@^2.4.2:
version "2.4.2" version "2.4.2"
resolved "https://mirrors.cloud.tencent.com/npm/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" resolved "https://mirrors.cloud.tencent.com/npm/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -4755,10 +4862,10 @@ escape-string-regexp@^4.0.0:
resolved "https://mirrors.cloud.tencent.com/npm/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" resolved "https://mirrors.cloud.tencent.com/npm/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
eslint-config-prettier@^8.10.0: eslint-config-prettier@^9.0.0:
version "8.10.0" version "9.0.0"
resolved "https://mirrors.cloud.tencent.com/npm/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz#3a06a662130807e2502fc3ff8b4143d8a0658e11" resolved "https://mirrors.cloud.tencent.com/npm/eslint-config-prettier/-/eslint-config-prettier-9.0.0.tgz#eb25485946dd0c66cd216a46232dc05451518d1f"
integrity sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg== integrity sha512-IcJsTkJae2S35pRsRAwoCE+925rJJStOdkKnLVgtE+tEpqU0EVVM7OqrwxqgptKdX29NUwC82I5pXsGFIgSevw==
eslint-import-resolver-node@^0.3.7: eslint-import-resolver-node@^0.3.7:
version "0.3.7" version "0.3.7"
@@ -5306,10 +5413,10 @@ fraction.js@^4.2.0:
resolved "https://mirrors.cloud.tencent.com/npm/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" resolved "https://mirrors.cloud.tencent.com/npm/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950"
integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==
framer-motion@^10.15.0: framer-motion@^10.15.1:
version "10.15.0" version "10.15.1"
resolved "https://mirrors.cloud.tencent.com/npm/framer-motion/-/framer-motion-10.15.0.tgz#5f043fdd4edb2c29a0a5e86cce1f67b88dcdc768" resolved "https://mirrors.cloud.tencent.com/npm/framer-motion/-/framer-motion-10.15.1.tgz#c80ba7afc90fa0d5ac2dad9a077cc1bf6e03692a"
integrity sha512-HDjWrYWgbO5orKuhnXETLFzk7UUvwWur2HFs2elAZ8lVpI49ClHql31DNTVvVBcOrSHfAOS4eBDBedIvOx634w== integrity sha512-6avJj/Uftblw0fMmo6jDHkKRH4TBdkMX/FiyR3G/hFe3hQHE4BUNJCqlMPKg9EzfI5jyqDOwO5oDnU+bW5y0eg==
dependencies: dependencies:
tslib "^2.4.0" tslib "^2.4.0"
optionalDependencies: optionalDependencies:
@@ -5799,10 +5906,10 @@ i18next-http-backend@^2.2.1:
dependencies: dependencies:
cross-fetch "3.1.6" cross-fetch "3.1.6"
i18next@^23.4.1: i18next@^23.4.4:
version "23.4.1" version "23.4.4"
resolved "https://mirrors.cloud.tencent.com/npm/i18next/-/i18next-23.4.1.tgz#11fe0db92ac8a4125934960ebccf6a5f8ed6b9fc" resolved "https://mirrors.cloud.tencent.com/npm/i18next/-/i18next-23.4.4.tgz#ec8fb2b5f3c5d8e3bf3f8ab1b19e743be91300e0"
integrity sha512-07ekE7hbUrbxTYj97VnBzyhKcGURTJC9p4iWTwCVC8t63T+YrgqQmb/n1LBQMivZYwR61pqS+PC0G2rtENycyQ== integrity sha512-+c9B0txp/x1m5zn+QlwHaCS9vyFtmIAEXbVSFzwCX7vupm5V7va8F9cJGNJZ46X9ZtoGzhIiRC7eTIIh93TxPA==
dependencies: dependencies:
"@babel/runtime" "^7.22.5" "@babel/runtime" "^7.22.5"
@@ -8047,10 +8154,10 @@ react-viewport-list@^7.1.1:
resolved "https://mirrors.cloud.tencent.com/npm/react-viewport-list/-/react-viewport-list-7.1.1.tgz#2f36ad1db8124e8a960bc006b95228b696cc81d6" resolved "https://mirrors.cloud.tencent.com/npm/react-viewport-list/-/react-viewport-list-7.1.1.tgz#2f36ad1db8124e8a960bc006b95228b696cc81d6"
integrity sha512-O3gxykg3DgpcyYH+/X2kFwWFaZjckJ0FK3UBb4vFhZe+CsGLcX8OVJb0VSYI+IupEuQ9pl8dvJak8JRkIuvNjw== integrity sha512-O3gxykg3DgpcyYH+/X2kFwWFaZjckJ0FK3UBb4vFhZe+CsGLcX8OVJb0VSYI+IupEuQ9pl8dvJak8JRkIuvNjw==
react-virtuoso@^4.4.2: react-virtuoso@^4.5.0:
version "4.4.2" version "4.5.0"
resolved "https://mirrors.cloud.tencent.com/npm/react-virtuoso/-/react-virtuoso-4.4.2.tgz#752438e5031a9f72722371a52ae5ac7265f3e1c0" resolved "https://mirrors.cloud.tencent.com/npm/react-virtuoso/-/react-virtuoso-4.5.0.tgz#0bc043b4e3e928e7891aa541dd7e55d5b46db8c8"
integrity sha512-9uChSRSK5bTbKTxzuta4RqhfrlZSVHI/v8fHwmv3jmImS8FjdZ4Mzgqz9JKUp/yQo3dIHkR2QwidQeqxgYzPhQ== integrity sha512-OMP6XrzJMMos1vbJZC16RxGW7utAxUMP7i5PNPi6epBNVH7nz+CF/DlmecNBep5wyjLud51dQ5epjb2A0w9W/Q==
react@^18.2.0: react@^18.2.0:
version "18.2.0" version "18.2.0"