diff --git a/packages/client/src/pages/PortalSettings/categories/data-import/GoogleWorkspace/Stepper/ImportCompleteStep/index.js b/packages/client/src/pages/PortalSettings/categories/data-import/GoogleWorkspace/Stepper/ImportCompleteStep/index.js index 97b5bcbf65..a8a01c4d72 100644 --- a/packages/client/src/pages/PortalSettings/categories/data-import/GoogleWorkspace/Stepper/ImportCompleteStep/index.js +++ b/packages/client/src/pages/PortalSettings/categories/data-import/GoogleWorkspace/Stepper/ImportCompleteStep/index.js @@ -1,4 +1,4 @@ -import { useState } from "react"; +import { useState, useEffect } from "react"; import { inject, observer } from "mobx-react"; import { useNavigate } from "react-router-dom"; import styled from "styled-components"; @@ -33,13 +33,17 @@ const ErrorText = styled(Text)` const ImportCompleteStep = ({ t, - checkedUsers, - importResult, getMigrationLog, clearCheckedAccounts, sendWelcomeLetter, + cancelMigration, + getMigrationStatus, }) => { const [isChecked, setIsChecked] = useState(false); + const [importResult, setImportResult] = useState({ + succeedUsers: 0, + failedUsers: 0, + }); const navigate = useNavigate(); const onDownloadLog = async () => { @@ -67,10 +71,20 @@ const ImportCompleteStep = ({ if (isChecked) { sendWelcomeLetter({ isSendWelcomeEmail: true }); } - navigate(-1); clearCheckedAccounts(); + cancelMigration(); + setTimeout(() => navigate(-1), 1000); }; + useEffect(() => { + getMigrationStatus().then((res) => + setImportResult({ + succeedUsers: res.parseResult.succeedUsers, + failedUsers: res.parseResult.failedUsers, + }), + ); + }, []); + return ( <> @@ -119,18 +133,18 @@ const ImportCompleteStep = ({ export default inject(({ importAccountsStore }) => { const { - checkedUsers, - importResult, getMigrationLog, clearCheckedAccounts, sendWelcomeLetter, + cancelMigration, + getMigrationStatus, } = importAccountsStore; return { - checkedUsers, - importResult, getMigrationLog, clearCheckedAccounts, sendWelcomeLetter, + cancelMigration, + getMigrationStatus, }; })(observer(ImportCompleteStep)); diff --git a/packages/client/src/pages/PortalSettings/categories/data-import/GoogleWorkspace/Stepper/ImportProcessingStep/index.js b/packages/client/src/pages/PortalSettings/categories/data-import/GoogleWorkspace/Stepper/ImportProcessingStep/index.js index 43d3a63c2c..fdc47e6d89 100644 --- a/packages/client/src/pages/PortalSettings/categories/data-import/GoogleWorkspace/Stepper/ImportProcessingStep/index.js +++ b/packages/client/src/pages/PortalSettings/categories/data-import/GoogleWorkspace/Stepper/ImportProcessingStep/index.js @@ -24,7 +24,6 @@ const ImportProcessingStep = ({ proceedFileMigration, cancelMigration, getMigrationStatus, - setImportResult, }) => { // const [isVisible, setIsVisible] = useState(false); const [percent, setPercent] = useState(0); @@ -39,10 +38,9 @@ const ImportProcessingStep = ({ setPercent(res.progress); - if (res.isCompleted) { + if (res.isCompleted || res.progress === 100) { clearInterval(uploadInterval.current); setIsLoading(false); - setImportResult(res.parseResult); onNextStep(); } }, 1000); @@ -57,7 +55,7 @@ const ImportProcessingStep = ({ // const onCancel = () => { // setIsVisible(true); // }; - + // const handleCancelMigration = () => { // setIsLoading(false); // cancelMigration(); @@ -65,6 +63,8 @@ const ImportProcessingStep = ({ useEffect(() => { handleFileMigration(); + + return () => clearInterval(uploadInterval.current); }, []); return ( @@ -95,7 +95,6 @@ export default inject(({ importAccountsStore }) => { proceedFileMigration, cancelMigration, getMigrationStatus, - setImportResult, } = importAccountsStore; return { @@ -103,6 +102,5 @@ export default inject(({ importAccountsStore }) => { proceedFileMigration, cancelMigration, getMigrationStatus, - setImportResult, }; })(observer(ImportProcessingStep)); diff --git a/packages/client/src/pages/PortalSettings/categories/data-import/NextCloudWorkspace/Stepper/ImportCompleteStep/index.js b/packages/client/src/pages/PortalSettings/categories/data-import/NextCloudWorkspace/Stepper/ImportCompleteStep/index.js index e3c2493c27..c598338f66 100644 --- a/packages/client/src/pages/PortalSettings/categories/data-import/NextCloudWorkspace/Stepper/ImportCompleteStep/index.js +++ b/packages/client/src/pages/PortalSettings/categories/data-import/NextCloudWorkspace/Stepper/ImportCompleteStep/index.js @@ -1,4 +1,4 @@ -import { useState } from "react"; +import { useState, useEffect } from "react"; import { inject, observer } from "mobx-react"; import { useNavigate } from "react-router-dom"; import styled from "styled-components"; @@ -18,13 +18,17 @@ const ErrorText = styled(Text)` const ImportCompleteStep = ({ t, - checkedUsers, - importResult, getMigrationLog, clearCheckedAccounts, sendWelcomeLetter, + cancelMigration, + getMigrationStatus, }) => { const [isChecked, setIsChecked] = useState(false); + const [importResult, setImportResult] = useState({ + succeedUsers: 0, + failedUsers: 0, + }); const navigate = useNavigate(); const onDownloadLog = async () => { @@ -52,10 +56,20 @@ const ImportCompleteStep = ({ if (isChecked) { sendWelcomeLetter({ isSendWelcomeEmail: true }); } - navigate(-1); clearCheckedAccounts(); + cancelMigration(); + setTimeout(() => navigate(-1), 1000); }; + useEffect(() => { + getMigrationStatus().then((res) => + setImportResult({ + succeedUsers: res.parseResult.succeedUsers, + failedUsers: res.parseResult.failedUsers, + }), + ); + }, []); + return ( @@ -102,18 +116,18 @@ const ImportCompleteStep = ({ export default inject(({ importAccountsStore }) => { const { - checkedUsers, - importResult, getMigrationLog, clearCheckedAccounts, sendWelcomeLetter, + cancelMigration, + getMigrationStatus, } = importAccountsStore; return { - checkedUsers, - importResult, getMigrationLog, clearCheckedAccounts, sendWelcomeLetter, + cancelMigration, + getMigrationStatus, }; })(observer(ImportCompleteStep)); diff --git a/packages/client/src/pages/PortalSettings/categories/data-import/NextCloudWorkspace/Stepper/ImportProcessingStep/index.js b/packages/client/src/pages/PortalSettings/categories/data-import/NextCloudWorkspace/Stepper/ImportProcessingStep/index.js index 63f6e3875a..defbef32b6 100644 --- a/packages/client/src/pages/PortalSettings/categories/data-import/NextCloudWorkspace/Stepper/ImportProcessingStep/index.js +++ b/packages/client/src/pages/PortalSettings/categories/data-import/NextCloudWorkspace/Stepper/ImportProcessingStep/index.js @@ -15,7 +15,6 @@ const ImportProcessingStep = ({ proceedFileMigration, cancelMigration, getMigrationStatus, - setImportResult, }) => { // const [isVisible, setIsVisible] = useState(false); const [percent, setPercent] = useState(0); @@ -30,10 +29,9 @@ const ImportProcessingStep = ({ setPercent(res.progress); - if (res.isCompleted) { + if (res.isCompleted || res.progress === 100) { clearInterval(uploadInterval.current); setIsLoading(false); - setImportResult(res.parseResult); incrementStep(); } }, 1000); @@ -56,6 +54,8 @@ const ImportProcessingStep = ({ useEffect(() => { handleFileMigration(); + + return () => clearInterval(uploadInterval.current); }, []); return ( @@ -87,7 +87,6 @@ export default inject(({ importAccountsStore }) => { proceedFileMigration, cancelMigration, getMigrationStatus, - setImportResult, } = importAccountsStore; return { @@ -95,6 +94,5 @@ export default inject(({ importAccountsStore }) => { proceedFileMigration, cancelMigration, getMigrationStatus, - setImportResult, }; })(observer(ImportProcessingStep)); diff --git a/packages/client/src/pages/PortalSettings/categories/data-import/OnlyofficeWorkspace/Stepper/ImportCompleteStep/index.js b/packages/client/src/pages/PortalSettings/categories/data-import/OnlyofficeWorkspace/Stepper/ImportCompleteStep/index.js index e1c1c5e052..6d5912887f 100644 --- a/packages/client/src/pages/PortalSettings/categories/data-import/OnlyofficeWorkspace/Stepper/ImportCompleteStep/index.js +++ b/packages/client/src/pages/PortalSettings/categories/data-import/OnlyofficeWorkspace/Stepper/ImportCompleteStep/index.js @@ -1,4 +1,4 @@ -import { useState } from "react"; +import { useState, useEffect } from "react"; import { inject, observer } from "mobx-react"; import { useNavigate } from "react-router-dom"; import styled from "styled-components"; @@ -33,13 +33,17 @@ const ErrorText = styled(Text)` const ImportCompleteStep = ({ t, - checkedUsers, - importResult, getMigrationLog, clearCheckedAccounts, sendWelcomeLetter, + cancelMigration, + getMigrationStatus, }) => { const [isChecked, setIsChecked] = useState(false); + const [importResult, setImportResult] = useState({ + succeedUsers: 0, + failedUsers: 0, + }); const navigate = useNavigate(); const onDownloadLog = async () => { @@ -71,6 +75,15 @@ const ImportCompleteStep = ({ clearCheckedAccounts(); }; + useEffect(() => { + getMigrationStatus().then((res) => + setImportResult({ + succeedUsers: res.parseResult.succeedUsers, + failedUsers: res.parseResult.failedUsers, + }), + ); + }, []); + return ( <> @@ -119,18 +132,18 @@ const ImportCompleteStep = ({ export default inject(({ importAccountsStore }) => { const { - checkedUsers, - importResult, getMigrationLog, clearCheckedAccounts, sendWelcomeLetter, + cancelMigration, + getMigrationStatus, } = importAccountsStore; return { - checkedUsers, - importResult, getMigrationLog, clearCheckedAccounts, sendWelcomeLetter, + cancelMigration, + getMigrationStatus, }; })(observer(ImportCompleteStep)); diff --git a/packages/client/src/pages/PortalSettings/categories/data-import/OnlyofficeWorkspace/Stepper/ImportProcessingStep/index.js b/packages/client/src/pages/PortalSettings/categories/data-import/OnlyofficeWorkspace/Stepper/ImportProcessingStep/index.js index 2e061c9ab3..50fd8ae3bd 100644 --- a/packages/client/src/pages/PortalSettings/categories/data-import/OnlyofficeWorkspace/Stepper/ImportProcessingStep/index.js +++ b/packages/client/src/pages/PortalSettings/categories/data-import/OnlyofficeWorkspace/Stepper/ImportProcessingStep/index.js @@ -24,7 +24,6 @@ const ImportProcessingStep = ({ proceedFileMigration, cancelMigration, getMigrationStatus, - setImportResult, }) => { // const [isVisible, setIsVisible] = useState(false); const [percent, setPercent] = useState(0); @@ -39,10 +38,9 @@ const ImportProcessingStep = ({ setPercent(res.progress); - if (res.isCompleted) { + if (res.isCompleted || res.progress === 100) { clearInterval(uploadInterval.current); setIsLoading(false); - setImportResult(res.parseResult); onNextStep(); } }, 1000); @@ -65,6 +63,8 @@ const ImportProcessingStep = ({ useEffect(() => { handleFileMigration(); + + return () => clearInterval(uploadInterval.current); }, []); return ( @@ -95,7 +95,6 @@ export default inject(({ importAccountsStore }) => { proceedFileMigration, cancelMigration, getMigrationStatus, - setImportResult, } = importAccountsStore; return { @@ -103,6 +102,5 @@ export default inject(({ importAccountsStore }) => { proceedFileMigration, cancelMigration, getMigrationStatus, - setImportResult, }; })(observer(ImportProcessingStep)); diff --git a/packages/client/src/store/ImportAccountsStore.js b/packages/client/src/store/ImportAccountsStore.js index 7816f1e4d9..87ef6172cc 100644 --- a/packages/client/src/store/ImportAccountsStore.js +++ b/packages/client/src/store/ImportAccountsStore.js @@ -48,11 +48,6 @@ class ImportAccountsStore { importProjectFiles: true, }; - importResult = { - succeedUsers: 0, - failedUsers: 0, - }; - constructor() { makeAutoObservable(this); } @@ -79,13 +74,6 @@ class ImportAccountsStore { ); } - setImportResult = (parseResult) => { - this.importResult = { - succeedUsers: parseResult.successedUsers, - failedUsers: parseResult.failedUsers, - }; - }; - setResultUsers = () => { const checkedIds = this.checkedUsers.withoutEmail.map( (checkedUser) => checkedUser.key,