diff --git a/packages/client/public/locales/en/Settings.json b/packages/client/public/locales/en/Settings.json index bab20cca6e..482718b8e0 100644 --- a/packages/client/public/locales/en/Settings.json +++ b/packages/client/public/locales/en/Settings.json @@ -8,7 +8,7 @@ "AccessRightsUsersFromList": "{{users}} from the list", "AccountsWithoutEmails": "We found <1>{{users}} users without emails. You can add necessary data to their accounts on the next step.", "AddEmails": "Add emails to incomplete accounts", - "AddEmailsWarning": "You don�t have users with emails. Please proceed to the next step to add them.", + "AddEmailsWarning": "You don't have users with emails. Please proceed to the next step to add them.", "AddAllowedIP": "Add allowed IP address", "AdditionalResources": "Additional resources", "AdditionalResourcesDescription": "Choose whether you want to display links to additional resources in DocSpace menu.", diff --git a/packages/client/src/components/dialogs/CancelUploadDialog/index.js b/packages/client/src/components/dialogs/CancelUploadDialog/index.js index b48d307110..cda7edf48e 100644 --- a/packages/client/src/components/dialogs/CancelUploadDialog/index.js +++ b/packages/client/src/components/dialogs/CancelUploadDialog/index.js @@ -6,6 +6,7 @@ import ModalDialogContainer from "../ModalDialogContainer"; const CancelUploadDialog = ({ isFifthStep, + isSixthStep, visible, onClose, loading, @@ -14,12 +15,13 @@ const CancelUploadDialog = ({ const { t } = useTranslation(["Settings", "Common"]); const navigate = useNavigate(); - const modalBodyText = isFifthStep - ? t("Settings:WantToCancelDataImport") - : t("Settings:WantToCancelUpload"); + const modalBodyText = + isFifthStep || isSixthStep + ? t("Settings:WantToCancelDataImport") + : t("Settings:WantToCancelUpload"); const onCancelProcess = () => { - if (isFifthStep) { + if (isFifthStep || isSixthStep) { navigate(-1); cancelMigration(); } else { diff --git a/packages/client/src/pages/PortalSettings/categories/data-import/NextCloudWorkspace/Stepper/FifthStep/index.js b/packages/client/src/pages/PortalSettings/categories/data-import/NextCloudWorkspace/Stepper/FifthStep/index.js index a95a860c1e..83edc227e1 100644 --- a/packages/client/src/pages/PortalSettings/categories/data-import/NextCloudWorkspace/Stepper/FifthStep/index.js +++ b/packages/client/src/pages/PortalSettings/categories/data-import/NextCloudWorkspace/Stepper/FifthStep/index.js @@ -1,11 +1,11 @@ -import React, { useState } from "react"; +import { useState } from "react"; +import { inject, observer } from "mobx-react"; import styled from "styled-components"; import ImportSection from "../../../sub-components/ImportSection"; - +import SaveCancelButtons from "@docspace/components/save-cancel-buttons"; import PeopleIcon from "PUBLIC_DIR/images/catalog.accounts.react.svg"; import UserIcon from "PUBLIC_DIR/images/catalog.user.react.svg"; -import SaveCancelButtons from "@docspace/components/save-cancel-buttons"; const SectionsWrapper = styled.div` display: flex; @@ -17,27 +17,28 @@ const SectionsWrapper = styled.div` } `; -const FifthStep = ({ t, incrementStep, decrementStep }) => { - const [isChecked, setIsChecked] = useState({ - users: true, - pFiles: true, - sFiles: true, - }); +const FifthStep = ({ + t, + incrementStep, + decrementStep, + toggles, + setToggles, +}) => { + const [isChecked, setIsChecked] = useState(true); - const onChange = (name) => { - setIsChecked((prevIsChecked) => ({ - ...prevIsChecked, - [name]: !prevIsChecked[name], - })); + const onChange = (e, name) => { + const checked = e.target.checked; + setToggles({ [name]: checked }); }; - const users = t("Settings:Employees")[0].toUpperCase() + t("Settings:Employees").slice(1); + const users = + t("Settings:Employees")[0].toUpperCase() + t("Settings:Employees").slice(1); return ( onChange("users")} + isChecked={isChecked} + onChange={() => setIsChecked((prev) => !prev)} sectionName={users} description={t("Settings:UsersSectionDescription")} exportSection={{ sectionName: users, workspace: "NextCloud" }} @@ -49,10 +50,12 @@ const FifthStep = ({ t, incrementStep, decrementStep }) => { isDisabled /> onChange("pFiles")} + isChecked={toggles.importPersonalFiles} + onChange={(e) => onChange(e, "importPersonalFiles")} sectionName={t("Settings:PersonalFiles")} - description={t("Settings:PersonalFilesDescription", { serviceName: "Nextcloud" })} + description={t("Settings:PersonalFilesDescription", { + serviceName: "Nextcloud", + })} exportSection={{ sectionName: t("Settings:UsersFiles"), workspace: "NextCloud", @@ -64,10 +67,12 @@ const FifthStep = ({ t, incrementStep, decrementStep }) => { }} /> onChange("sFiles")} + isChecked={toggles.importSharedFiles} + onChange={(e) => onChange(e, "importSharedFiles")} sectionName={t("Settings:SharedFiles")} - description={t("Settings:SharedFilesDescription", { serviceName: "Nextcloud" })} + description={t("Settings:SharedFilesDescription", { + serviceName: "Nextcloud", + })} exportSection={{ sectionName: t("Settings:SharedFiles"), workspace: "NextCloud", @@ -91,4 +96,12 @@ const FifthStep = ({ t, incrementStep, decrementStep }) => { ); }; -export default FifthStep; + +export default inject(({ importAccountsStore }) => { + const { toggles, setToggles } = importAccountsStore; + + return { + toggles, + setToggles, + }; +})(observer(FifthStep)); diff --git a/packages/client/src/pages/PortalSettings/categories/data-import/NextCloudWorkspace/Stepper/FirstStep/index.js b/packages/client/src/pages/PortalSettings/categories/data-import/NextCloudWorkspace/Stepper/FirstStep/index.js index 93fa5520df..1d0f0cff1f 100644 --- a/packages/client/src/pages/PortalSettings/categories/data-import/NextCloudWorkspace/Stepper/FirstStep/index.js +++ b/packages/client/src/pages/PortalSettings/categories/data-import/NextCloudWorkspace/Stepper/FirstStep/index.js @@ -1,16 +1,14 @@ -import React, { useState } from "react"; +import { useState } from "react"; +import { inject, observer } from "mobx-react"; +import { useNavigate, useSearchParams } from "react-router-dom"; +import { CancelUploadDialog } from "SRC_DIR/components/dialogs"; import styled from "styled-components"; -import { inject, observer } from "mobx-react"; - import Text from "@docspace/components/text"; -import FileInput from "@docspace/components/file-input"; -import SaveCancelButtons from "@docspace/components/save-cancel-buttons"; -import ProgressBar from "@docspace/components/progress-bar"; import Button from "@docspace/components/button"; -import { CancelUploadDialog } from "SRC_DIR/components/dialogs"; - -import { useSearchParams } from "react-router-dom"; +import FileInput from "@docspace/components/file-input"; +import ProgressBar from "@docspace/components/progress-bar"; +import SaveCancelButtons from "@docspace/components/save-cancel-buttons"; const Wrapper = styled.div` max-width: 350px; @@ -43,19 +41,21 @@ const FirstStep = ({ t, incrementStep, decrementStep, - cancelUploadDialogVisible, - setCancelUploadDialogVisible, + cancelDialogVisble, + setCancelDialogVisbile, initMigrationName, singleFileUploading, getMigrationStatus, setUsers, + setData, isFileLoading, setIsFileLoading, + cancelMigration, }) => { const [isSaveDisabled, setIsSaveDisabled] = useState(false); - const [searchParams] = useSearchParams(); - const [progress, setProgress] = useState(0); + const [searchParams] = useSearchParams(); + const navigate = useNavigate(); const onUploadFile = async (file) => { await singleFileUploading(file, setProgress); @@ -64,12 +64,12 @@ const FirstStep = ({ const res = await getMigrationStatus(); if (!res || res.parseResult.failedArchives.length > 0) { - console.error("something went wrong"); setIsFileLoading(false); clearInterval(interval); } else if (res.isCompleted) { setIsFileLoading(false); clearInterval(interval); + setData(res); setUsers(res); setIsSaveDisabled(true); } @@ -87,31 +87,44 @@ const FirstStep = ({ }; const onCancel = () => { - setCancelUploadDialogVisible(true); + setCancelDialogVisbile(true); setProgress(0); setIsFileLoading(false); }; return ( - {t("Settings:ChooseBackupFile")} + + {t("Settings:ChooseBackupFile")} + {isFileLoading ? ( <> - {t("Settings:BackupFileUploading")} - -