diff --git a/client/components/DeleteChannelWarning.js b/client/components/DeleteChannelWarning.js deleted file mode 100644 index 5293fc18feba2..0000000000000 --- a/client/components/DeleteChannelWarning.js +++ /dev/null @@ -1,29 +0,0 @@ -import { Button, ButtonGroup, Icon, Modal } from '@rocket.chat/fuselage'; -import React from 'react'; - -import { useTranslation } from '../contexts/TranslationContext'; - -const DeleteChannelWarning = ({ onConfirm, onCancel, ...props }) => { - const t = useTranslation(); - - return ( - - - - {t('Are_you_sure')} - - - {t('Delete_Room_Warning')} - - - - - - - - ); -}; - -export default DeleteChannelWarning; diff --git a/client/components/DeleteFileWarning.js b/client/components/DeleteFileWarning.js deleted file mode 100644 index 5d54325a274f2..0000000000000 --- a/client/components/DeleteFileWarning.js +++ /dev/null @@ -1,15 +0,0 @@ -import React from 'react'; - -import { useTranslation } from '../contexts/TranslationContext'; -import DeleteWarningModal from './DeleteWarningModal'; - -const DeleteFileWarning = ({ onConfirm, onCancel }) => { - const t = useTranslation(); - return ( - - {t('Delete_File_Warning')} - - ); -}; - -export default DeleteFileWarning; diff --git a/client/components/DeleteSuccessModal.tsx b/client/components/DeleteSuccessModal.tsx deleted file mode 100644 index 4af5f622436df..0000000000000 --- a/client/components/DeleteSuccessModal.tsx +++ /dev/null @@ -1,31 +0,0 @@ -import { Button, ButtonGroup, Icon, Modal } from '@rocket.chat/fuselage'; -import React, { FC } from 'react'; - -import { useTranslation } from '../contexts/TranslationContext'; - -type DeleteSuccessModalProps = { - onClose: () => void; -}; - -const DeleteSuccessModal: FC = ({ children, onClose, ...props }) => { - const t = useTranslation(); - return ( - - - - {t('Deleted')} - - - {children} - - - - - - - ); -}; - -export default DeleteSuccessModal; diff --git a/client/components/DeleteWarningModal.tsx b/client/components/DeleteWarningModal.tsx deleted file mode 100644 index 93a7545c5fa78..0000000000000 --- a/client/components/DeleteWarningModal.tsx +++ /dev/null @@ -1,47 +0,0 @@ -import { Button, ButtonGroup, Icon, Modal } from '@rocket.chat/fuselage'; -import React, { FC } from 'react'; - -import { useTranslation } from '../contexts/TranslationContext'; - -type DeleteWarningModalProps = { - cancelText?: string; - deleteText?: string; - confirm?: () => void; - onDelete: () => void; - onCancel: () => void; -}; - -const DeleteWarningModal: FC = ({ - children, - cancelText, - deleteText, - onCancel, - onDelete, - confirm = onDelete, - ...props -}) => { - const t = useTranslation(); - - return ( - - - - {t('Are_you_sure')} - - - {children} - - - - - - - - ); -}; - -export default DeleteWarningModal; diff --git a/client/components/GenericModal.tsx b/client/components/GenericModal.tsx index fc8a25a2c93ea..97ddcda0f1e94 100644 --- a/client/components/GenericModal.tsx +++ b/client/components/GenericModal.tsx @@ -59,7 +59,7 @@ const GenericModal: FC = ({ title, icon, onCancel, - onClose, + onClose = onCancel, onConfirm, dontAskAgain, ...props diff --git a/client/views/admin/customEmoji/EditCustomEmoji.tsx b/client/views/admin/customEmoji/EditCustomEmoji.tsx index f89f6cd679449..66a28c543db6a 100644 --- a/client/views/admin/customEmoji/EditCustomEmoji.tsx +++ b/client/views/admin/customEmoji/EditCustomEmoji.tsx @@ -1,8 +1,7 @@ import { Box, Button, ButtonGroup, Margins, TextInput, Field, Icon } from '@rocket.chat/fuselage'; import React, { useCallback, useState, useMemo, useEffect, FC, ChangeEvent } from 'react'; -import DeleteSuccessModal from '../../../components/DeleteSuccessModal'; -import DeleteWarningModal from '../../../components/DeleteWarningModal'; +import GenericModal from '../../../components/GenericModal'; import VerticalBar from '../../../components/VerticalBar'; import { useSetModal } from '../../../contexts/ModalContext'; import { useAbsoluteUrl } from '../../../contexts/ServerContext'; @@ -95,7 +94,9 @@ const EditCustomEmoji: FC = ({ close, onChange, data, ...p try { await deleteAction(); setModal(() => ( - + + {t('Custom_Emoji_Has_Been_Deleted')} + )); } catch (error) { dispatchToastMessage({ type: 'error', message: error }); @@ -108,11 +109,15 @@ const EditCustomEmoji: FC = ({ close, onChange, data, ...p }; setModal(() => ( - + onClose={handleCancel} + confirmText={t('Delete')} + > + {t('Custom_Emoji_Delete_Warning')} + )); }, [close, deleteAction, dispatchToastMessage, onChange, setModal, t]); diff --git a/client/views/admin/customSounds/EditSound.js b/client/views/admin/customSounds/EditSound.js index 77325d63e7ea5..fb029e1f847db 100644 --- a/client/views/admin/customSounds/EditSound.js +++ b/client/views/admin/customSounds/EditSound.js @@ -1,8 +1,7 @@ import { Box, Button, ButtonGroup, Margins, TextInput, Field, Icon } from '@rocket.chat/fuselage'; import React, { useCallback, useState, useMemo, useEffect } from 'react'; -import DeleteSuccessModal from '../../../components/DeleteSuccessModal'; -import DeleteWarningModal from '../../../components/DeleteWarningModal'; +import GenericModal from '../../../components/GenericModal'; import VerticalBar from '../../../components/VerticalBar'; import { useSetModal } from '../../../contexts/ModalContext'; import { useMethod } from '../../../contexts/ServerContext'; @@ -108,7 +107,9 @@ function EditSound({ close, onChange, data, ...props }) { try { await deleteCustomSound(_id); setModal(() => ( - + + {t('Custom_Sound_Has_Been_Deleted')} + )); } catch (error) { dispatchToastMessage({ type: 'error', message: error }); @@ -121,11 +122,14 @@ function EditSound({ close, onChange, data, ...props }) { }; setModal(() => ( - + confirmText={t('Delete')} + > + {t('Custom_Sound_Delete_Warning')} + )); }, [_id, close, deleteCustomSound, dispatchToastMessage, onChange, setModal, t]); diff --git a/client/views/admin/customUserStatus/EditCustomUserStatus.js b/client/views/admin/customUserStatus/EditCustomUserStatus.js index 732366411e3dc..10b25b4e60f62 100644 --- a/client/views/admin/customUserStatus/EditCustomUserStatus.js +++ b/client/views/admin/customUserStatus/EditCustomUserStatus.js @@ -1,8 +1,7 @@ import { Button, ButtonGroup, TextInput, Field, Select, Icon } from '@rocket.chat/fuselage'; import React, { useCallback, useState, useMemo, useEffect } from 'react'; -import DeleteSuccessModal from '../../../components/DeleteSuccessModal'; -import DeleteWarningModal from '../../../components/DeleteWarningModal'; +import GenericModal from '../../../components/GenericModal'; import VerticalBar from '../../../components/VerticalBar'; import { useSetModal } from '../../../contexts/ModalContext'; import { useMethod } from '../../../contexts/ServerContext'; @@ -71,10 +70,9 @@ export function EditCustomUserStatus({ close, onChange, data, ...props }) { try { await deleteStatus(_id); setModal(() => ( - + + {t('Custom_User_Status_Has_Been_Deleted')} + )); } catch (error) { dispatchToastMessage({ type: 'error', message: error }); @@ -87,11 +85,14 @@ export function EditCustomUserStatus({ close, onChange, data, ...props }) { }; setModal(() => ( - + confirmText={t('Delete')} + > + {t('Custom_User_Status_Delete_Warning')} + )); }, [_id, close, deleteStatus, dispatchToastMessage, onChange, setModal, t]); diff --git a/client/views/admin/emailInbox/EmailInboxForm.js b/client/views/admin/emailInbox/EmailInboxForm.js index 8c11c1a6109e6..38e5f628e28c2 100644 --- a/client/views/admin/emailInbox/EmailInboxForm.js +++ b/client/views/admin/emailInbox/EmailInboxForm.js @@ -15,7 +15,7 @@ import React, { useCallback, useState } from 'react'; import { isEmail } from '../../../../app/utils/client'; import AutoCompleteDepartment from '../../../components/AutoCompleteDepartment'; -import DeleteWarningModal from '../../../components/DeleteWarningModal'; +import GenericModal from '../../../components/GenericModal'; import Page from '../../../components/Page'; import { useSetModal } from '../../../contexts/ModalContext'; import { useRoute } from '../../../contexts/RouterContext'; @@ -158,9 +158,14 @@ function EmailInboxForm({ id, data }) { }; setModal( - setModal()}> + setModal()} + confirmText={t('Delete')} + > {t('You_will_not_be_able_to_recover_email_inbox')} - , + , ); }); diff --git a/client/views/admin/integrations/edit/EditIncomingWebhook.js b/client/views/admin/integrations/edit/EditIncomingWebhook.js index 46f1f7ac01935..9c88ea5d0aedb 100644 --- a/client/views/admin/integrations/edit/EditIncomingWebhook.js +++ b/client/views/admin/integrations/edit/EditIncomingWebhook.js @@ -1,8 +1,7 @@ import { Field, Box, Margins, Button } from '@rocket.chat/fuselage'; import React, { useMemo, useCallback } from 'react'; -import DeleteSuccessModal from '../../../../components/DeleteSuccessModal'; -import DeleteWarningModal from '../../../../components/DeleteWarningModal'; +import GenericModal from '../../../../components/GenericModal'; import { useSetModal } from '../../../../contexts/ModalContext'; import { useRoute } from '../../../../contexts/RouterContext'; import { useMethod } from '../../../../contexts/ServerContext'; @@ -44,27 +43,32 @@ function EditIncomingWebhook({ data, onChange, ...props }) { const handleDeleteIntegration = useCallback(() => { const closeModal = () => setModal(); + + const handleClose = () => { + closeModal(); + router.push({}); + }; + const onDelete = async () => { const result = await deleteIntegration(); if (result.success) { setModal( - { - closeModal(); - router.push({}); - }} - />, + + {t('Your_entry_has_been_deleted')} + , ); } }; setModal( - , + confirmText={t('Delete')} + > + {t('Integration_Delete_Warning')} + , ); }, [deleteIntegration, router, setModal, t]); diff --git a/client/views/admin/integrations/edit/EditOutgoingWebhook.js b/client/views/admin/integrations/edit/EditOutgoingWebhook.js index aabcbebc20d42..e6432bc3d8120 100644 --- a/client/views/admin/integrations/edit/EditOutgoingWebhook.js +++ b/client/views/admin/integrations/edit/EditOutgoingWebhook.js @@ -1,8 +1,7 @@ import { Field, Box, Margins, Button } from '@rocket.chat/fuselage'; import React, { useMemo, useCallback } from 'react'; -import DeleteSuccessModal from '../../../../components/DeleteSuccessModal'; -import DeleteWarningModal from '../../../../components/DeleteWarningModal'; +import GenericModal from '../../../../components/GenericModal'; import { useSetModal } from '../../../../contexts/ModalContext'; import { useRoute } from '../../../../contexts/RouterContext'; import { useMethod } from '../../../../contexts/ServerContext'; @@ -57,27 +56,32 @@ function EditOutgoingWebhook({ data, onChange, setSaveAction, ...props }) { const handleDeleteIntegration = useCallback(() => { const closeModal = () => setModal(); + + const handleClose = () => { + closeModal(); + router.push({}); + }; + const onDelete = async () => { const result = await deleteIntegration(); if (result.success) { setModal( - { - closeModal(); - router.push({}); - }} - />, + + {t('Your_entry_has_been_deleted')} + , ); } }; setModal( - , + confirmText={t('Delete')} + > + {t('Integration_Delete_Warning')} + , ); }, [deleteIntegration, router, setModal, t]); diff --git a/client/views/admin/oauthApps/EditOauthApp.js b/client/views/admin/oauthApps/EditOauthApp.js index c85af1ba543dd..852744f4a220e 100644 --- a/client/views/admin/oauthApps/EditOauthApp.js +++ b/client/views/admin/oauthApps/EditOauthApp.js @@ -10,8 +10,7 @@ import { } from '@rocket.chat/fuselage'; import React, { useCallback, useState, useMemo } from 'react'; -import DeleteSuccessModal from '../../../components/DeleteSuccessModal'; -import DeleteWarningModal from '../../../components/DeleteWarningModal'; +import GenericModal from '../../../components/GenericModal'; import VerticalBar from '../../../components/VerticalBar'; import { useSetModal } from '../../../contexts/ModalContext'; import { useRoute } from '../../../contexts/RouterContext'; @@ -54,14 +53,16 @@ function EditOauthApp({ onChange, data, ...props }) { const onDeleteConfirm = useCallback(async () => { try { await deleteApp(data._id); + + const handleClose = () => { + setModal(); + close(); + }; + setModal(() => ( - { - setModal(); - close(); - }} - /> + + {t('Your_entry_has_been_deleted')} + )); } catch (error) { dispatchToastMessage({ type: 'error', message: error }); @@ -70,11 +71,14 @@ function EditOauthApp({ onChange, data, ...props }) { const openConfirmDelete = () => setModal(() => ( - setModal(undefined)} - /> + confirmText={t('Delete')} + > + {t('Application_delete_warning')} + )); const handleChange = (field, getValue = (e) => e.currentTarget.value) => (e) => diff --git a/client/views/admin/permissions/UsersInRoleTable.js b/client/views/admin/permissions/UsersInRoleTable.js index 98f8614570937..1b1ced27944a6 100644 --- a/client/views/admin/permissions/UsersInRoleTable.js +++ b/client/views/admin/permissions/UsersInRoleTable.js @@ -1,7 +1,7 @@ import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; import React from 'react'; -import DeleteWarningModal from '../../../components/DeleteWarningModal'; +import GenericModal from '../../../components/GenericModal'; import GenericTable from '../../../components/GenericTable'; import { useSetModal } from '../../../contexts/ModalContext'; import { useMethod } from '../../../contexts/ServerContext'; @@ -31,11 +31,14 @@ function UsersInRoleTable({ data, reload, roleName, total, params, setParams, ri reload(); }; setModal( - , + confirmText={t('Delete')} + > + {t('The_user_s_will_be_removed_from_role_s', username, roleName)} + , ); }); diff --git a/client/views/admin/rooms/EditRoom.js b/client/views/admin/rooms/EditRoom.js index b5066be311ae9..35b746eb51312 100644 --- a/client/views/admin/rooms/EditRoom.js +++ b/client/views/admin/rooms/EditRoom.js @@ -13,7 +13,7 @@ import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; import React, { useState, useMemo } from 'react'; import { roomTypes, RoomSettingsEnum } from '../../../../app/utils/client'; -import DeleteChannelWarning from '../../../components/DeleteChannelWarning'; +import GenericModal from '../../../components/GenericModal'; import VerticalBar from '../../../components/VerticalBar'; import RoomAvatarEditor from '../../../components/avatar/RoomAvatarEditor'; import { usePermission } from '../../../contexts/AuthorizationContext'; @@ -154,7 +154,16 @@ function EditRoom({ room, onChange }) { setDeleted(true); }; - setModal(); + setModal( + + {t('Delete_Room_Warning')} + , + ); }); return ( diff --git a/client/views/admin/users/UserInfoActions.js b/client/views/admin/users/UserInfoActions.js index bd59aebde7001..26333d8335650 100644 --- a/client/views/admin/users/UserInfoActions.js +++ b/client/views/admin/users/UserInfoActions.js @@ -2,8 +2,7 @@ import { ButtonGroup, Menu, Option } from '@rocket.chat/fuselage'; import React, { useCallback, useMemo } from 'react'; import ConfirmOwnerChangeWarningModal from '../../../components/ConfirmOwnerChangeWarningModal'; -import DeleteSuccessModal from '../../../components/DeleteSuccessModal'; -import DeleteWarningModal from '../../../components/DeleteWarningModal'; +import GenericModal from '../../../components/GenericModal'; import { usePermission } from '../../../contexts/AuthorizationContext'; import { useSetModal } from '../../../contexts/ModalContext'; import { useRoute } from '../../../contexts/RouterContext'; @@ -32,6 +31,11 @@ export const UserInfoActions = ({ username, _id, isActive, isAdmin, onChange }) const enforcePassword = useSetting('Accounts_TwoFactorAuthentication_Enforce_Password_Fallback'); + const handleClose = useCallback(() => { + setModal(); + onChange(); + }, [setModal, onChange]); + const confirmOwnerChanges = (action, modalProps = {}) => async () => { try { return await action(); @@ -73,13 +77,9 @@ export const UserInfoActions = ({ username, _id, isActive, isAdmin, onChange }) const result = await deleteUserEndpoint(deleteUserQuery); if (result.success) { setModal( - { - setModal(); - onChange(); - }} - />, + + {t('User_has_been_deleted')} + , ); } else { setModal(); @@ -93,11 +93,14 @@ export const UserInfoActions = ({ username, _id, isActive, isAdmin, onChange }) const confirmDeleteUser = useCallback(() => { setModal( - setModal()} - onDelete={deleteUser} - />, + confirmText={t('Delete')} + > + {t(`Delete_User_Warning_${erasureType}`)} + , ); }, [deleteUser, erasureType, setModal, t]); @@ -121,16 +124,12 @@ export const UserInfoActions = ({ username, _id, isActive, isAdmin, onChange }) if (result) { setModal( - { - setModal(); - onChange(); - }} - />, + + {t('Users_key_has_been_reset')} + , ); } - }, [resetE2EEKeyRequest, onChange, setModal, t, _id]); + }, [resetE2EEKeyRequest, setModal, t, _id, handleClose]); const resetTOTP = useCallback(async () => { setModal(); @@ -138,36 +137,36 @@ export const UserInfoActions = ({ username, _id, isActive, isAdmin, onChange }) if (result) { setModal( - { - setModal(); - onChange(); - }} - />, + + {t('Users_TOTP_has_been_reset')} + , ); } - }, [resetTOTPRequest, onChange, setModal, t, _id]); + }, [resetTOTPRequest, setModal, t, _id, handleClose]); const confirmResetE2EEKey = useCallback(() => { setModal( - setModal()} - onDelete={resetE2EEKey} - />, + confirmText={t('Reset')} + > + {t('E2E_Reset_Other_Key_Warning')} + , ); }, [resetE2EEKey, t, setModal]); const confirmResetTOTP = useCallback(() => { setModal( - setModal()} - onDelete={resetTOTP} - />, + confirmText={t('Reset')} + > + {t('TOTP_Reset_Other_Key_Warning')} + , ); }, [resetTOTP, t, setModal]); diff --git a/client/views/omnichannel/agents/AgentInfoActions.js b/client/views/omnichannel/agents/AgentInfoActions.js index d544bdf0abb28..7a14558f5de21 100644 --- a/client/views/omnichannel/agents/AgentInfoActions.js +++ b/client/views/omnichannel/agents/AgentInfoActions.js @@ -1,7 +1,7 @@ import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; import React from 'react'; -import DeleteWarningModal from '../../../components/DeleteWarningModal'; +import GenericModal from '../../../components/GenericModal'; import { useSetModal } from '../../../contexts/ModalContext'; import { useRouteParameter, useRoute } from '../../../contexts/RouterContext'; import { useToastMessageDispatch } from '../../../contexts/ToastMessagesContext'; @@ -37,7 +37,14 @@ function AgentInfoActions({ reload }) { setModal(); }; - setModal( setModal()} />); + setModal( + setModal()} + confirmText={t('Delete')} + />, + ); }); const handleEditClick = useMutableCallback(() => diff --git a/client/views/omnichannel/agents/RemoveAgentButton.js b/client/views/omnichannel/agents/RemoveAgentButton.js index ff05b533d215c..f08539d1d02a0 100644 --- a/client/views/omnichannel/agents/RemoveAgentButton.js +++ b/client/views/omnichannel/agents/RemoveAgentButton.js @@ -2,7 +2,7 @@ import { Table, Icon, Button } from '@rocket.chat/fuselage'; import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; import React from 'react'; -import DeleteWarningModal from '../../../components/DeleteWarningModal'; +import GenericModal from '../../../components/GenericModal'; import { useSetModal } from '../../../contexts/ModalContext'; import { useToastMessageDispatch } from '../../../contexts/ToastMessagesContext'; import { useTranslation } from '../../../contexts/TranslationContext'; @@ -33,7 +33,14 @@ function RemoveAgentButton({ _id, reload }) { setModal(); }; - setModal( setModal()} />); + setModal( + setModal()} + confirmText={t('Delete')} + />, + ); }); return ( diff --git a/client/views/omnichannel/currentChats/FilterByText.js b/client/views/omnichannel/currentChats/FilterByText.js index 3b05e0147e9de..b51922076e2e1 100644 --- a/client/views/omnichannel/currentChats/FilterByText.js +++ b/client/views/omnichannel/currentChats/FilterByText.js @@ -6,7 +6,7 @@ import { useSubscription } from 'use-subscription'; import AutoCompleteAgent from '../../../components/AutoCompleteAgent'; import AutoCompleteDepartment from '../../../components/AutoCompleteDepartment'; -import DeleteWarningModal from '../../../components/DeleteWarningModal'; +import GenericModal from '../../../components/GenericModal'; import { useSetModal } from '../../../contexts/ModalContext'; import { useMethod } from '../../../contexts/ServerContext'; import { useToastMessageDispatch } from '../../../contexts/ToastMessagesContext'; @@ -107,7 +107,14 @@ const FilterByText = ({ setFilter, reload, ...props }) => { setModal(); }; - setModal( setModal()} />); + setModal( + setModal()} + confirmText={t('Delete')} + />, + ); }); return ( diff --git a/client/views/omnichannel/currentChats/RemoveChatButton.js b/client/views/omnichannel/currentChats/RemoveChatButton.js index 4a195a6dc2689..e3dfc043c7686 100644 --- a/client/views/omnichannel/currentChats/RemoveChatButton.js +++ b/client/views/omnichannel/currentChats/RemoveChatButton.js @@ -2,7 +2,7 @@ import { Table, Icon, Button } from '@rocket.chat/fuselage'; import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; import React from 'react'; -import DeleteWarningModal from '../../../components/DeleteWarningModal'; +import GenericModal from '../../../components/GenericModal'; import { useSetModal } from '../../../contexts/ModalContext'; import { useMethod } from '../../../contexts/ServerContext'; import { useToastMessageDispatch } from '../../../contexts/ToastMessagesContext'; @@ -35,7 +35,14 @@ function RemoveChatButton({ _id, reload }) { setModal(); }; - setModal( setModal()} />); + setModal( + setModal()} + confirmText={t('Delete')} + />, + ); }); return ( diff --git a/client/views/omnichannel/customFields/RemoveCustomFieldButton.js b/client/views/omnichannel/customFields/RemoveCustomFieldButton.js index 9984f8d38cb4f..911ae1c1782f9 100644 --- a/client/views/omnichannel/customFields/RemoveCustomFieldButton.js +++ b/client/views/omnichannel/customFields/RemoveCustomFieldButton.js @@ -2,7 +2,7 @@ import { Table, Icon, Button } from '@rocket.chat/fuselage'; import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; import React from 'react'; -import DeleteWarningModal from '../../../components/DeleteWarningModal'; +import GenericModal from '../../../components/GenericModal'; import { useSetModal } from '../../../contexts/ModalContext'; import { useMethod } from '../../../contexts/ServerContext'; import { useToastMessageDispatch } from '../../../contexts/ToastMessagesContext'; @@ -35,7 +35,14 @@ function RemoveCustomFieldButton({ _id, reload }) { setModal(); }; - setModal( setModal()} />); + setModal( + setModal()} + confirmText={t('Delete')} + />, + ); }); return ( diff --git a/client/views/omnichannel/departments/RemoveAgentButton.js b/client/views/omnichannel/departments/RemoveAgentButton.js index 1a7888504f5f8..df6334f9f6d4b 100644 --- a/client/views/omnichannel/departments/RemoveAgentButton.js +++ b/client/views/omnichannel/departments/RemoveAgentButton.js @@ -2,7 +2,7 @@ import { Icon, Button } from '@rocket.chat/fuselage'; import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; import React from 'react'; -import DeleteWarningModal from '../../../components/DeleteWarningModal'; +import GenericModal from '../../../components/GenericModal'; import { useSetModal } from '../../../contexts/ModalContext'; import { useToastMessageDispatch } from '../../../contexts/ToastMessagesContext'; import { useTranslation } from '../../../contexts/TranslationContext'; @@ -21,7 +21,14 @@ function RemoveAgentButton({ agentId, setAgentList, agentList }) { setModal(); }; - setModal( setModal()} />); + setModal( + setModal()} + confirmText={t('Delete')} + />, + ); }); return ( diff --git a/client/views/omnichannel/departments/RemoveDepartmentButton.js b/client/views/omnichannel/departments/RemoveDepartmentButton.js index a0aaa70b2d71f..10b170e6def92 100644 --- a/client/views/omnichannel/departments/RemoveDepartmentButton.js +++ b/client/views/omnichannel/departments/RemoveDepartmentButton.js @@ -2,7 +2,7 @@ import { Table, Icon, Button } from '@rocket.chat/fuselage'; import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; import React from 'react'; -import DeleteWarningModal from '../../../components/DeleteWarningModal'; +import GenericModal from '../../../components/GenericModal'; import { useSetModal } from '../../../contexts/ModalContext'; import { useToastMessageDispatch } from '../../../contexts/ToastMessagesContext'; import { useTranslation } from '../../../contexts/TranslationContext'; @@ -33,7 +33,14 @@ function RemoveDepartmentButton({ _id, reload }) { setModal(); }; - setModal( setModal()} />); + setModal( + setModal()} + confirmText={t('Delete')} + />, + ); }); return ( diff --git a/client/views/omnichannel/managers/RemoveManagerButton.js b/client/views/omnichannel/managers/RemoveManagerButton.js index 6b636a5a85b0f..1509b6bfa03ca 100644 --- a/client/views/omnichannel/managers/RemoveManagerButton.js +++ b/client/views/omnichannel/managers/RemoveManagerButton.js @@ -2,7 +2,7 @@ import { Table, Icon, Button } from '@rocket.chat/fuselage'; import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; import React from 'react'; -import DeleteWarningModal from '../../../components/DeleteWarningModal'; +import GenericModal from '../../../components/GenericModal'; import { useSetModal } from '../../../contexts/ModalContext'; import { useToastMessageDispatch } from '../../../contexts/ToastMessagesContext'; import { useTranslation } from '../../../contexts/TranslationContext'; @@ -32,7 +32,14 @@ function RemoveManagerButton({ _id, reload }) { setModal(); }; - setModal( setModal()} />); + setModal( + setModal()} + confirmText={t('Delete')} + />, + ); }); return ( diff --git a/client/views/omnichannel/triggers/TriggersRow.js b/client/views/omnichannel/triggers/TriggersRow.js index 6ef551531cb1f..190b1dd1f2346 100644 --- a/client/views/omnichannel/triggers/TriggersRow.js +++ b/client/views/omnichannel/triggers/TriggersRow.js @@ -2,7 +2,7 @@ import { Table, Icon, Button } from '@rocket.chat/fuselage'; import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; import React, { memo } from 'react'; -import DeleteWarningModal from '../../../components/DeleteWarningModal'; +import GenericModal from '../../../components/GenericModal'; import { useSetModal } from '../../../contexts/ModalContext'; import { useRoute } from '../../../contexts/RouterContext'; import { useMethod } from '../../../contexts/ServerContext'; @@ -49,7 +49,14 @@ const TriggersRow = memo(function TriggersRow(props) { setModal(); }; - setModal( setModal()} />); + setModal( + setModal()} + confirmText={t('Delete')} + />, + ); }); return ( diff --git a/client/views/room/contextualBar/Info/EditRoomInfo/EditChannel.js b/client/views/room/contextualBar/Info/EditRoomInfo/EditChannel.js index 6d24ccb53c2fc..d1c5139a50a09 100644 --- a/client/views/room/contextualBar/Info/EditRoomInfo/EditChannel.js +++ b/client/views/room/contextualBar/Info/EditRoomInfo/EditChannel.js @@ -20,7 +20,7 @@ import React, { useCallback, useMemo, useRef } from 'react'; import { e2e } from '../../../../../../app/e2e/client/rocketchat.e2e'; import { MessageTypesValues } from '../../../../../../app/lib/lib/MessageTypes'; import { roomTypes, RoomSettingsEnum } from '../../../../../../app/utils/client'; -import DeleteChannelWarning from '../../../../../components/DeleteChannelWarning'; +import GenericModal from '../../../../../components/GenericModal'; import RawText from '../../../../../components/RawText'; import VerticalBar from '../../../../../components/VerticalBar'; import RoomAvatarEditor from '../../../../../components/avatar/RoomAvatarEditor'; @@ -282,7 +282,16 @@ function EditChannel({ room, onClickClose, onClickBack }) { onCancel(); }; - setModal(); + setModal( + + {t('Delete_Room_Warning')} + , + ); }); const changeRoomType = useMutableCallback(() => { diff --git a/client/views/room/contextualBar/Info/RoomInfo/RoomInfoWithData.js b/client/views/room/contextualBar/Info/RoomInfo/RoomInfoWithData.js index 727481bd0d3ca..e48f125fa4897 100644 --- a/client/views/room/contextualBar/Info/RoomInfo/RoomInfoWithData.js +++ b/client/views/room/contextualBar/Info/RoomInfo/RoomInfoWithData.js @@ -3,7 +3,7 @@ import React from 'react'; import { RoomManager } from '../../../../../../app/ui-utils/client/lib/RoomManager'; import { roomTypes, UiTextContext } from '../../../../../../app/utils/client'; -import DeleteChannelWarning from '../../../../../components/DeleteChannelWarning'; +import GenericModal from '../../../../../components/GenericModal'; import MarkdownText from '../../../../../components/MarkdownText'; import { usePermission } from '../../../../../contexts/AuthorizationContext'; import { useSetModal } from '../../../../../contexts/ModalContext'; @@ -84,7 +84,16 @@ const RoomInfoWithData = ({ rid, openEditing, onClickBack, onEnterRoom, resetSta closeModal(); }; - setModal(); + setModal( + + {t('Delete_Room_Warning')} + , + ); }); const handleLeave = useMutableCallback(() => { diff --git a/client/views/room/contextualBar/RoomFiles/RoomFilesWithData.js b/client/views/room/contextualBar/RoomFiles/RoomFilesWithData.js index f1d1ca3db30c9..c42c56f69b63d 100644 --- a/client/views/room/contextualBar/RoomFiles/RoomFilesWithData.js +++ b/client/views/room/contextualBar/RoomFiles/RoomFilesWithData.js @@ -1,7 +1,7 @@ import { useMutableCallback, useLocalStorage } from '@rocket.chat/fuselage-hooks'; import React, { useState, useCallback, useMemo } from 'react'; -import DeleteFileWarning from '../../../../components/DeleteFileWarning'; +import GenericModal from '../../../../components/GenericModal'; import { useSetModal } from '../../../../contexts/ModalContext'; import { useMethod } from '../../../../contexts/ServerContext'; import { useToastMessageDispatch } from '../../../../contexts/ToastMessagesContext'; @@ -47,7 +47,16 @@ const RoomFilesWithData = ({ rid }) => { closeModal(); }; - setModal(); + setModal( + + {t('Delete_File_Warning')} + , + ); }, []); const isDeletionAllowed = useMessageDeletionIsAllowed(rid, uid); diff --git a/ee/client/omnichannel/RemoveBusinessHourButton.js b/ee/client/omnichannel/RemoveBusinessHourButton.js index cd5f9c730386c..06f116618cfba 100644 --- a/ee/client/omnichannel/RemoveBusinessHourButton.js +++ b/ee/client/omnichannel/RemoveBusinessHourButton.js @@ -2,7 +2,7 @@ import { Table, Icon, Button } from '@rocket.chat/fuselage'; import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; import React from 'react'; -import DeleteWarningModal from '../../../client/components/DeleteWarningModal'; +import GenericModal from '../../../client/components/GenericModal'; import { useSetModal } from '../../../client/contexts/ModalContext'; import { useMethod } from '../../../client/contexts/ServerContext'; import { useToastMessageDispatch } from '../../../client/contexts/ToastMessagesContext'; @@ -35,7 +35,14 @@ function RemoveBusinessHourButton({ _id, type, reload }) { setModal(); }; - setModal( setModal()} />); + setModal( + setModal()} + confirmText={t('Delete')} + />, + ); }); return ( diff --git a/ee/client/omnichannel/cannedResponses/CannedResponseDetails.js b/ee/client/omnichannel/cannedResponses/CannedResponseDetails.js index 1b7b6dd636079..642ff50390f76 100644 --- a/ee/client/omnichannel/cannedResponses/CannedResponseDetails.js +++ b/ee/client/omnichannel/cannedResponses/CannedResponseDetails.js @@ -4,7 +4,7 @@ import React, { memo, useCallback } from 'react'; import toastr from 'toastr'; import { handleError } from '../../../../app/utils/client'; -import DeleteWarningModal from '../../../../client/components/DeleteWarningModal'; +import GenericModal from '../../../../client/components/GenericModal'; import VerticalBar from '../../../../client/components/VerticalBar'; import { useSetModal } from '../../../../client/contexts/ModalContext'; import { useMethod } from '../../../../client/contexts/ServerContext'; @@ -42,11 +42,15 @@ export const CannedResponseDetails = ({ } }; setModal(() => ( - + onClose={handleCancel} + confirmText={t('Delete')} + > + {t('Canned_Response_Delete_Warning')} + )); }, [onReturn, removeCannedResponse, _id, setModal, t]); diff --git a/ee/client/omnichannel/monitors/MonitorsRow.js b/ee/client/omnichannel/monitors/MonitorsRow.js index d0f13a633d6e8..f4ada9f6d4afc 100644 --- a/ee/client/omnichannel/monitors/MonitorsRow.js +++ b/ee/client/omnichannel/monitors/MonitorsRow.js @@ -2,7 +2,7 @@ import { Table, Icon, Button } from '@rocket.chat/fuselage'; import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; import React, { memo } from 'react'; -import DeleteWarningModal from '../../../../client/components/DeleteWarningModal'; +import GenericModal from '../../../../client/components/GenericModal'; import { useSetModal } from '../../../../client/contexts/ModalContext'; import { useMethod } from '../../../../client/contexts/ServerContext'; import { useToastMessageDispatch } from '../../../../client/contexts/ToastMessagesContext'; @@ -31,7 +31,14 @@ function MonitorsRow(props) { setModal(); }; - setModal( setModal()} />); + setModal( + setModal()} + confirmText={t('Delete')} + />, + ); }); return ( diff --git a/ee/client/omnichannel/priorities/RemovePriorityButton.js b/ee/client/omnichannel/priorities/RemovePriorityButton.js index 6c485189ede15..878500943611e 100644 --- a/ee/client/omnichannel/priorities/RemovePriorityButton.js +++ b/ee/client/omnichannel/priorities/RemovePriorityButton.js @@ -2,7 +2,7 @@ import { Table, Icon, Button } from '@rocket.chat/fuselage'; import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; import React from 'react'; -import DeleteWarningModal from '../../../../client/components/DeleteWarningModal'; +import GenericModal from '../../../../client/components/GenericModal'; import { useSetModal } from '../../../../client/contexts/ModalContext'; import { useRoute } from '../../../../client/contexts/RouterContext'; import { useMethod } from '../../../../client/contexts/ServerContext'; @@ -38,7 +38,14 @@ function RemovePriorityButton({ _id, reload }) { setModal(); }; - setModal( setModal()} />); + setModal( + setModal()} + confirmText={t('Delete')} + />, + ); }); return ( diff --git a/ee/client/omnichannel/tags/RemoveTagButton.js b/ee/client/omnichannel/tags/RemoveTagButton.js index 5ed0ea05cea38..f7b38b8d91c02 100644 --- a/ee/client/omnichannel/tags/RemoveTagButton.js +++ b/ee/client/omnichannel/tags/RemoveTagButton.js @@ -2,7 +2,7 @@ import { Table, Icon, Button } from '@rocket.chat/fuselage'; import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; import React from 'react'; -import DeleteWarningModal from '../../../../client/components/DeleteWarningModal'; +import GenericModal from '../../../../client/components/GenericModal'; import { useSetModal } from '../../../../client/contexts/ModalContext'; import { useRoute } from '../../../../client/contexts/RouterContext'; import { useMethod } from '../../../../client/contexts/ServerContext'; @@ -38,7 +38,14 @@ function RemoveTagButton({ _id, reload }) { setModal(); }; - setModal( setModal()} />); + setModal( + setModal()} + confirmText={t('Delete')} + />, + ); }); return ( diff --git a/ee/client/omnichannel/units/RemoveUnitButton.js b/ee/client/omnichannel/units/RemoveUnitButton.js index 87b884c12bd9e..d539186ea9cdb 100644 --- a/ee/client/omnichannel/units/RemoveUnitButton.js +++ b/ee/client/omnichannel/units/RemoveUnitButton.js @@ -2,7 +2,7 @@ import { Table, Icon, Button } from '@rocket.chat/fuselage'; import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; import React from 'react'; -import DeleteWarningModal from '../../../../client/components/DeleteWarningModal'; +import GenericModal from '../../../../client/components/GenericModal'; import { useSetModal } from '../../../../client/contexts/ModalContext'; import { useRoute } from '../../../../client/contexts/RouterContext'; import { useMethod } from '../../../../client/contexts/ServerContext'; @@ -38,7 +38,14 @@ function RemoveUnitButton({ _id, reload }) { setModal(); }; - setModal( setModal()} />); + setModal( + setModal()} + confirmText={t('Delete')} + />, + ); }); return (