From aa14ed85ceb5aba70810e976819c653fb831e1e5 Mon Sep 17 00:00:00 2001 From: Elyor Djalilov Date: Tue, 30 Jul 2024 19:37:42 +0500 Subject: [PATCH] Web: Client: Data Import: refactoring --- .../components/ImportProcessingStep.tsx | 17 +++++---------- .../data-import/components/SelectFileStep.tsx | 21 +++++++------------ .../AccountsTable/RowView/UsersRowContent.tsx | 2 +- .../AccountsTable/RowView/index.tsx | 3 +-- .../AccountsTable/TableView/index.tsx | 3 +-- .../categories/data-import/index.tsx | 13 +++++------- 6 files changed, 20 insertions(+), 39 deletions(-) diff --git a/packages/client/src/pages/PortalSettings/categories/data-import/components/ImportProcessingStep.tsx b/packages/client/src/pages/PortalSettings/categories/data-import/components/ImportProcessingStep.tsx index a5998ff032..bfe081d041 100644 --- a/packages/client/src/pages/PortalSettings/categories/data-import/components/ImportProcessingStep.tsx +++ b/packages/client/src/pages/PortalSettings/categories/data-import/components/ImportProcessingStep.tsx @@ -42,7 +42,6 @@ const ImportProcessingStep = (props: ImportProcessingStepProps) => { const { t, migratorName, - incrementStep, setIsLoading, proceedFileMigration, @@ -50,8 +49,7 @@ const ImportProcessingStep = (props: ImportProcessingStepProps) => { } = props as InjectedImportProcessingStepProps; const [percent, setPercent] = useState(0); - const [isVisible, setIsVisible] = useState(false); - + const [isVisibleProgress, setIsVisibleProgress] = useState(false); const [failTries, setFailTries] = useState(FAIL_TRIES); const uploadInterval = useRef(); @@ -59,7 +57,7 @@ const ImportProcessingStep = (props: ImportProcessingStepProps) => { const handleFileMigration = async () => { setIsLoading(true); setPercent(0); - setIsVisible(true); + setIsVisibleProgress(true); try { await proceedFileMigration(migratorName); @@ -78,17 +76,12 @@ const ImportProcessingStep = (props: ImportProcessingStepProps) => { } setPercent(res.progress); - - if (res.progress > 10) { - setIsVisible(false); - } else { - setIsVisible(true); - } + setIsVisibleProgress(res.progress <= 10); if (res.isCompleted || res.progress === 100) { clearInterval(uploadInterval.current); setIsLoading(false); - setIsVisible(false); + setIsVisibleProgress(false); setPercent(100); setTimeout(() => { incrementStep(); @@ -111,7 +104,7 @@ const ImportProcessingStep = (props: ImportProcessingStepProps) => { diff --git a/packages/client/src/pages/PortalSettings/categories/data-import/components/SelectFileStep.tsx b/packages/client/src/pages/PortalSettings/categories/data-import/components/SelectFileStep.tsx index 3a0dcbc04b..919b7c6c06 100644 --- a/packages/client/src/pages/PortalSettings/categories/data-import/components/SelectFileStep.tsx +++ b/packages/client/src/pages/PortalSettings/categories/data-import/components/SelectFileStep.tsx @@ -89,18 +89,13 @@ const FileUploadContainer = styled.div` .cancelUploadButton { @media ${mobile} { margin-bottom: 0; - width: auto; - position: fixed; inset-inline: 0px; bottom: 0px; - padding: 16px; - background: ${(props) => props.theme.client.settings.migration.workspaceBackground}; - gap: 0; } } @@ -134,17 +129,14 @@ const FAIL_TRIES = 2; const SelectFileStep = (props: SelectFileStepProps) => { const { + t, isMultipleUpload, migratorName, acceptedExtensions, - - t, incrementStep, setWorkspace, - cancelUploadDialogVisible, setCancelUploadDialogVisible, - initMigrationName, singleFileUploading, getMigrationStatus, @@ -204,12 +196,13 @@ const SelectFileStep = (props: SelectFileStepProps) => { if (res.isCompleted || res.progress === 100) { clearInterval(uploadInterval.current); - if ( + + const totalUsers = res.parseResult.users.length + - res.parseResult.existUsers.length + - res.parseResult.withoutEmailUsers.length > - 0 - ) { + res.parseResult.existUsers.length + + res.parseResult.withoutEmailUsers.length; + + if (totalUsers > 0) { setUsers(res.parseResult); setIsBackupEmpty(false); setLoadingStatus("done"); diff --git a/packages/client/src/pages/PortalSettings/categories/data-import/components/SelectUsersStep/AccountsTable/RowView/UsersRowContent.tsx b/packages/client/src/pages/PortalSettings/categories/data-import/components/SelectUsersStep/AccountsTable/RowView/UsersRowContent.tsx index 010b0867b5..9703b8ade3 100644 --- a/packages/client/src/pages/PortalSettings/categories/data-import/components/SelectUsersStep/AccountsTable/RowView/UsersRowContent.tsx +++ b/packages/client/src/pages/PortalSettings/categories/data-import/components/SelectUsersStep/AccountsTable/RowView/UsersRowContent.tsx @@ -24,7 +24,7 @@ // content are licensed under the terms of the Creative Commons Attribution-ShareAlike 4.0 // International. See the License terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode -import styled, { css } from "styled-components"; +import styled from "styled-components"; import { Text } from "@docspace/shared/components/text"; import { Box } from "@docspace/shared/components/box"; import { RowContent } from "@docspace/shared/components/row-content"; diff --git a/packages/client/src/pages/PortalSettings/categories/data-import/components/SelectUsersStep/AccountsTable/RowView/index.tsx b/packages/client/src/pages/PortalSettings/categories/data-import/components/SelectUsersStep/AccountsTable/RowView/index.tsx index 29c40b0c85..332596d400 100644 --- a/packages/client/src/pages/PortalSettings/categories/data-import/components/SelectUsersStep/AccountsTable/RowView/index.tsx +++ b/packages/client/src/pages/PortalSettings/categories/data-import/components/SelectUsersStep/AccountsTable/RowView/index.tsx @@ -26,7 +26,7 @@ import { inject, observer } from "mobx-react"; import { tablet } from "@docspace/shared/utils/device"; -import styled, { css } from "styled-components"; +import styled from "styled-components"; import { EmptyScreenContainer } from "@docspace/shared/components/empty-screen-container"; import { IconButton } from "@docspace/shared/components/icon-button"; @@ -91,7 +91,6 @@ const RowView = (props: RowViewProps) => { t, sectionWidth, accountsData, - checkedUsers, withEmailUsers, toggleAccount, diff --git a/packages/client/src/pages/PortalSettings/categories/data-import/components/SelectUsersTypeStep/AccountsTable/TableView/index.tsx b/packages/client/src/pages/PortalSettings/categories/data-import/components/SelectUsersTypeStep/AccountsTable/TableView/index.tsx index b16b92b79f..768b290694 100644 --- a/packages/client/src/pages/PortalSettings/categories/data-import/components/SelectUsersTypeStep/AccountsTable/TableView/index.tsx +++ b/packages/client/src/pages/PortalSettings/categories/data-import/components/SelectUsersTypeStep/AccountsTable/TableView/index.tsx @@ -27,7 +27,7 @@ import { useRef } from "react"; import { inject, observer } from "mobx-react"; import { Base } from "@docspace/shared/themes"; -import styled, { css } from "styled-components"; +import styled from "styled-components"; import { EmptyScreenContainer } from "@docspace/shared/components/empty-screen-container"; import { IconButton } from "@docspace/shared/components/icon-button"; @@ -97,7 +97,6 @@ const TableView = (props: TypeSelectTableViewProps) => { sectionWidth, accountsData, typeOptions, - userId, checkedUsers, toggleAccount, diff --git a/packages/client/src/pages/PortalSettings/categories/data-import/index.tsx b/packages/client/src/pages/PortalSettings/categories/data-import/index.tsx index 77d9b32d98..ef11635b92 100644 --- a/packages/client/src/pages/PortalSettings/categories/data-import/index.tsx +++ b/packages/client/src/pages/PortalSettings/categories/data-import/index.tsx @@ -43,7 +43,6 @@ const DataImport = (props: DataImportProps) => { viewAs, setViewAs, currentDeviceType, - getMigrationStatus, isMigrationInit, setUsers, @@ -74,15 +73,14 @@ const DataImport = (props: DataImportProps) => { const { parseResult, error, isCompleted } = response; - if ( - error || - parseResult.failedArchives.length > 0 || + const isErrorOrFailedParse = error || parseResult.failedArchives.length > 0; + const isNoUsersParsed = parseResult.users.length + parseResult.existUsers.length + parseResult.withoutEmailUsers.length === - 0 - ) - return; + 0; + + if (isErrorOrFailedParse || isNoUsersParsed) return; if (parseResult.operation === "parse") { setWorkspace(parseResult.migratorName); @@ -160,7 +158,6 @@ export default inject( viewAs, setViewAs, currentDeviceType, - getMigrationStatus, isMigrationInit, setUsers,