diff --git a/packages/client/public/locales/en/Settings.json b/packages/client/public/locales/en/Settings.json index 4d5b014fa4..c3c64b6310 100644 --- a/packages/client/public/locales/en/Settings.json +++ b/packages/client/public/locales/en/Settings.json @@ -10,6 +10,7 @@ "AccountsWithoutEmails": "We found <1>{{users}} users without emails. You can fill their emails or continue without this action.", "AccountsWithoutEmailsNextStep": "We found <1>{{users}} users without emails. You can add necessary data to their accounts on the next step.", "AddAllowedIP": "Add allowed IP address", + "AddEmail": "Add e-mail", "AddEmails": "Add emails to incomplete accounts", "AddEmailsDescription": "Check list of unimported users to import into {{organizationName}} {{productName}}.", "AddEmailsWarning": "You don't have users with emails. Please proceed to the next step to add them.", diff --git a/packages/client/src/components/dialogs/EmailChangeDialog/index.tsx b/packages/client/src/components/dialogs/EmailChangeDialog/index.tsx new file mode 100644 index 0000000000..12ada36f5e --- /dev/null +++ b/packages/client/src/components/dialogs/EmailChangeDialog/index.tsx @@ -0,0 +1,119 @@ +// (c) Copyright Ascensio System SIA 2009-2024 +// +// This program is a free software product. +// You can redistribute it and/or modify it under the terms +// of the GNU Affero General Public License (AGPL) version 3 as published by the Free Software +// Foundation. In accordance with Section 7(a) of the GNU AGPL its Section 15 shall be amended +// to the effect that Ascensio System SIA expressly excludes the warranty of non-infringement of +// any third-party rights. +// +// This program is distributed WITHOUT ANY WARRANTY, without even the implied warranty +// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, see +// the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html +// +// You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, EU, LV-1021. +// +// The interactive user interfaces in modified source and object code versions of the Program must +// display Appropriate Legal Notices, as required under Section 5 of the GNU AGPL version 3. +// +// Pursuant to Section 7(b) of the License you must retain the original Product logo when +// distributing the program. Pursuant to Section 7(e) we decline to grant you any rights under +// trademark law for use of our trademarks. +// +// All the Product's GUI elements, including illustrations and icon sets, as well as technical writing +// 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 from "styled-components"; + +import { useTranslation } from "react-i18next"; +import { + ModalDialog, + ModalDialogType, +} from "@docspace/shared/components/modal-dialog"; +import { Button, ButtonSize } from "@docspace/shared/components/button"; +import { EmailInput } from "@docspace/shared/components/email-input"; +import { InputType } from "@docspace/shared/components/text-input"; +import { TValidate } from "@docspace/shared/components/email-input/EmailInput.types"; +import { Text } from "@docspace/shared/components/text"; +import ModalDialogContainer from "../ModalDialogContainer"; + +const DialogBodyWrapper = styled.div` + display: flex; + flex-direction: column; + gap: 16px; +`; + +interface EmailChangeDialogProps { + visible: boolean; + onClose: () => void; + tempEmail: string; + handleEmailChange: (e: React.ChangeEvent) => void; + onValidateEmail: (res: TValidate) => { + isValid: boolean; + errors: string[]; + }; + hasError: boolean; + checkEmailValidity: () => void; + handleSave: () => void; + displayName: string; +} + +const EmailChangeDialog = ({ + visible, + onClose, + tempEmail, + handleEmailChange, + onValidateEmail, + hasError, + checkEmailValidity, + handleSave, + displayName, +}: EmailChangeDialogProps) => { + const { t } = useTranslation(["Settings", "SMTPSettings", "Common"]); + + return ( + + {t("AddEmail")} + + + {displayName} + + + + +