From 1331170778e70664a5ab498f8e586d5fda098d85 Mon Sep 17 00:00:00 2001 From: Tasso Evangelista Date: Wed, 3 Jun 2026 15:49:09 -0300 Subject: [PATCH] refactor: remove unnecessary ReactElement type annotations in functional components - Removed ReactElement type annotations from various functional components across the application for cleaner code. - Updated components such as ReactionListModal, ReactionUserTag, Reactions, ReadReceiptRow, ReadReceiptsModal, ReportMessageModal, ChatProvider, RoomProvider, and others to improve consistency and readability. --- .../room/E2EESetup/RoomE2EENotAllowed.tsx | 3 +-- .../room/Header/FederatedRoomOriginServer.tsx | 3 +-- .../client/views/room/Header/Header.tsx | 3 +-- .../views/room/Header/HeaderIconWithRoom.tsx | 3 +-- .../room/Header/Omnichannel/BackButton.tsx | 3 +-- .../hooks/useDropdownVisibility.ts | 4 +-- .../MessageList/MessageListErrorBoundary.tsx | 4 +-- .../providers/MessageHighlightProvider.tsx | 4 +-- .../client/views/room/NotSubscribedRoom.tsx | 3 +-- apps/meteor/client/views/room/Room.tsx | 3 +-- .../meteor/client/views/room/RoomNotFound.tsx | 3 +-- apps/meteor/client/views/room/RoomOpener.tsx | 3 +-- .../client/views/room/RoomOpenerEmbedded.tsx | 3 +-- .../meteor/client/views/room/RoomSkeleton.tsx | 4 +-- .../room/ShareLocation/ShareLocationModal.tsx | 3 +-- .../views/room/UserCard/UserCardWithData.tsx | 3 +-- .../views/room/body/DropTargetOverlay.tsx | 4 +-- .../room/body/JumpToRecentMessageButton.tsx | 3 +-- .../room/body/LoadingMessagesIndicator.tsx | 4 +-- .../room/body/RetentionPolicyWarning.tsx | 3 +-- .../client/views/room/body/RoomBody.tsx | 4 +-- .../room/body/RoomForeword/RoomForeword.tsx | 3 +-- .../room/body/UnreadMessagesIndicator.tsx | 3 +-- .../UploadProgressIndicator.tsx | 3 +-- .../composer/ComposerAirGappedRestricted.tsx | 3 +-- .../views/room/composer/ComposerAnonymous.tsx | 3 +-- .../views/room/composer/ComposerArchived.tsx | 3 +-- .../views/room/composer/ComposerBlocked.tsx | 3 +-- .../views/room/composer/ComposerBoxPopup.tsx | 12 +++------ .../views/room/composer/ComposerContainer.tsx | 3 +-- .../ComposerFederation/ComposerFederation.tsx | 4 +-- .../ComposerFederationDisabled.tsx | 3 +-- .../ComposerFederationInvalidVersion.tsx | 3 +-- .../ComposerFederationJoinRoomDisabled.tsx | 3 +-- .../composer/ComposerJoinWithPassword.tsx | 3 +-- .../views/room/composer/ComposerMessage.tsx | 4 +-- .../ComposerOmnichannelInquiry.tsx | 3 +-- .../ComposerOmnichannelJoin.tsx | 3 +-- .../ComposerOmnichannelOnHold.tsx | 3 +-- .../views/room/composer/ComposerReadOnly.tsx | 3 +-- .../room/composer/ComposerSelectMessages.tsx | 3 +-- .../ComposerUserActionIndicator.tsx | 3 +-- .../composer/hooks/useComposerBoxPopup.ts | 2 +- .../room/composer/messageBox/MessageBox.tsx | 4 +-- .../composer/messageBox/MessageBoxHint.tsx | 3 +-- .../composer/messageBox/MessageBoxReplies.tsx | 3 +-- .../composer/messageBox/MessageBoxReply.tsx | 3 +-- .../hooks/useMessageBoxAutoFocus.ts | 2 +- .../room/contexts/ComposerPopupContext.ts | 4 +-- .../AutoTranslate/AutoTranslate.tsx | 11 ++------ .../AutoTranslate/AutoTranslateWithData.tsx | 4 +-- .../contextualBar/BannedUsers/BannedUsers.tsx | 5 +--- .../BannedUsers/BannedUsersItem.tsx | 3 +-- .../components/DiscussionsListItem.tsx | 4 +-- .../views/room/contextualBar/MentionsTab.tsx | 3 +-- .../room/contextualBar/MessageListTab.tsx | 4 +-- .../NotificationPreferences.tsx | 8 +----- .../NotificationPreferencesWithData.tsx | 3 +-- .../components/NotificationByDevice.tsx | 4 +-- .../components/NotificationPreference.tsx | 13 +++------- .../components/NotificationToggle.tsx | 4 +-- .../room/contextualBar/PinnedMessagesTab.tsx | 3 +-- .../PruneMessages/PruneMessages.tsx | 4 +-- .../PruneMessagesDateTimeRow.tsx | 3 +-- .../PruneMessages/PruneMessagesWithData.tsx | 3 +-- .../AddMatrixUsers/AddMatrixUsersModal.tsx | 4 +-- .../RoomMembers/AddUsers/AddUsers.tsx | 3 +-- .../AddUsers/BannedUsersUnbanModal.tsx | 3 +-- .../InviteUsers/EditInviteLink.tsx | 7 +++-- .../RoomMembers/InviteUsers/InviteLink.tsx | 4 +-- .../RoomMembers/InviteUsers/InviteUsers.tsx | 4 +-- .../InviteUsers/InviteUsersEdit.tsx | 4 +-- .../InviteUsers/InviteUsersError.tsx | 3 +-- .../InviteUsers/InviteUsersLoading.tsx | 3 +-- .../InviteUsers/InviteUsersWithData.tsx | 3 +-- .../InviteUsers/InviteUsersWrapper.tsx | 6 ++--- .../contextualBar/RoomMembers/RoomMembers.tsx | 8 +++--- .../RoomMembers/RoomMembersActions.tsx | 11 +------- .../RoomMembers/RoomMembersItem.tsx | 4 +-- .../RoomMembers/RoomMembersRow.tsx | 4 +-- .../RoomMembers/RoomMembersWithData.tsx | 10 +++---- .../Threads/components/ThreadListItem.tsx | 4 +-- .../Threads/components/ThreadListMessage.tsx | 4 +-- .../Threads/components/ThreadListMetrics.tsx | 3 +-- .../Threads/components/ThreadMessageList.tsx | 3 +-- .../Threads/components/ThreadSkeleton.tsx | 3 +-- .../hooks/useThreadMainMessageQuery.ts | 2 +- .../UserInfo/UserInfoActions.tsx | 6 ++--- .../UserInfo/UserInfoWithData.tsx | 3 +-- .../VideoConference/VideoConfBlockModal.tsx | 3 +-- .../VideoConference/VideoConfConfigModal.tsx | 3 +-- .../VideoConfList/VideoConfList.tsx | 6 ++--- .../VideoConfList/VideoConfListItem.tsx | 3 +-- .../VideoConfPopup/IncomingPopup.tsx | 3 +-- .../VideoConfPopup/OutgoingPopup.tsx | 3 +-- .../VideoConfPopup/StartCallPopup.tsx | 3 +-- .../VideoConfPopup/TimedVideoConfPopup.tsx | 9 +------ .../VideoConfPopup/VideoConfPopupRoomInfo.tsx | 3 +-- .../VideoConfPopups/VideoConfPopups.tsx | 3 +-- .../uikit/UiKitContextualBar.tsx | 2 +- .../actions/useChangeModeratorAction.tsx | 3 +-- .../actions/useChangeOwnerAction.tsx | 3 +-- .../client/views/room/layout/RoomLayout.tsx | 4 +-- .../E2EEModals/BaseDisableE2EEModal.tsx | 9 +------ .../modals/E2EEModals/DisableE2EEModal.tsx | 3 +-- .../modals/E2EEModals/EnableE2EEModal.tsx | 3 +-- .../modals/E2EEModals/ResetKeysE2EEModal.tsx | 3 +-- .../modals/FileUploadModal/FilePreview.tsx | 4 +-- .../FileUploadModal/FileUploadModal.tsx | 4 +-- .../modals/FileUploadModal/GenericPreview.tsx | 3 +-- .../modals/FileUploadModal/ImagePreview.tsx | 3 +-- .../modals/FileUploadModal/MediaPreview.tsx | 3 +-- .../FileUploadModal/PreviewSkeleton.tsx | 3 +-- .../ForwardMessageModal.tsx | 5 ++-- .../PinMessageModal/PinMessageModal.tsx | 4 +-- .../ReactionListModal/ReactionListModal.tsx | 3 +-- .../ReactionListModal/ReactionUserTag.tsx | 3 +-- .../modals/ReactionListModal/Reactions.tsx | 3 +-- .../ReadReceiptsModal/ReadReceiptRow.tsx | 3 +-- .../ReadReceiptsModal/ReadReceiptsModal.tsx | 3 +-- .../ReportMessageModal/ReportMessageModal.tsx | 3 +-- .../views/room/providers/ChatProvider.tsx | 4 +-- .../views/room/providers/RoomProvider.tsx | 4 +-- .../views/room/providers/hooks/useInstance.ts | 2 +- .../room/webdav/AddWebdavAccountModal.tsx | 3 +-- .../views/room/webdav/SaveToWebdavModal.tsx | 5 ++-- .../FilePickerBreadcrumbs.tsx | 4 +-- .../WebdavFilePickerGrid.tsx | 3 +-- .../WebdavFilePickerGridItem.tsx | 3 +-- .../WebdavFilePickerModal.tsx | 4 +-- .../WebdavFilePickerTable.tsx | 10 +------ .../meteor/client/views/root/AppErrorPage.tsx | 4 +-- apps/meteor/client/views/root/AppRoot.tsx | 3 +-- .../root/MainLayout/AuthenticationCheck.tsx | 4 +-- .../views/root/MainLayout/EmbeddedPreload.tsx | 4 +-- .../root/MainLayout/LayoutWithSidebar.tsx | 4 +-- .../views/root/MainLayout/LoginPage.tsx | 4 +-- .../views/root/MainLayout/MainLayout.tsx | 4 +-- .../root/MainLayout/PasswordChangeCheck.tsx | 4 +-- .../client/views/root/MainLayout/Preload.tsx | 4 +-- .../MainLayout/TwoFactorAuthSetupCheck.tsx | 4 +-- .../views/root/MainLayout/UsernameCheck.tsx | 4 +-- .../ChannelDesertionTable.tsx | 26 +++++++------------ .../ChannelDesertionTableRow.tsx | 3 +-- .../DeleteTeam/DeleteTeamModalWithRooms.tsx | 3 +-- .../LeaveTeamModal/LeaveTeamModal.tsx | 3 +-- .../LeaveTeamModal/LeaveTeamModalChannels.tsx | 3 +-- .../LeaveTeamModalConfirmation.tsx | 3 +-- .../info/LeaveTeam/LeaveTeamWithData.tsx | 3 +-- .../teams/contextualBar/info/TeamsInfo.tsx | 3 +-- 150 files changed, 216 insertions(+), 385 deletions(-) diff --git a/apps/meteor/client/views/room/E2EESetup/RoomE2EENotAllowed.tsx b/apps/meteor/client/views/room/E2EESetup/RoomE2EENotAllowed.tsx index 11062cd25e68d..196a06a87fc49 100644 --- a/apps/meteor/client/views/room/E2EESetup/RoomE2EENotAllowed.tsx +++ b/apps/meteor/client/views/room/E2EESetup/RoomE2EENotAllowed.tsx @@ -11,7 +11,6 @@ import { } from '@rocket.chat/fuselage'; import type { Keys as IconName } from '@rocket.chat/icons'; import { useRouter } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import { links } from '../../../lib/links'; @@ -26,7 +25,7 @@ type RoomE2EENotAllowedProps = { icon: IconName; }; -const RoomE2EENotAllowed = ({ title, subTitle, action, btnText, icon }: RoomE2EENotAllowedProps): ReactElement => { +const RoomE2EENotAllowed = ({ title, subTitle, action, btnText, icon }: RoomE2EENotAllowedProps) => { const router = useRouter(); const { t } = useTranslation(); const handleGoHomeClick = () => { diff --git a/apps/meteor/client/views/room/Header/FederatedRoomOriginServer.tsx b/apps/meteor/client/views/room/Header/FederatedRoomOriginServer.tsx index b1d569f04ebae..631822524a5ed 100644 --- a/apps/meteor/client/views/room/Header/FederatedRoomOriginServer.tsx +++ b/apps/meteor/client/views/room/Header/FederatedRoomOriginServer.tsx @@ -1,5 +1,4 @@ import { HeaderTag, HeaderTagIcon } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { useMemo } from 'react'; import type { IRoomWithFederationOriginalName } from '../contexts/RoomContext'; @@ -8,7 +7,7 @@ type FederatedRoomOriginServerProps = { room: IRoomWithFederationOriginalName; }; -const FederatedRoomOriginServer = ({ room }: FederatedRoomOriginServerProps): ReactElement | null => { +const FederatedRoomOriginServer = ({ room }: FederatedRoomOriginServerProps) => { const originServerName = useMemo(() => room.federationOriginalName?.split(':')[1], [room.federationOriginalName]); if (!originServerName) { return null; diff --git a/apps/meteor/client/views/room/Header/Header.tsx b/apps/meteor/client/views/room/Header/Header.tsx index 3285c971847c4..4147a255d6814 100644 --- a/apps/meteor/client/views/room/Header/Header.tsx +++ b/apps/meteor/client/views/room/Header/Header.tsx @@ -1,7 +1,6 @@ import { isInviteSubscription } from '@rocket.chat/core-typings'; import type { IRoom, ISubscription } from '@rocket.chat/core-typings'; import { useLayout, useSetting } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { lazy, memo } from 'react'; const RoomInviteHeader = lazy(() => import('./RoomInviteHeader')); @@ -14,7 +13,7 @@ type HeaderProps = { subscription?: ISubscription; }; -const Header = ({ room, subscription }: HeaderProps): ReactElement | null => { +const Header = ({ room, subscription }: HeaderProps) => { const { isEmbedded, showTopNavbarEmbeddedLayout } = useLayout(); const encrypted = Boolean(room.encrypted); const unencryptedMessagesAllowed = useSetting('E2E_Allow_Unencrypted_Messages', false); diff --git a/apps/meteor/client/views/room/Header/HeaderIconWithRoom.tsx b/apps/meteor/client/views/room/Header/HeaderIconWithRoom.tsx index 993bab2d1e257..adac9f5ca611f 100644 --- a/apps/meteor/client/views/room/Header/HeaderIconWithRoom.tsx +++ b/apps/meteor/client/views/room/Header/HeaderIconWithRoom.tsx @@ -1,7 +1,6 @@ import type { IRoom } from '@rocket.chat/core-typings'; import { isOmnichannelRoom } from '@rocket.chat/core-typings'; import { HeaderIcon } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { OmnichannelRoomIcon } from '../../../components/RoomIcon/OmnichannelRoomIcon'; import { useRoomIcon } from '../../../hooks/useRoomIcon'; @@ -10,7 +9,7 @@ type HeaderIconWithRoomProps = { room: IRoom; }; -const HeaderIconWithRoom = ({ room }: HeaderIconWithRoomProps): ReactElement => { +const HeaderIconWithRoom = ({ room }: HeaderIconWithRoomProps) => { const icon = useRoomIcon(room); if (isOmnichannelRoom(room)) { return ; diff --git a/apps/meteor/client/views/room/Header/Omnichannel/BackButton.tsx b/apps/meteor/client/views/room/Header/Omnichannel/BackButton.tsx index 95e7cda26fb5d..b883247938878 100644 --- a/apps/meteor/client/views/room/Header/Omnichannel/BackButton.tsx +++ b/apps/meteor/client/views/room/Header/Omnichannel/BackButton.tsx @@ -1,12 +1,11 @@ import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import { HeaderToolbarAction } from '@rocket.chat/ui-client'; import { useRouter } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; type BackButtonProps = { routeName?: string }; -const BackButton = ({ routeName }: BackButtonProps): ReactElement => { +const BackButton = ({ routeName }: BackButtonProps) => { const router = useRouter(); const { t } = useTranslation(); diff --git a/apps/meteor/client/views/room/Header/Omnichannel/QuickActions/hooks/useDropdownVisibility.ts b/apps/meteor/client/views/room/Header/Omnichannel/QuickActions/hooks/useDropdownVisibility.ts index 390486d1727de..10966f4353d28 100644 --- a/apps/meteor/client/views/room/Header/Omnichannel/QuickActions/hooks/useDropdownVisibility.ts +++ b/apps/meteor/client/views/room/Header/Omnichannel/QuickActions/hooks/useDropdownVisibility.ts @@ -18,8 +18,8 @@ export const useDropdownVisibility = ({ reference, target, }: { - reference: RefObject; - target: RefObject; + reference: RefObject; + target: RefObject; }): { isVisible: boolean; toggle: (state?: boolean) => void; diff --git a/apps/meteor/client/views/room/MessageList/MessageListErrorBoundary.tsx b/apps/meteor/client/views/room/MessageList/MessageListErrorBoundary.tsx index 4b32e954c93a6..5596d40a09af0 100644 --- a/apps/meteor/client/views/room/MessageList/MessageListErrorBoundary.tsx +++ b/apps/meteor/client/views/room/MessageList/MessageListErrorBoundary.tsx @@ -1,11 +1,11 @@ import { States, StatesIcon, StatesTitle, StatesSubtitle, StatesActions, StatesAction, Icon } from '@rocket.chat/fuselage'; -import type { ReactElement, ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { ErrorBoundary } from 'react-error-boundary'; import { useTranslation } from 'react-i18next'; import { useRoom } from '../contexts/RoomContext'; -const MessageListErrorBoundary = ({ children }: { children: ReactNode }): ReactElement => { +const MessageListErrorBoundary = ({ children }: { children: ReactNode }) => { const { t } = useTranslation(); const room = useRoom(); diff --git a/apps/meteor/client/views/room/MessageList/providers/MessageHighlightProvider.tsx b/apps/meteor/client/views/room/MessageList/providers/MessageHighlightProvider.tsx index e87d0b14e90e8..48ea8ec7daeeb 100644 --- a/apps/meteor/client/views/room/MessageList/providers/MessageHighlightProvider.tsx +++ b/apps/meteor/client/views/room/MessageList/providers/MessageHighlightProvider.tsx @@ -1,10 +1,10 @@ -import type { ReactElement, ContextType, ReactNode } from 'react'; +import type { ContextType, ReactNode } from 'react'; import { useMemo, useSyncExternalStore } from 'react'; import * as messageHighlightSubscription from './messageHighlightSubscription'; import MessageHighlightContext from '../contexts/MessageHighlightContext'; -const MessageHighlightProvider = ({ children }: { children: ReactNode }): ReactElement => { +const MessageHighlightProvider = ({ children }: { children: ReactNode }) => { const highlightMessageId = useSyncExternalStore(messageHighlightSubscription.subscribe, messageHighlightSubscription.getSnapshot); const contextValue = useMemo>( diff --git a/apps/meteor/client/views/room/NotSubscribedRoom.tsx b/apps/meteor/client/views/room/NotSubscribedRoom.tsx index ac5cf7ae2f940..f927e66b56325 100644 --- a/apps/meteor/client/views/room/NotSubscribedRoom.tsx +++ b/apps/meteor/client/views/room/NotSubscribedRoom.tsx @@ -1,6 +1,5 @@ import type { IRoom } from '@rocket.chat/core-typings'; import { Box, States, StatesAction, StatesActions, StatesIcon, StatesSubtitle, StatesTitle } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import RoomLayout from './layout/RoomLayout'; @@ -12,7 +11,7 @@ type NotSubscribedRoomProps = { type: IRoom['t']; }; -const NotSubscribedRoom = ({ rid, reference, type }: NotSubscribedRoomProps): ReactElement => { +const NotSubscribedRoom = ({ rid, reference, type }: NotSubscribedRoomProps) => { const { t } = useTranslation(); const handleJoinClick = useJoinRoom(); diff --git a/apps/meteor/client/views/room/Room.tsx b/apps/meteor/client/views/room/Room.tsx index 9079eba20033c..1ded7fa3bae84 100644 --- a/apps/meteor/client/views/room/Room.tsx +++ b/apps/meteor/client/views/room/Room.tsx @@ -3,7 +3,6 @@ import { isInviteSubscription } from '@rocket.chat/core-typings'; import { ContextualbarSkeleton } from '@rocket.chat/ui-client'; import { useSetting, useRoomToolbox, useUserId } from '@rocket.chat/ui-contexts'; import { useMediaCallOpenRoomTracker } from '@rocket.chat/ui-voip'; -import type { ReactElement } from 'react'; import { createElement, lazy, memo, Suspense } from 'react'; import { ErrorBoundary } from 'react-error-boundary'; import { useTranslation } from 'react-i18next'; @@ -23,7 +22,7 @@ import { SelectedMessagesProvider } from './providers/SelectedMessagesProvider'; const UiKitContextualBar = lazy(() => import('./contextualBar/uikit/UiKitContextualBar')); -const Room = (): ReactElement => { +const Room = () => { const { t } = useTranslation(); const userId = useUserId(); const room = useRoom(); diff --git a/apps/meteor/client/views/room/RoomNotFound.tsx b/apps/meteor/client/views/room/RoomNotFound.tsx index 7ec139a7ba80d..1826af0662aeb 100644 --- a/apps/meteor/client/views/room/RoomNotFound.tsx +++ b/apps/meteor/client/views/room/RoomNotFound.tsx @@ -1,11 +1,10 @@ import { Box } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import RoomLayout from './layout/RoomLayout'; import NotFoundState from '../../components/NotFoundState'; -const RoomNotFound = (): ReactElement => { +const RoomNotFound = () => { const { t } = useTranslation(); return ( diff --git a/apps/meteor/client/views/room/RoomOpener.tsx b/apps/meteor/client/views/room/RoomOpener.tsx index ac6264eb7562f..d74defade886b 100644 --- a/apps/meteor/client/views/room/RoomOpener.tsx +++ b/apps/meteor/client/views/room/RoomOpener.tsx @@ -1,7 +1,6 @@ import type { RoomType } from '@rocket.chat/core-typings'; import { Box, States, StatesIcon, StatesSubtitle, StatesTitle } from '@rocket.chat/fuselage'; import { Header } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { lazy, Suspense } from 'react'; import { useTranslation } from 'react-i18next'; @@ -25,7 +24,7 @@ type RoomOpenerProps = { reference: string; }; -const RoomOpener = ({ type, reference }: RoomOpenerProps): ReactElement => { +const RoomOpener = ({ type, reference }: RoomOpenerProps) => { const { data, error, isSuccess, isError, isLoading } = useOpenRoom({ type, reference }); const { t } = useTranslation(); diff --git a/apps/meteor/client/views/room/RoomOpenerEmbedded.tsx b/apps/meteor/client/views/room/RoomOpenerEmbedded.tsx index aaeee3f060cdc..7b33753c427c8 100644 --- a/apps/meteor/client/views/room/RoomOpenerEmbedded.tsx +++ b/apps/meteor/client/views/room/RoomOpenerEmbedded.tsx @@ -2,7 +2,6 @@ import type { ISubscription, RoomType } from '@rocket.chat/core-typings'; import { Box, States, StatesIcon, StatesSubtitle, StatesTitle } from '@rocket.chat/fuselage'; import { Header } from '@rocket.chat/ui-client'; import { useStream, useUserId } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { lazy, Suspense, useEffect } from 'react'; import { useTranslation } from 'react-i18next'; @@ -27,7 +26,7 @@ type RoomOpenerProps = { reference: string; }; -const RoomOpenerEmbedded = ({ type, reference }: RoomOpenerProps): ReactElement => { +const RoomOpenerEmbedded = ({ type, reference }: RoomOpenerProps) => { const { data, error, isSuccess, isError, isLoading } = useOpenRoom({ type, reference }); const uid = useUserId(); const subscribeToNotifyUser = useStream('notify-user'); diff --git a/apps/meteor/client/views/room/RoomSkeleton.tsx b/apps/meteor/client/views/room/RoomSkeleton.tsx index b046d2d58b5ca..7d65f438d87b0 100644 --- a/apps/meteor/client/views/room/RoomSkeleton.tsx +++ b/apps/meteor/client/views/room/RoomSkeleton.tsx @@ -1,11 +1,9 @@ -import type { ReactElement } from 'react'; - import HeaderSkeleton from './Header/HeaderSkeleton'; import RoomComposerSkeleton from './composer/RoomComposer/RoomComposerSkeleton'; import RoomLayout from './layout/RoomLayout'; import ListSkeleton from '../../components/ListSkeleton'; -const RoomSkeleton = (): ReactElement => ( +const RoomSkeleton = () => ( } body={ diff --git a/apps/meteor/client/views/room/ShareLocation/ShareLocationModal.tsx b/apps/meteor/client/views/room/ShareLocation/ShareLocationModal.tsx index 38ee2aab125c7..8df597a01f071 100644 --- a/apps/meteor/client/views/room/ShareLocation/ShareLocationModal.tsx +++ b/apps/meteor/client/views/room/ShareLocation/ShareLocationModal.tsx @@ -2,7 +2,6 @@ import type { IMessage, IRoom } from '@rocket.chat/core-typings'; import { GenericModal } from '@rocket.chat/ui-client'; import { useEndpoint, useTranslation, useToastMessageDispatch } from '@rocket.chat/ui-contexts'; import { useQuery, useQueryClient } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import { getGeolocationPermission } from './getGeolocationPermission'; import { getGeolocationPosition } from './getGeolocationPosition'; @@ -14,7 +13,7 @@ type ShareLocationModalProps = { onClose: () => void; }; -const ShareLocationModal = ({ rid, tmid, onClose }: ShareLocationModalProps): ReactElement => { +const ShareLocationModal = ({ rid, tmid, onClose }: ShareLocationModalProps) => { const t = useTranslation(); const dispatchToast = useToastMessageDispatch(); const { data: permissionState, isLoading: permissionLoading } = useQuery({ diff --git a/apps/meteor/client/views/room/UserCard/UserCardWithData.tsx b/apps/meteor/client/views/room/UserCard/UserCardWithData.tsx index d1b0041eeec95..3b7f7106d8165 100644 --- a/apps/meteor/client/views/room/UserCard/UserCardWithData.tsx +++ b/apps/meteor/client/views/room/UserCard/UserCardWithData.tsx @@ -3,7 +3,6 @@ import type { IRoom } from '@rocket.chat/core-typings'; import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import { GenericMenu } from '@rocket.chat/ui-client'; import { useSetting, useRolesDescription } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -90,7 +89,7 @@ const UserCardWithData = ({ username, rid, onOpenUserInfo, onClose }: UserCardWi }, [menuOptions, onClose, t]); const actions = useMemo(() => { - const mapAction = ([key, { content, title, icon, onClick, disabled }]: [string, UserInfoAction]): ReactElement => ( + const mapAction = ([key, { content, title, icon, onClick, disabled }]: [string, UserInfoAction]) => ( ); diff --git a/apps/meteor/client/views/room/body/DropTargetOverlay.tsx b/apps/meteor/client/views/room/body/DropTargetOverlay.tsx index cebe3fa6237ae..6238c4553e201 100644 --- a/apps/meteor/client/views/room/body/DropTargetOverlay.tsx +++ b/apps/meteor/client/views/room/body/DropTargetOverlay.tsx @@ -1,7 +1,7 @@ import { css } from '@rocket.chat/css-in-js'; import { Box } from '@rocket.chat/fuselage'; import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; -import type { DragEvent, ReactElement, ReactNode } from 'react'; +import type { DragEvent, ReactNode } from 'react'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -15,7 +15,7 @@ type DropTargetOverlayProps = { onDismiss?: () => void; }; -function DropTargetOverlay({ enabled, reason, onFileDrop, visible = true, onDismiss }: DropTargetOverlayProps): ReactElement | null { +function DropTargetOverlay({ enabled, reason, onFileDrop, visible = true, onDismiss }: DropTargetOverlayProps) { const { t } = useTranslation(); const handleDragLeave = useEffectEvent((event: DragEvent) => { diff --git a/apps/meteor/client/views/room/body/JumpToRecentMessageButton.tsx b/apps/meteor/client/views/room/body/JumpToRecentMessageButton.tsx index 6f29de4cc661b..8a1ef7d58a364 100644 --- a/apps/meteor/client/views/room/body/JumpToRecentMessageButton.tsx +++ b/apps/meteor/client/views/room/body/JumpToRecentMessageButton.tsx @@ -1,7 +1,6 @@ import { css } from '@rocket.chat/css-in-js'; import { Box, Bubble } from '@rocket.chat/fuselage'; import { isTruthy } from '@rocket.chat/tools'; -import type { ReactElement } from 'react'; import { useState } from 'react'; type JumpToRecentMessageButtonProps = { @@ -39,7 +38,7 @@ const buttonStyle = css` } `; -const JumpToRecentMessageButton = ({ visible, onClick, text }: JumpToRecentMessageButtonProps): ReactElement => { +const JumpToRecentMessageButton = ({ visible, onClick, text }: JumpToRecentMessageButtonProps) => { const [clicked, setClicked] = useState(false); return ( diff --git a/apps/meteor/client/views/room/body/LoadingMessagesIndicator.tsx b/apps/meteor/client/views/room/body/LoadingMessagesIndicator.tsx index 415672425f62d..91f1b64b7129a 100644 --- a/apps/meteor/client/views/room/body/LoadingMessagesIndicator.tsx +++ b/apps/meteor/client/views/room/body/LoadingMessagesIndicator.tsx @@ -1,7 +1,5 @@ -import type { ReactElement } from 'react'; - import LoadingIndicator from '../../../components/LoadingIndicator'; -const LoadingMessagesIndicator = (): ReactElement => ; +const LoadingMessagesIndicator = () => ; export default LoadingMessagesIndicator; diff --git a/apps/meteor/client/views/room/body/RetentionPolicyWarning.tsx b/apps/meteor/client/views/room/body/RetentionPolicyWarning.tsx index 0bc50daecedb9..7aa0d8f5150fd 100644 --- a/apps/meteor/client/views/room/body/RetentionPolicyWarning.tsx +++ b/apps/meteor/client/views/room/body/RetentionPolicyWarning.tsx @@ -1,12 +1,11 @@ import type { IRoom } from '@rocket.chat/core-typings'; import { Box, Bubble } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import { withErrorBoundary } from '../../../components/withErrorBoundary'; import { usePruneWarningMessage } from '../../../hooks/usePruneWarningMessage'; -const RetentionPolicyWarning = ({ room }: { room: IRoom }): ReactElement => { +const RetentionPolicyWarning = ({ room }: { room: IRoom }) => { const { t } = useTranslation(); const message = usePruneWarningMessage(room); diff --git a/apps/meteor/client/views/room/body/RoomBody.tsx b/apps/meteor/client/views/room/body/RoomBody.tsx index 6870e23c29c21..060bdb3937740 100644 --- a/apps/meteor/client/views/room/body/RoomBody.tsx +++ b/apps/meteor/client/views/room/body/RoomBody.tsx @@ -2,7 +2,7 @@ import { Box } from '@rocket.chat/fuselage'; import { isTruthy } from '@rocket.chat/tools'; import { CustomVirtuaScrollbars, useEmbeddedLayout } from '@rocket.chat/ui-client'; import { usePermission, useRole, useSetting, useTranslation, useUser, useUserPreference, useRoomToolbox } from '@rocket.chat/ui-contexts'; -import type { MouseEvent, ReactElement } from 'react'; +import type { MouseEvent } from 'react'; import { memo, useCallback, useMemo, useRef, useState } from 'react'; import { useMergedRefsV2 } from '../../../hooks/useMergedRefsV2'; @@ -32,7 +32,7 @@ import { useSelectAllAndScrollToTop } from './hooks/useSelectAllAndScrollToTop'; import { useHandleUnread } from './hooks/useUnreadMessages'; import useTryToJumpToThreadMessage from '../MessageList/hooks/useTryToJumpToThreadMessage'; -const RoomBody = (): ReactElement => { +const RoomBody = () => { const chat = useChat(); if (!chat) { throw new Error('No ChatContext provided'); diff --git a/apps/meteor/client/views/room/body/RoomForeword/RoomForeword.tsx b/apps/meteor/client/views/room/body/RoomForeword/RoomForeword.tsx index ed51017f3985d..5241a0ba88480 100644 --- a/apps/meteor/client/views/room/body/RoomForeword/RoomForeword.tsx +++ b/apps/meteor/client/views/room/body/RoomForeword/RoomForeword.tsx @@ -2,14 +2,13 @@ import type { IRoom, IUser } from '@rocket.chat/core-typings'; import { isDirectMessageRoom } from '@rocket.chat/core-typings'; import { Flex, Box } from '@rocket.chat/fuselage'; import { UserAvatar } from '@rocket.chat/ui-avatar'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import RoomForewordUsernameList from './RoomForewordUsernameList'; type RoomForewordProps = { user: IUser | null; room: IRoom }; -const RoomForeword = ({ user, room }: RoomForewordProps): ReactElement | null => { +const RoomForeword = ({ user, room }: RoomForewordProps) => { const { t } = useTranslation(); if (!isDirectMessageRoom(room)) { diff --git a/apps/meteor/client/views/room/body/UnreadMessagesIndicator.tsx b/apps/meteor/client/views/room/body/UnreadMessagesIndicator.tsx index 1ba3b71a73cdc..1ed0b725c7ff9 100644 --- a/apps/meteor/client/views/room/body/UnreadMessagesIndicator.tsx +++ b/apps/meteor/client/views/room/body/UnreadMessagesIndicator.tsx @@ -1,6 +1,5 @@ import { css } from '@rocket.chat/css-in-js'; import { Box, Bubble } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; type UnreadMessagesIndicatorProps = { @@ -16,7 +15,7 @@ const indicatorStyle = css` z-index: 3; `; -const UnreadMessagesIndicator = ({ count, onJumpButtonClick, onMarkAsReadButtonClick }: UnreadMessagesIndicatorProps): ReactElement => { +const UnreadMessagesIndicator = ({ count, onJumpButtonClick, onMarkAsReadButtonClick }: UnreadMessagesIndicatorProps) => { const { t } = useTranslation(); return ( diff --git a/apps/meteor/client/views/room/body/UploadProgress/UploadProgressIndicator.tsx b/apps/meteor/client/views/room/body/UploadProgress/UploadProgressIndicator.tsx index 270f961ccdde0..d286b81c4cefd 100644 --- a/apps/meteor/client/views/room/body/UploadProgress/UploadProgressIndicator.tsx +++ b/apps/meteor/client/views/room/body/UploadProgress/UploadProgressIndicator.tsx @@ -1,6 +1,5 @@ import { css } from '@rocket.chat/css-in-js'; import { Box, Bubble } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -10,7 +9,7 @@ type UploadProgressIndicatorProps = { uploads: readonly Upload[]; }; -const UploadProgressIndicator = ({ uploads }: UploadProgressIndicatorProps): ReactElement | null => { +const UploadProgressIndicator = ({ uploads }: UploadProgressIndicatorProps) => { const { t } = useTranslation(); const { percentage, count } = useMemo(() => { diff --git a/apps/meteor/client/views/room/composer/ComposerAirGappedRestricted.tsx b/apps/meteor/client/views/room/composer/ComposerAirGappedRestricted.tsx index a526a5c9475e1..6cf59f7cbfa84 100644 --- a/apps/meteor/client/views/room/composer/ComposerAirGappedRestricted.tsx +++ b/apps/meteor/client/views/room/composer/ComposerAirGappedRestricted.tsx @@ -1,9 +1,8 @@ import { Box, Icon } from '@rocket.chat/fuselage'; import { MessageFooterCallout } from '@rocket.chat/ui-composer'; -import type { ReactElement } from 'react'; import { Trans } from 'react-i18next'; -const ComposerAirGappedRestricted = (): ReactElement => { +const ComposerAirGappedRestricted = () => { return ( diff --git a/apps/meteor/client/views/room/composer/ComposerAnonymous.tsx b/apps/meteor/client/views/room/composer/ComposerAnonymous.tsx index 194fa373a0b4f..adcd2789bcc2c 100644 --- a/apps/meteor/client/views/room/composer/ComposerAnonymous.tsx +++ b/apps/meteor/client/views/room/composer/ComposerAnonymous.tsx @@ -8,9 +8,8 @@ import { useMethod, } from '@rocket.chat/ui-contexts'; import { useMutation } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; -const ComposerAnonymous = (): ReactElement => { +const ComposerAnonymous = () => { const t = useTranslation(); const dispatch = useToastMessageDispatch(); const isAnonymousWriteEnabled = useSetting('Accounts_AllowAnonymousWrite'); diff --git a/apps/meteor/client/views/room/composer/ComposerArchived.tsx b/apps/meteor/client/views/room/composer/ComposerArchived.tsx index 286c912c08a8e..e5e870c3e8c61 100644 --- a/apps/meteor/client/views/room/composer/ComposerArchived.tsx +++ b/apps/meteor/client/views/room/composer/ComposerArchived.tsx @@ -1,8 +1,7 @@ import { MessageFooterCallout, MessageFooterCalloutContent } from '@rocket.chat/ui-composer'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; -const ComposerReadOnly = (): ReactElement => { +const ComposerReadOnly = () => { const { t } = useTranslation(); return ( diff --git a/apps/meteor/client/views/room/composer/ComposerBlocked.tsx b/apps/meteor/client/views/room/composer/ComposerBlocked.tsx index c59211c1362c8..244ec0cc97992 100644 --- a/apps/meteor/client/views/room/composer/ComposerBlocked.tsx +++ b/apps/meteor/client/views/room/composer/ComposerBlocked.tsx @@ -1,8 +1,7 @@ import { MessageFooterCallout } from '@rocket.chat/ui-composer'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; -const ComposerBlocked = (): ReactElement => { +const ComposerBlocked = () => { const { t } = useTranslation(); return {t('room_is_blocked')}; }; diff --git a/apps/meteor/client/views/room/composer/ComposerBoxPopup.tsx b/apps/meteor/client/views/room/composer/ComposerBoxPopup.tsx index 024d1b0e9a818..6f3dd7ea1ce0e 100644 --- a/apps/meteor/client/views/room/composer/ComposerBoxPopup.tsx +++ b/apps/meteor/client/views/room/composer/ComposerBoxPopup.tsx @@ -2,7 +2,7 @@ import { Box, Option, OptionSkeleton, Tile } from '@rocket.chat/fuselage'; import { useContentBoxSize } from '@rocket.chat/fuselage-hooks'; import { CustomScrollbars } from '@rocket.chat/ui-client'; import type { UseQueryResult } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; +import type { ReactNode } from 'react'; import { useEffect, memo, useMemo, useRef, useId } from 'react'; import { useTranslation } from 'react-i18next'; @@ -17,7 +17,7 @@ export type ComposerBoxPopupProps< focused?: T; items: UseQueryResult[]; select: (item: T) => void; - renderItem?: ({ item }: { item: T }) => ReactElement; + renderItem?: ({ item }: { item: T }) => ReactNode; }; function ComposerBoxPopup< @@ -26,13 +26,7 @@ function ComposerBoxPopup< sort?: number; disabled?: boolean; }, ->({ - title, - items, - focused, - select, - renderItem = ({ item }: { item: T }) => <>{JSON.stringify(item)}, -}: ComposerBoxPopupProps): ReactElement | null { +>({ title, items, focused, select, renderItem = ({ item }: { item: T }) => <>{JSON.stringify(item)} }: ComposerBoxPopupProps) { const { t } = useTranslation(); const id = useId(); const composerBoxPopupRef = useRef(null); diff --git a/apps/meteor/client/views/room/composer/ComposerContainer.tsx b/apps/meteor/client/views/room/composer/ComposerContainer.tsx index d4469f5e56ead..2e4df274c931b 100644 --- a/apps/meteor/client/views/room/composer/ComposerContainer.tsx +++ b/apps/meteor/client/views/room/composer/ComposerContainer.tsx @@ -1,6 +1,5 @@ import { isOmnichannelRoom, isRoomFederated, isRoomNativeFederated } from '@rocket.chat/core-typings'; import { usePermission } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { memo } from 'react'; import ComposerAirGappedRestricted from './ComposerAirGappedRestricted'; @@ -22,7 +21,7 @@ import { useMessageComposerIsReadOnly } from './hooks/useMessageComposerIsReadOn import { useAirGappedRestriction } from '../../../hooks/useAirGappedRestriction'; import { useIsSelecting } from '../MessageList/contexts/SelectedMessagesContext'; -const ComposerContainer = ({ children, ...props }: ComposerMessageProps): ReactElement => { +const ComposerContainer = ({ children, ...props }: ComposerMessageProps) => { const room = useRoom(); const canJoinWithoutCode = usePermission('join-without-join-code'); diff --git a/apps/meteor/client/views/room/composer/ComposerFederation/ComposerFederation.tsx b/apps/meteor/client/views/room/composer/ComposerFederation/ComposerFederation.tsx index c6381ab8d611d..50d48eab6fb5c 100644 --- a/apps/meteor/client/views/room/composer/ComposerFederation/ComposerFederation.tsx +++ b/apps/meteor/client/views/room/composer/ComposerFederation/ComposerFederation.tsx @@ -1,5 +1,3 @@ -import type { ReactElement } from 'react'; - import { useHasLicenseModule } from '../../../../hooks/useHasLicenseModule'; import type { ComposerMessageProps } from '../ComposerMessage'; import ComposerMessage from '../ComposerMessage'; @@ -12,7 +10,7 @@ type ComposerFederationProps = ComposerMessageProps & { blocked?: boolean; }; -const ComposerFederation = ({ children, blocked, ...props }: ComposerFederationProps): ReactElement => { +const ComposerFederation = ({ children, blocked, ...props }: ComposerFederationProps) => { const federationEnabled = useIsFederationEnabled(); const { data: federationModuleEnabled = false } = useHasLicenseModule('federation'); diff --git a/apps/meteor/client/views/room/composer/ComposerFederation/ComposerFederationDisabled.tsx b/apps/meteor/client/views/room/composer/ComposerFederation/ComposerFederationDisabled.tsx index b2b0e3ef0cd28..8eae7138d5087 100644 --- a/apps/meteor/client/views/room/composer/ComposerFederation/ComposerFederationDisabled.tsx +++ b/apps/meteor/client/views/room/composer/ComposerFederation/ComposerFederationDisabled.tsx @@ -1,8 +1,7 @@ import { MessageFooterCallout } from '@rocket.chat/ui-composer'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; -const ComposerFederationDisabled = (): ReactElement => { +const ComposerFederationDisabled = () => { const { t } = useTranslation(); return {t('Federation_Matrix_Federated_Description_disabled')}; diff --git a/apps/meteor/client/views/room/composer/ComposerFederation/ComposerFederationInvalidVersion.tsx b/apps/meteor/client/views/room/composer/ComposerFederation/ComposerFederationInvalidVersion.tsx index 993c0f6568bc3..4c5f63bcb00f5 100644 --- a/apps/meteor/client/views/room/composer/ComposerFederation/ComposerFederationInvalidVersion.tsx +++ b/apps/meteor/client/views/room/composer/ComposerFederation/ComposerFederationInvalidVersion.tsx @@ -1,11 +1,10 @@ import { ExternalLink } from '@rocket.chat/ui-client'; import { MessageFooterCallout, MessageFooterCalloutContent } from '@rocket.chat/ui-composer'; -import type { ReactElement } from 'react'; import { Trans } from 'react-i18next'; import { links } from '../../../../lib/links'; -const ComposerFederationInvalidVersion = (): ReactElement => { +const ComposerFederationInvalidVersion = () => { return ( diff --git a/apps/meteor/client/views/room/composer/ComposerFederation/ComposerFederationJoinRoomDisabled.tsx b/apps/meteor/client/views/room/composer/ComposerFederation/ComposerFederationJoinRoomDisabled.tsx index 2b4f36c1e4859..3aba13c68c47b 100644 --- a/apps/meteor/client/views/room/composer/ComposerFederation/ComposerFederationJoinRoomDisabled.tsx +++ b/apps/meteor/client/views/room/composer/ComposerFederation/ComposerFederationJoinRoomDisabled.tsx @@ -1,8 +1,7 @@ import { MessageFooterCallout } from '@rocket.chat/ui-composer'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; -const ComposerFederationJoinRoomDisabled = (): ReactElement => { +const ComposerFederationJoinRoomDisabled = () => { const { t } = useTranslation(); return {t('Federation_Matrix_join_public_rooms_is_premium')}; diff --git a/apps/meteor/client/views/room/composer/ComposerJoinWithPassword.tsx b/apps/meteor/client/views/room/composer/ComposerJoinWithPassword.tsx index 1c4b85c814629..2157192d9533f 100644 --- a/apps/meteor/client/views/room/composer/ComposerJoinWithPassword.tsx +++ b/apps/meteor/client/views/room/composer/ComposerJoinWithPassword.tsx @@ -1,12 +1,11 @@ import { PasswordInput } from '@rocket.chat/fuselage'; import { MessageFooterCallout, MessageFooterCalloutAction, MessageFooterCalloutContent } from '@rocket.chat/ui-composer'; import { useTranslation, useEndpoint, useToastMessageDispatch } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { Controller, useForm } from 'react-hook-form'; import { useRoom } from '../contexts/RoomContext'; -const ComposerJoinWithPassword = (): ReactElement => { +const ComposerJoinWithPassword = () => { const t = useTranslation(); const room = useRoom(); const dispatchToastMessage = useToastMessageDispatch(); diff --git a/apps/meteor/client/views/room/composer/ComposerMessage.tsx b/apps/meteor/client/views/room/composer/ComposerMessage.tsx index 2daa10309ef45..0085072016bf3 100644 --- a/apps/meteor/client/views/room/composer/ComposerMessage.tsx +++ b/apps/meteor/client/views/room/composer/ComposerMessage.tsx @@ -1,6 +1,6 @@ import type { IMessage, ISubscription } from '@rocket.chat/core-typings'; import { useToastMessageDispatch } from '@rocket.chat/ui-contexts'; -import type { ReactElement, ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { memo, useMemo, useSyncExternalStore } from 'react'; import ComposerSkeleton from './ComposerSkeleton'; @@ -23,7 +23,7 @@ export type ComposerMessageProps = { onClickSelectAll?: () => void; }; -const ComposerMessage = ({ tmid, onSend, ...props }: ComposerMessageProps): ReactElement => { +const ComposerMessage = ({ tmid, onSend, ...props }: ComposerMessageProps) => { const chat = useChat(); const room = useRoom(); const dispatchToastMessage = useToastMessageDispatch(); diff --git a/apps/meteor/client/views/room/composer/ComposerOmnichannel/ComposerOmnichannelInquiry.tsx b/apps/meteor/client/views/room/composer/ComposerOmnichannel/ComposerOmnichannelInquiry.tsx index 4be272de0ed00..bdc7f30c02394 100644 --- a/apps/meteor/client/views/room/composer/ComposerOmnichannel/ComposerOmnichannelInquiry.tsx +++ b/apps/meteor/client/views/room/composer/ComposerOmnichannel/ComposerOmnichannelInquiry.tsx @@ -1,13 +1,12 @@ import { MessageFooterCallout, MessageFooterCalloutAction, MessageFooterCalloutContent } from '@rocket.chat/ui-composer'; import { useEndpoint, useToastMessageDispatch, useTranslation, useUser } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import { useMemo } from 'react'; import { useOmnichannelAgentAvailable } from '../../../omnichannel/hooks/useOmnichannelAgentAvailable'; import { useOmnichannelRoom } from '../../contexts/RoomContext'; -export const ComposerOmnichannelInquiry = (): ReactElement => { +export const ComposerOmnichannelInquiry = () => { const t = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); const user = useUser(); diff --git a/apps/meteor/client/views/room/composer/ComposerOmnichannel/ComposerOmnichannelJoin.tsx b/apps/meteor/client/views/room/composer/ComposerOmnichannel/ComposerOmnichannelJoin.tsx index 0ed7dd4f3dbca..029b44e32d6fe 100644 --- a/apps/meteor/client/views/room/composer/ComposerOmnichannel/ComposerOmnichannelJoin.tsx +++ b/apps/meteor/client/views/room/composer/ComposerOmnichannel/ComposerOmnichannelJoin.tsx @@ -1,11 +1,10 @@ import { MessageFooterCallout, MessageFooterCalloutAction, MessageFooterCalloutContent } from '@rocket.chat/ui-composer'; import { useEndpoint, useToastMessageDispatch } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import { useOmnichannelRoom } from '../../contexts/RoomContext'; -export const ComposerOmnichannelJoin = (): ReactElement => { +export const ComposerOmnichannelJoin = () => { const room = useOmnichannelRoom(); const join = useEndpoint('GET', `/v1/livechat/room.join`); diff --git a/apps/meteor/client/views/room/composer/ComposerOmnichannel/ComposerOmnichannelOnHold.tsx b/apps/meteor/client/views/room/composer/ComposerOmnichannel/ComposerOmnichannelOnHold.tsx index 26accba16401a..18e436e36a764 100644 --- a/apps/meteor/client/views/room/composer/ComposerOmnichannel/ComposerOmnichannelOnHold.tsx +++ b/apps/meteor/client/views/room/composer/ComposerOmnichannel/ComposerOmnichannelOnHold.tsx @@ -1,11 +1,10 @@ import { MessageFooterCallout, MessageFooterCalloutAction, MessageFooterCalloutContent } from '@rocket.chat/ui-composer'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import { useResumeChatOnHoldMutation } from './hooks/useResumeChatOnHoldMutation'; import { useOmnichannelRoom } from '../../contexts/RoomContext'; -export const ComposerOmnichannelOnHold = (): ReactElement => { +export const ComposerOmnichannelOnHold = () => { const resumeChatOnHoldMutation = useResumeChatOnHoldMutation(); const room = useOmnichannelRoom(); diff --git a/apps/meteor/client/views/room/composer/ComposerReadOnly.tsx b/apps/meteor/client/views/room/composer/ComposerReadOnly.tsx index d2769ea1d21d6..16071984db086 100644 --- a/apps/meteor/client/views/room/composer/ComposerReadOnly.tsx +++ b/apps/meteor/client/views/room/composer/ComposerReadOnly.tsx @@ -2,12 +2,11 @@ import { Button } from '@rocket.chat/fuselage'; import { MessageFooterCallout, MessageFooterCalloutContent } from '@rocket.chat/ui-composer'; import { useEndpoint, useToastMessageDispatch } from '@rocket.chat/ui-contexts'; import { useMutation } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import { useRoom, useUserIsSubscribed } from '../contexts/RoomContext'; -const ComposerReadOnly = (): ReactElement => { +const ComposerReadOnly = () => { const { t } = useTranslation(); const room = useRoom(); const isSubscribed = useUserIsSubscribed(); diff --git a/apps/meteor/client/views/room/composer/ComposerSelectMessages.tsx b/apps/meteor/client/views/room/composer/ComposerSelectMessages.tsx index 2055c5bf864bd..593e51aa59e60 100644 --- a/apps/meteor/client/views/room/composer/ComposerSelectMessages.tsx +++ b/apps/meteor/client/views/room/composer/ComposerSelectMessages.tsx @@ -1,12 +1,11 @@ import { Button, ButtonGroup } from '@rocket.chat/fuselage'; import { MessageFooterCallout, MessageFooterCalloutContent } from '@rocket.chat/ui-composer'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import type { ComposerMessageProps } from './ComposerMessage'; import { useCountSelected, useClearSelection, useAvailableMessagesCount } from '../MessageList/contexts/SelectedMessagesContext'; -const ComposerSelectMessages = ({ onClickSelectAll }: ComposerMessageProps): ReactElement => { +const ComposerSelectMessages = ({ onClickSelectAll }: ComposerMessageProps) => { const { t } = useTranslation(); const clearSelection = useClearSelection(); diff --git a/apps/meteor/client/views/room/composer/ComposerUserActionIndicator/ComposerUserActionIndicator.tsx b/apps/meteor/client/views/room/composer/ComposerUserActionIndicator/ComposerUserActionIndicator.tsx index a8e9a1f4a02bf..a0d0a6df4cf92 100644 --- a/apps/meteor/client/views/room/composer/ComposerUserActionIndicator/ComposerUserActionIndicator.tsx +++ b/apps/meteor/client/views/room/composer/ComposerUserActionIndicator/ComposerUserActionIndicator.tsx @@ -1,5 +1,4 @@ import { Box } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { useCallback, Fragment, useSyncExternalStore, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -14,7 +13,7 @@ const ACTION_PRIORITY: Record = { [USER_ACTIVITIES.USER_PLAYING]: 3, }; -const ComposerUserActionIndicator = ({ rid, tmid }: { rid: string; tmid?: string }): ReactElement => { +const ComposerUserActionIndicator = ({ rid, tmid }: { rid: string; tmid?: string }) => { const { t } = useTranslation(); const roomAction = useSyncExternalStore( UserAction.subscribe, diff --git a/apps/meteor/client/views/room/composer/hooks/useComposerBoxPopup.ts b/apps/meteor/client/views/room/composer/hooks/useComposerBoxPopup.ts index b4e24c3fff608..399e77d41e568 100644 --- a/apps/meteor/client/views/room/composer/hooks/useComposerBoxPopup.ts +++ b/apps/meteor/client/views/room/composer/hooks/useComposerBoxPopup.ts @@ -60,7 +60,7 @@ export const useComposerBoxPopup = ( const option = options[optionIndex]; - const commandsRef: ComposerBoxPopupImperativeCommands = useRef(); + const commandsRef: ComposerBoxPopupImperativeCommands = useRef(undefined); const { queries: items, suspended } = useComposerBoxPopupQueries(filter, option) as { queries: UseQueryResult[]; diff --git a/apps/meteor/client/views/room/composer/messageBox/MessageBox.tsx b/apps/meteor/client/views/room/composer/messageBox/MessageBox.tsx index b1a6cd6d80cc5..05305c9a3f6a5 100644 --- a/apps/meteor/client/views/room/composer/messageBox/MessageBox.tsx +++ b/apps/meteor/client/views/room/composer/messageBox/MessageBox.tsx @@ -13,7 +13,7 @@ import { } from '@rocket.chat/ui-composer'; import { useTranslation, useUserPreference, useLayout, useSetting } from '@rocket.chat/ui-contexts'; import { useMutation } from '@tanstack/react-query'; -import type { ReactElement, FormEvent, MouseEvent, ClipboardEvent } from 'react'; +import type { FormEvent, MouseEvent, ClipboardEvent } from 'react'; import { memo, useRef, useReducer, useCallback, useSyncExternalStore } from 'react'; import MessageBoxActionsToolbar from './MessageBoxActionsToolbar'; @@ -106,7 +106,7 @@ const MessageBox = ({ onTyping, tshow, previewUrls, -}: MessageBoxProps): ReactElement => { +}: MessageBoxProps) => { const chat = useChat(); const room = useRoom(); const t = useTranslation(); diff --git a/apps/meteor/client/views/room/composer/messageBox/MessageBoxHint.tsx b/apps/meteor/client/views/room/composer/messageBox/MessageBoxHint.tsx index b08dc9c337f6d..62780bb1fd745 100644 --- a/apps/meteor/client/views/room/composer/messageBox/MessageBoxHint.tsx +++ b/apps/meteor/client/views/room/composer/messageBox/MessageBoxHint.tsx @@ -1,5 +1,4 @@ import { MessageComposerHint } from '@rocket.chat/ui-composer'; -import type { ReactElement } from 'react'; import { memo } from 'react'; import { useTranslation, Trans } from 'react-i18next'; @@ -13,7 +12,7 @@ type MessageBoxHintProps = { isMobile?: boolean; }; -const MessageBoxHint = ({ isEditing, e2eEnabled, unencryptedMessagesAllowed, isMobile }: MessageBoxHintProps): ReactElement | null => { +const MessageBoxHint = ({ isEditing, e2eEnabled, unencryptedMessagesAllowed, isMobile }: MessageBoxHintProps) => { const room = useRoom(); const isReadOnly = room?.ro || false; const { t } = useTranslation(); diff --git a/apps/meteor/client/views/room/composer/messageBox/MessageBoxReplies.tsx b/apps/meteor/client/views/room/composer/messageBox/MessageBoxReplies.tsx index 1a4b6d48a5622..0066bdc17fe61 100644 --- a/apps/meteor/client/views/room/composer/messageBox/MessageBoxReplies.tsx +++ b/apps/meteor/client/views/room/composer/messageBox/MessageBoxReplies.tsx @@ -1,11 +1,10 @@ import { Box } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { memo, useSyncExternalStore } from 'react'; import MessageBoxReply from './MessageBoxReply'; import { useChat } from '../../contexts/ChatContext'; -const MessageBoxReplies = (): ReactElement | null => { +const MessageBoxReplies = () => { const chat = useChat(); if (!chat?.composer?.quotedMessages) { diff --git a/apps/meteor/client/views/room/composer/messageBox/MessageBoxReply.tsx b/apps/meteor/client/views/room/composer/messageBox/MessageBoxReply.tsx index d4ff2294dc8e4..14a621f702893 100644 --- a/apps/meteor/client/views/room/composer/messageBox/MessageBoxReply.tsx +++ b/apps/meteor/client/views/room/composer/messageBox/MessageBoxReply.tsx @@ -2,7 +2,6 @@ import type { IMessage, MessageQuoteAttachment } from '@rocket.chat/core-typings import { css } from '@rocket.chat/css-in-js'; import { IconButton, Box, Margins } from '@rocket.chat/fuselage'; import { useUserDisplayName } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -10,7 +9,7 @@ import { QuoteAttachment } from '../../../../components/message/content/attachme import AttachmentProvider from '../../../../providers/AttachmentProvider'; import { useChat } from '../../contexts/ChatContext'; -const MessageBoxReply = ({ reply }: { reply: IMessage }): ReactElement | null => { +const MessageBoxReply = ({ reply }: { reply: IMessage }) => { const { t } = useTranslation(); const chat = useChat(); diff --git a/apps/meteor/client/views/room/composer/messageBox/hooks/useMessageBoxAutoFocus.ts b/apps/meteor/client/views/room/composer/messageBox/hooks/useMessageBoxAutoFocus.ts index b8efd9391f879..4359610323c90 100644 --- a/apps/meteor/client/views/room/composer/messageBox/hooks/useMessageBoxAutoFocus.ts +++ b/apps/meteor/client/views/room/composer/messageBox/hooks/useMessageBoxAutoFocus.ts @@ -7,7 +7,7 @@ import { useCallback, useEffect, useRef } from 'react'; * @returns callbackRef to bind the logic to the message box */ export const useMessageBoxAutoFocus = (enabled: boolean): Ref => { - const ref = useRef(); + const ref = useRef(undefined); useEffect(() => { const handleKeyDown = (e: KeyboardEvent) => { diff --git a/apps/meteor/client/views/room/contexts/ComposerPopupContext.ts b/apps/meteor/client/views/room/contexts/ComposerPopupContext.ts index d6f8611d8ab5c..3ea2b4b218101 100644 --- a/apps/meteor/client/views/room/contexts/ComposerPopupContext.ts +++ b/apps/meteor/client/views/room/contexts/ComposerPopupContext.ts @@ -1,5 +1,5 @@ import type { Optional } from '@rocket.chat/core-typings'; -import type { ReactElement } from 'react'; +import type { ReactNode } from 'react'; import { useContext, createContext } from 'react'; export type ComposerPopupOption = { @@ -21,7 +21,7 @@ export type ComposerPopupOption string; - renderItem?: ({ item }: { item: T }) => ReactElement; + renderItem?: ({ item }: { item: T }) => ReactNode; disabled?: boolean; }; diff --git a/apps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslate.tsx b/apps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslate.tsx index dda8849af7c2e..da51fc90e821a 100644 --- a/apps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslate.tsx +++ b/apps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslate.tsx @@ -8,7 +8,7 @@ import { ContextualbarContent, ContextualbarDialog, } from '@rocket.chat/ui-client'; -import type { ReactElement, ChangeEvent } from 'react'; +import type { ChangeEvent } from 'react'; import { useTranslation } from 'react-i18next'; import { useRoom } from '../../contexts/RoomContext'; @@ -22,14 +22,7 @@ type AutoTranslateProps = { handleClose?: () => void; }; -const AutoTranslate = ({ - language, - languages, - handleSwitch, - translateEnable, - handleChangeLanguage, - handleClose, -}: AutoTranslateProps): ReactElement => { +const AutoTranslate = ({ language, languages, handleSwitch, translateEnable, handleChangeLanguage, handleClose }: AutoTranslateProps) => { const { t } = useTranslation(); const room = useRoom(); diff --git a/apps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslateWithData.tsx b/apps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslateWithData.tsx index e6e8fae24424e..78f6674e8dd27 100644 --- a/apps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslateWithData.tsx +++ b/apps/meteor/client/views/room/contextualBar/AutoTranslate/AutoTranslateWithData.tsx @@ -1,7 +1,7 @@ import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import { useEndpoint, useLanguage, useToastMessageDispatch, useRoomToolbox } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; -import type { ChangeEvent, ReactElement } from 'react'; +import type { ChangeEvent } from 'react'; import { useEffect, useState, memo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -10,7 +10,7 @@ import { useEndpointMutation } from '../../../../hooks/useEndpointMutation'; import { miscQueryKeys } from '../../../../lib/queryKeys'; import { useRoom, useRoomSubscription } from '../../contexts/RoomContext'; -const AutoTranslateWithData = (): ReactElement => { +const AutoTranslateWithData = () => { const room = useRoom(); const subscription = useRoomSubscription(); const { closeTab } = useRoomToolbox(); diff --git a/apps/meteor/client/views/room/contextualBar/BannedUsers/BannedUsers.tsx b/apps/meteor/client/views/room/contextualBar/BannedUsers/BannedUsers.tsx index edfce49090d78..1410010359fac 100644 --- a/apps/meteor/client/views/room/contextualBar/BannedUsers/BannedUsers.tsx +++ b/apps/meteor/client/views/room/contextualBar/BannedUsers/BannedUsers.tsx @@ -10,7 +10,6 @@ import { ContextualbarTitle, VirtualizedScrollbars, } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import { Virtuoso } from 'react-virtuoso'; @@ -60,9 +59,7 @@ const BannedUsers = ({ loading, error, bannedUsers, useRealName = false, onClick data={bannedUsers} overscan={50} endReached={loadMoreBannedUsers} - itemContent={(_index, user): ReactElement => ( - - )} + itemContent={(_index, user) => } /> diff --git a/apps/meteor/client/views/room/contextualBar/BannedUsers/BannedUsersItem.tsx b/apps/meteor/client/views/room/contextualBar/BannedUsers/BannedUsersItem.tsx index e6ab0beece970..3b6e00464f89a 100644 --- a/apps/meteor/client/views/room/contextualBar/BannedUsers/BannedUsersItem.tsx +++ b/apps/meteor/client/views/room/contextualBar/BannedUsers/BannedUsersItem.tsx @@ -1,7 +1,6 @@ import { Box, Icon, Option, OptionAvatar, OptionColumn, OptionContent, OptionDescription, OptionMenu } from '@rocket.chat/fuselage'; import { UserAvatar } from '@rocket.chat/ui-avatar'; import { GenericMenu } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -16,7 +15,7 @@ type BannedUsersItemProps = { onClickUnban: (username: string) => void; }; -const BannedUsersItem = ({ user, useRealName, onClickUnban }: BannedUsersItemProps): ReactElement => { +const BannedUsersItem = ({ user, useRealName, onClickUnban }: BannedUsersItemProps) => { const { t } = useTranslation(); const [nameOrUsername, displayUsername] = getUserDisplayNames(user.name, user.username, useRealName); diff --git a/apps/meteor/client/views/room/contextualBar/Discussions/components/DiscussionsListItem.tsx b/apps/meteor/client/views/room/contextualBar/Discussions/components/DiscussionsListItem.tsx index 0eea8986dfc51..6189f1adaac24 100644 --- a/apps/meteor/client/views/room/contextualBar/Discussions/components/DiscussionsListItem.tsx +++ b/apps/meteor/client/views/room/contextualBar/Discussions/components/DiscussionsListItem.tsx @@ -15,7 +15,7 @@ import { MessageMetricsItemIcon, } from '@rocket.chat/fuselage'; import { MessageAvatar } from '@rocket.chat/ui-avatar'; -import type { ComponentProps, ReactElement, ReactNode } from 'react'; +import type { ComponentProps, ReactNode } from 'react'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -46,7 +46,7 @@ const DiscussionListItem = ({ className = [], emoji, ...props -}: DiscussionListItemProps): ReactElement => { +}: DiscussionListItemProps) => { const { t } = useTranslation(); return ( diff --git a/apps/meteor/client/views/room/contextualBar/MentionsTab.tsx b/apps/meteor/client/views/room/contextualBar/MentionsTab.tsx index d2bc622767218..3a5fe24917141 100644 --- a/apps/meteor/client/views/room/contextualBar/MentionsTab.tsx +++ b/apps/meteor/client/views/room/contextualBar/MentionsTab.tsx @@ -1,14 +1,13 @@ import type { IMessage } from '@rocket.chat/core-typings'; import { useEndpoint } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import MessageListTab from './MessageListTab'; import { mapMessageFromApi } from '../../../lib/utils/mapMessageFromApi'; import { useRoom } from '../contexts/RoomContext'; -const MentionsTab = (): ReactElement => { +const MentionsTab = () => { const getMentionedMessages = useEndpoint('GET', '/v1/chat.getMentionedMessages'); const room = useRoom(); diff --git a/apps/meteor/client/views/room/contextualBar/MessageListTab.tsx b/apps/meteor/client/views/room/contextualBar/MessageListTab.tsx index 16c83d3cacf16..caa2fedb482bc 100644 --- a/apps/meteor/client/views/room/contextualBar/MessageListTab.tsx +++ b/apps/meteor/client/views/room/contextualBar/MessageListTab.tsx @@ -14,7 +14,7 @@ import { } from '@rocket.chat/ui-client'; import { useUserPreference, useRoomToolbox } from '@rocket.chat/ui-contexts'; import type { UseQueryResult } from '@tanstack/react-query'; -import type { ReactElement, ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { useCallback } from 'react'; import { Virtuoso } from 'react-virtuoso'; @@ -35,7 +35,7 @@ type MessageListTabProps = { queryResult: UseQueryResult; }; -const MessageListTab = ({ iconName, title, emptyResultMessage, context, queryResult }: MessageListTabProps): ReactElement => { +const MessageListTab = ({ iconName, title, emptyResultMessage, context, queryResult }: MessageListTabProps) => { const formatDate = useFormatDate(); const showUserAvatar = !!useUserPreference('displayAvatars'); diff --git a/apps/meteor/client/views/room/contextualBar/NotificationPreferences/NotificationPreferences.tsx b/apps/meteor/client/views/room/contextualBar/NotificationPreferences/NotificationPreferences.tsx index 0ed2955659e1b..7830be77341e4 100644 --- a/apps/meteor/client/views/room/contextualBar/NotificationPreferences/NotificationPreferences.tsx +++ b/apps/meteor/client/views/room/contextualBar/NotificationPreferences/NotificationPreferences.tsx @@ -9,7 +9,6 @@ import { ContextualbarFooter, ContextualbarDialog, } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { useFormContext } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -24,12 +23,7 @@ type NotificationPreferencesProps = { handlePlaySound: () => void; }; -const NotificationPreferences = ({ - handleClose, - handleSave, - notificationOptions, - handlePlaySound, -}: NotificationPreferencesProps): ReactElement => { +const NotificationPreferences = ({ handleClose, handleSave, notificationOptions, handlePlaySound }: NotificationPreferencesProps) => { const { t } = useTranslation(); const { formState: { isDirty, isSubmitting }, diff --git a/apps/meteor/client/views/room/contextualBar/NotificationPreferences/NotificationPreferencesWithData.tsx b/apps/meteor/client/views/room/contextualBar/NotificationPreferences/NotificationPreferencesWithData.tsx index a478bbb294aa3..387ae7434fea7 100644 --- a/apps/meteor/client/views/room/contextualBar/NotificationPreferences/NotificationPreferencesWithData.tsx +++ b/apps/meteor/client/views/room/contextualBar/NotificationPreferences/NotificationPreferencesWithData.tsx @@ -1,6 +1,5 @@ import type { SelectOption } from '@rocket.chat/fuselage'; import { useCustomSound, useToastMessageDispatch, useRoomToolbox, useUserPreference } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { memo } from 'react'; import { useForm, FormProvider } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -9,7 +8,7 @@ import NotificationPreferences from './NotificationPreferences'; import { useEndpointMutation } from '../../../../hooks/useEndpointMutation'; import { useRoom, useRoomSubscription } from '../../contexts/RoomContext'; -const NotificationPreferencesWithData = (): ReactElement => { +const NotificationPreferencesWithData = () => { const { t } = useTranslation(); const room = useRoom(); const subscription = useRoomSubscription(); diff --git a/apps/meteor/client/views/room/contextualBar/NotificationPreferences/components/NotificationByDevice.tsx b/apps/meteor/client/views/room/contextualBar/NotificationPreferences/components/NotificationByDevice.tsx index f91e06acccdec..9060bfc09cf05 100644 --- a/apps/meteor/client/views/room/contextualBar/NotificationPreferences/components/NotificationByDevice.tsx +++ b/apps/meteor/client/views/room/contextualBar/NotificationPreferences/components/NotificationByDevice.tsx @@ -1,6 +1,6 @@ import { Box, AccordionItem, Icon, FieldGroup } from '@rocket.chat/fuselage'; import type { Keys as IconName } from '@rocket.chat/icons'; -import type { ReactElement, ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { memo } from 'react'; type NotificationByDeviceProps = { @@ -9,7 +9,7 @@ type NotificationByDeviceProps = { children: ReactNode; }; -const NotificationByDevice = ({ device, icon, children }: NotificationByDeviceProps): ReactElement => ( +const NotificationByDevice = ({ device, icon, children }: NotificationByDeviceProps) => ( diff --git a/apps/meteor/client/views/room/contextualBar/NotificationPreferences/components/NotificationPreference.tsx b/apps/meteor/client/views/room/contextualBar/NotificationPreferences/components/NotificationPreference.tsx index 85cf9b276298b..177d8687c9f58 100644 --- a/apps/meteor/client/views/room/contextualBar/NotificationPreferences/components/NotificationPreference.tsx +++ b/apps/meteor/client/views/room/contextualBar/NotificationPreferences/components/NotificationPreference.tsx @@ -1,6 +1,6 @@ import type { SelectOption } from '@rocket.chat/fuselage'; import { Field, FieldLabel, FieldRow, Select } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; +import type { ReactNode } from 'react'; type NotificationPreferenceProps = { id: string; @@ -8,17 +8,10 @@ type NotificationPreferenceProps = { options: SelectOption[]; onChange: (e: unknown) => void; optionValue: string; - children?: ReactElement; + children?: ReactNode; }; -const NotificationPreference = ({ - name, - options, - onChange, - optionValue, - children, - ...props -}: NotificationPreferenceProps): ReactElement => ( +const NotificationPreference = ({ name, options, onChange, optionValue, children, ...props }: NotificationPreferenceProps) => ( {name} diff --git a/apps/meteor/client/views/room/contextualBar/NotificationPreferences/components/NotificationToggle.tsx b/apps/meteor/client/views/room/contextualBar/NotificationPreferences/components/NotificationToggle.tsx index c3a9c105fe304..33e4ba542764c 100644 --- a/apps/meteor/client/views/room/contextualBar/NotificationPreferences/components/NotificationToggle.tsx +++ b/apps/meteor/client/views/room/contextualBar/NotificationPreferences/components/NotificationToggle.tsx @@ -1,5 +1,5 @@ import { Field, FieldLabel, FieldDescription, FieldGroup, ToggleSwitch, FieldRow } from '@rocket.chat/fuselage'; -import type { ComponentProps, ReactElement } from 'react'; +import type { ComponentProps } from 'react'; import { memo, useId } from 'react'; type NotificationToggleProps = { @@ -8,7 +8,7 @@ type NotificationToggleProps = { onChange: (e: unknown) => void; } & ComponentProps; -const NotificationToggle = ({ label, description, onChange, ...props }: NotificationToggleProps): ReactElement => { +const NotificationToggle = ({ label, description, onChange, ...props }: NotificationToggleProps) => { const fieldId = useId(); return ( diff --git a/apps/meteor/client/views/room/contextualBar/PinnedMessagesTab.tsx b/apps/meteor/client/views/room/contextualBar/PinnedMessagesTab.tsx index 7c67dcf94b4b1..b72aef32e026a 100644 --- a/apps/meteor/client/views/room/contextualBar/PinnedMessagesTab.tsx +++ b/apps/meteor/client/views/room/contextualBar/PinnedMessagesTab.tsx @@ -1,7 +1,6 @@ import type { IMessage } from '@rocket.chat/core-typings'; import { useEndpoint } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import MessageListTab from './MessageListTab'; @@ -9,7 +8,7 @@ import { onClientMessageReceived } from '../../../lib/onClientMessageReceived'; import { mapMessageFromApi } from '../../../lib/utils/mapMessageFromApi'; import { useRoom } from '../contexts/RoomContext'; -const PinnedMessagesTab = (): ReactElement => { +const PinnedMessagesTab = () => { const getPinnedMessages = useEndpoint('GET', '/v1/chat.getPinnedMessages'); const room = useRoom(); diff --git a/apps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessages.tsx b/apps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessages.tsx index a0089d2875598..8a681f2c627d3 100644 --- a/apps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessages.tsx +++ b/apps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessages.tsx @@ -8,7 +8,7 @@ import { ContextualbarClose, ContextualbarDialog, } from '@rocket.chat/ui-client'; -import { useId, type ReactElement } from 'react'; +import { useId } from 'react'; import { useFormContext, Controller } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -23,7 +23,7 @@ type PruneMessagesProps = { onClickPrune: () => void; }; -const PruneMessages = ({ callOutText, validateText, onClickClose, onClickPrune }: PruneMessagesProps): ReactElement => { +const PruneMessages = ({ callOutText, validateText, onClickClose, onClickPrune }: PruneMessagesProps) => { const { t } = useTranslation(); const { control } = useFormContext(); diff --git a/apps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessagesDateTimeRow.tsx b/apps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessagesDateTimeRow.tsx index 5ff26fd70bd76..d0c599c9c1ec4 100644 --- a/apps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessagesDateTimeRow.tsx +++ b/apps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessagesDateTimeRow.tsx @@ -1,5 +1,4 @@ import { Box, Margins, Field, FieldLabel, InputBox } from '@rocket.chat/fuselage'; -import { type ReactElement } from 'react'; import { useFormContext } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -8,7 +7,7 @@ type PruneMessagesDateTimeRowProps = { field: 'newer' | 'older'; }; -const PruneMessagesDateTimeRow = ({ label, field }: PruneMessagesDateTimeRowProps): ReactElement => { +const PruneMessagesDateTimeRow = ({ label, field }: PruneMessagesDateTimeRowProps) => { const { register } = useFormContext(); const { t } = useTranslation(); diff --git a/apps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessagesWithData.tsx b/apps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessagesWithData.tsx index 5235c5e0e9499..4bc37c930a935 100644 --- a/apps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessagesWithData.tsx +++ b/apps/meteor/client/views/room/contextualBar/PruneMessages/PruneMessagesWithData.tsx @@ -2,7 +2,6 @@ import { isDirectMessageRoom } from '@rocket.chat/core-typings'; import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import { GenericModal } from '@rocket.chat/ui-client'; import { useSetModal, useToastMessageDispatch, useEndpoint, useRoomToolbox } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useCallback, useMemo, useState } from 'react'; import { useForm, FormProvider } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -36,7 +35,7 @@ export const initialValues = { const DEFAULT_PRUNE_LIMIT = 2000; -const PruneMessagesWithData = (): ReactElement => { +const PruneMessagesWithData = () => { const { t } = useTranslation(); const room = useRoom(); const setModal = useSetModal(); diff --git a/apps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/AddMatrixUsers/AddMatrixUsersModal.tsx b/apps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/AddMatrixUsers/AddMatrixUsersModal.tsx index 02bdaf0659c95..d4013c7ff6e49 100644 --- a/apps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/AddMatrixUsers/AddMatrixUsersModal.tsx +++ b/apps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/AddMatrixUsers/AddMatrixUsersModal.tsx @@ -14,7 +14,7 @@ import { ModalFooterAnnotation, ModalFooterControllers, } from '@rocket.chat/fuselage'; -import type { ComponentProps, ReactElement } from 'react'; +import type { ComponentProps } from 'react'; import { useId, useState } from 'react'; import { useForm } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -41,7 +41,7 @@ const verificationStatusAsIcon = (verificationStatus: string): ComponentProps { +const AddMatrixUsersModal = ({ onClose, matrixIdVerifiedStatus, onSave, completeUserList }: AddMatrixUsersModalProps) => { const { t } = useTranslation(); const checkboxId = useId(); const [bannedError, setBannedError] = useState(false); diff --git a/apps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/AddUsers.tsx b/apps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/AddUsers.tsx index fc000223a939d..b934f9d1a52be 100644 --- a/apps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/AddUsers.tsx +++ b/apps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/AddUsers.tsx @@ -13,7 +13,6 @@ import { } from '@rocket.chat/ui-client'; import { useToastMessageDispatch, useSetModal, useEndpoint, useRoomToolbox } from '@rocket.chat/ui-contexts'; import { useId } from 'react'; -import type { ReactElement } from 'react'; import { Controller, useForm } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -30,7 +29,7 @@ type AddUsersProps = { reload: () => void; }; -const AddUsers = ({ rid, onClickBack, reload }: AddUsersProps): ReactElement => { +const AddUsers = ({ rid, onClickBack, reload }: AddUsersProps) => { const { t } = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); const room = useRoom(); diff --git a/apps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/BannedUsersUnbanModal.tsx b/apps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/BannedUsersUnbanModal.tsx index 68fdeb32be762..c205e6b4adc97 100644 --- a/apps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/BannedUsersUnbanModal.tsx +++ b/apps/meteor/client/views/room/contextualBar/RoomMembers/AddUsers/BannedUsersUnbanModal.tsx @@ -13,7 +13,6 @@ import { ModalFooterAnnotation, ModalFooterControllers, } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { useId, useState } from 'react'; import { useTranslation } from 'react-i18next'; @@ -22,7 +21,7 @@ type BannedUsersUnbanModalProps = { onConfirm: () => Promise; }; -const BannedUsersUnbanModal = ({ onClose, onConfirm }: BannedUsersUnbanModalProps): ReactElement => { +const BannedUsersUnbanModal = ({ onClose, onConfirm }: BannedUsersUnbanModalProps) => { const { t } = useTranslation(); const checkboxId = useId(); const [unbanConfirmed, setUnbanConfirmed] = useState(false); diff --git a/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/EditInviteLink.tsx b/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/EditInviteLink.tsx index a666d287d883d..d392b4baa57dd 100644 --- a/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/EditInviteLink.tsx +++ b/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/EditInviteLink.tsx @@ -1,6 +1,5 @@ import type { SelectOption } from '@rocket.chat/fuselage'; import { Box, Field, FieldLabel, FieldRow, Select, Button } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { useId, useMemo } from 'react'; import { useForm, Controller } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -10,7 +9,7 @@ type EditInviteLinkProps = { onClickNewLink: (daysAndMaxUses: { days: string; maxUses: string }) => void; }; -const EditInviteLink = ({ daysAndMaxUses, onClickNewLink }: EditInviteLinkProps): ReactElement => { +const EditInviteLink = ({ daysAndMaxUses, onClickNewLink }: EditInviteLinkProps) => { const { t } = useTranslation(); const { handleSubmit, @@ -53,7 +52,7 @@ const EditInviteLink = ({ daysAndMaxUses, onClickNewLink }: EditInviteLinkProps) ( + render={({ field: { onChange, value, name } }) => ( )} /> diff --git a/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteLink.tsx b/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteLink.tsx index 3c1afb8aac2dd..1a8506ce394e2 100644 --- a/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteLink.tsx +++ b/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteLink.tsx @@ -1,5 +1,5 @@ import { Box, Field, FieldLabel, FieldRow, UrlInput, Icon, Button, InputBoxSkeleton } from '@rocket.chat/fuselage'; -import { useId, type ReactElement } from 'react'; +import { useId } from 'react'; import { useTranslation } from 'react-i18next'; import useClipboardWithToast from '../../../../../hooks/useClipboardWithToast'; @@ -10,7 +10,7 @@ type InviteLinkProps = { onClickEdit: () => void; }; -const InviteLink = ({ linkText, captionText, onClickEdit }: InviteLinkProps): ReactElement => { +const InviteLink = ({ linkText, captionText, onClickEdit }: InviteLinkProps) => { const { t } = useTranslation(); const { copy } = useClipboardWithToast(linkText); const inviteLinkId = useId(); diff --git a/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsers.tsx b/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsers.tsx index d8c13278b58da..98c61cdb020d8 100644 --- a/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsers.tsx +++ b/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsers.tsx @@ -1,5 +1,3 @@ -import type { ReactElement } from 'react'; - import InviteLink from './InviteLink'; import InviteUsersWrapper from './InviteUsersWrapper'; @@ -11,7 +9,7 @@ type InviteUsersProps = { linkText: string; }; -const InviteUsers = ({ onClickBackMembers, onClose, onClickEdit, captionText, linkText }: InviteUsersProps): ReactElement => ( +const InviteUsers = ({ onClickBackMembers, onClose, onClickEdit, captionText, linkText }: InviteUsersProps) => ( diff --git a/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersEdit.tsx b/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersEdit.tsx index 0c9a0bb71e80a..ea558b2df8141 100644 --- a/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersEdit.tsx +++ b/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersEdit.tsx @@ -1,5 +1,3 @@ -import type { ReactElement } from 'react'; - import EditInviteLink from './EditInviteLink'; import InviteUsersWrapper from './InviteUsersWrapper'; @@ -10,7 +8,7 @@ type InviteUsersEditProps = { daysAndMaxUses: { days: string; maxUses: string }; }; -const InviteUsersEdit = ({ onClickBackLink, onClickNewLink, onClose, daysAndMaxUses }: InviteUsersEditProps): ReactElement => { +const InviteUsersEdit = ({ onClickBackLink, onClickNewLink, onClose, daysAndMaxUses }: InviteUsersEditProps) => { return ( diff --git a/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersError.tsx b/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersError.tsx index 3ffb5efe1b6e4..5a196251fa8b6 100644 --- a/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersError.tsx +++ b/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersError.tsx @@ -1,5 +1,4 @@ import { Callout } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import InviteUsersWrapper from './InviteUsersWrapper'; @@ -9,7 +8,7 @@ type InviteUsersProps = { onClickBack?: (() => void) | undefined; }; -const InviteUsersError = ({ onClose, error, onClickBack }: InviteUsersProps): ReactElement => ( +const InviteUsersError = ({ onClose, error, onClickBack }: InviteUsersProps) => ( {(error || '').toString()} diff --git a/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersLoading.tsx b/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersLoading.tsx index 67d80d0c0a87d..462dd8d2d4ac0 100644 --- a/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersLoading.tsx +++ b/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersLoading.tsx @@ -1,5 +1,4 @@ import { Skeleton } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import InviteUsersWrapper from './InviteUsersWrapper'; @@ -8,7 +7,7 @@ type InviteUsersProps = { onClickBack: (() => void) | undefined; }; -const InviteUsersLoading = ({ onClose, onClickBack: onClickBackMembers }: InviteUsersProps): ReactElement => ( +const InviteUsersLoading = ({ onClose, onClickBack: onClickBackMembers }: InviteUsersProps) => ( diff --git a/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersWithData.tsx b/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersWithData.tsx index 6bcb06c0a4b95..3b9a96a09499a 100644 --- a/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersWithData.tsx +++ b/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersWithData.tsx @@ -2,7 +2,6 @@ import type { IRoom } from '@rocket.chat/core-typings'; import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import { useEndpoint, useTranslation, useToastMessageDispatch, useRoomToolbox } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import { useState, useEffect } from 'react'; import InviteUsers from './InviteUsers'; @@ -16,7 +15,7 @@ type InviteUsersWithDataProps = { onClickBack: () => void; }; -const InviteUsersWithData = ({ rid, onClickBack }: InviteUsersWithDataProps): ReactElement => { +const InviteUsersWithData = ({ rid, onClickBack }: InviteUsersWithDataProps) => { const t = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); const [ diff --git a/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersWrapper.tsx b/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersWrapper.tsx index 5678f159d538b..411d901bc4e4d 100644 --- a/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersWrapper.tsx +++ b/apps/meteor/client/views/room/contextualBar/RoomMembers/InviteUsers/InviteUsersWrapper.tsx @@ -6,16 +6,16 @@ import { ContextualbarScrollableContent, ContextualbarDialog, } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; +import type { ReactNode } from 'react'; import { useTranslation } from 'react-i18next'; type InviteUsersWrapperProps = { - children: ReactElement; + children: ReactNode; onClickBack: (() => void) | undefined; onClose: () => void; }; -const InviteUsersWrapper = ({ children, onClickBack, onClose }: InviteUsersWrapperProps): ReactElement => { +const InviteUsersWrapper = ({ children, onClickBack, onClose }: InviteUsersWrapperProps) => { const { t } = useTranslation(); return ( diff --git a/apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembers.tsx b/apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembers.tsx index adee124911fb6..f1c77cdce6b47 100644 --- a/apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembers.tsx +++ b/apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembers.tsx @@ -15,7 +15,7 @@ import { ContextualbarDialog, } from '@rocket.chat/ui-client'; import { useSetting } from '@rocket.chat/ui-contexts'; -import type { ReactElement, FormEventHandler, ComponentProps, MouseEvent, ElementType } from 'react'; +import type { FormEventHandler, ComponentProps, MouseEvent, ElementType } from 'react'; import { useId, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; import { GroupedVirtuoso } from 'react-virtuoso'; @@ -70,7 +70,7 @@ const RoomMembers = ({ isDirect, reload, isABACRoom = false, -}: RoomMembersProps): ReactElement => { +}: RoomMembersProps) => { const { t } = useTranslation(); const membersListId = useId(); const inputRef = useAutoFocus(true); @@ -196,10 +196,10 @@ const RoomMembers = ({ }} overscan={50} groupCounts={counts} - groupContent={(index): ReactElement => titles[index]} + groupContent={(index) => titles[index]} // eslint-disable-next-line react/no-multi-comp components={{ Footer: () => }} - itemContent={(index): ReactElement => ( + itemContent={(index) => ( )} /> diff --git a/apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembersActions.tsx b/apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembersActions.tsx index 5af532ac1edb8..3a0f26385922e 100644 --- a/apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembersActions.tsx +++ b/apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembersActions.tsx @@ -1,6 +1,5 @@ import type { IUser, IRoom } from '@rocket.chat/core-typings'; import { GenericMenu } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import { useUserInfoActions } from '../../hooks/useUserInfoActions'; @@ -11,15 +10,7 @@ type RoomMembersActionsProps = Pick void; }; -const RoomMembersActions = ({ - username, - _id, - name, - rid, - freeSwitchExtension, - isInvited, - reload, -}: RoomMembersActionsProps): ReactElement | null => { +const RoomMembersActions = ({ username, _id, name, rid, freeSwitchExtension, isInvited, reload }: RoomMembersActionsProps) => { const { t } = useTranslation(); const { menuActions: menuOptions } = useUserInfoActions({ diff --git a/apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembersItem.tsx b/apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembersItem.tsx index ef1448d50ff64..f1d56343fe191 100644 --- a/apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembersItem.tsx +++ b/apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembersItem.tsx @@ -12,7 +12,7 @@ import { } from '@rocket.chat/fuselage'; import { usePrefersReducedMotion } from '@rocket.chat/fuselage-hooks'; import { UserAvatar } from '@rocket.chat/ui-avatar'; -import type { ReactElement, MouseEvent } from 'react'; +import type { MouseEvent } from 'react'; import { useState } from 'react'; import UserActions from './RoomMembersActions'; @@ -40,7 +40,7 @@ const RoomMembersItem = ({ subscription, reload, useRealName, -}: RoomMembersItemProps): ReactElement => { +}: RoomMembersItemProps) => { const [showButton, setShowButton] = useState(); const isReduceMotionEnabled = usePrefersReducedMotion(); const isInvited = subscription?.status === 'INVITED'; diff --git a/apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembersRow.tsx b/apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembersRow.tsx index 34a572e45b07b..98b702049c292 100644 --- a/apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembersRow.tsx +++ b/apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembersRow.tsx @@ -1,5 +1,5 @@ import type { IRoom } from '@rocket.chat/core-typings'; -import type { MouseEvent, ReactElement } from 'react'; +import type { MouseEvent } from 'react'; import { memo } from 'react'; import RoomMembersItem from './RoomMembersItem'; @@ -16,7 +16,7 @@ type RoomMembersRowProps = { useRealName: boolean; }; -const RoomMembersRow = ({ user, data: { onClickView, rid }, index, reload, useRealName }: RoomMembersRowProps): ReactElement => { +const RoomMembersRow = ({ user, data: { onClickView, rid }, index, reload, useRealName }: RoomMembersRowProps) => { if (!user?._id) { return ; } diff --git a/apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembersWithData.tsx b/apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembersWithData.tsx index 1b7da39d06fa6..f22c6035d8532 100644 --- a/apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembersWithData.tsx +++ b/apps/meteor/client/views/room/contextualBar/RoomMembers/RoomMembersWithData.tsx @@ -9,15 +9,15 @@ import { useUserSubscription, useRoomToolbox, } from '@rocket.chat/ui-contexts'; -import type { ChangeEvent, MouseEvent, ReactElement } from 'react'; +import type { ChangeEvent, MouseEvent } from 'react'; import { useCallback, useMemo, useState } from 'react'; -import * as Federation from '../../../../lib/federation/Federation'; -import { useMembersList } from '../../../hooks/useMembersList'; -import UserInfoWithData from '../UserInfo'; import AddUsers from './AddUsers'; import InviteUsers from './InviteUsers'; import RoomMembers from './RoomMembers'; +import * as Federation from '../../../../lib/federation/Federation'; +import { useMembersList } from '../../../hooks/useMembersList'; +import UserInfoWithData from '../UserInfo'; enum ROOM_MEMBERS_TABS { INFO = 'user-info', @@ -28,7 +28,7 @@ enum ROOM_MEMBERS_TABS { type validRoomType = 'd' | 'p' | 'c'; -const RoomMembersWithData = ({ rid }: { rid: IRoom['_id'] }): ReactElement => { +const RoomMembersWithData = ({ rid }: { rid: IRoom['_id'] }) => { const user = useUser(); const room = useUserRoom(rid); const { closeTab } = useRoomToolbox(); diff --git a/apps/meteor/client/views/room/contextualBar/Threads/components/ThreadListItem.tsx b/apps/meteor/client/views/room/contextualBar/Threads/components/ThreadListItem.tsx index c15993707aa25..5d1a4ce776cad 100644 --- a/apps/meteor/client/views/room/contextualBar/Threads/components/ThreadListItem.tsx +++ b/apps/meteor/client/views/room/contextualBar/Threads/components/ThreadListItem.tsx @@ -2,7 +2,7 @@ import type { IThreadMainMessage } from '@rocket.chat/core-typings'; import { css } from '@rocket.chat/css-in-js'; import { Palette } from '@rocket.chat/fuselage'; import { useSetting, useUserId } from '@rocket.chat/ui-contexts'; -import type { MouseEvent, ReactElement } from 'react'; +import type { MouseEvent } from 'react'; import { useCallback, memo } from 'react'; import ThreadListMessage from './ThreadListMessage'; @@ -17,7 +17,7 @@ type ThreadListItemProps = { onClick: (tmid: IThreadMainMessage['_id']) => void; }; -const ThreadListItem = ({ thread, unread, unreadUser, unreadGroup, onClick }: ThreadListItemProps): ReactElement => { +const ThreadListItem = ({ thread, unread, unreadUser, unreadGroup, onClick }: ThreadListItemProps) => { const uid = useUserId(); const decryptedMsg = useDecryptedMessage(thread); const msg = normalizeThreadMessage({ ...thread, msg: decryptedMsg }); diff --git a/apps/meteor/client/views/room/contextualBar/Threads/components/ThreadListMessage.tsx b/apps/meteor/client/views/room/contextualBar/Threads/components/ThreadListMessage.tsx index 5d805ace858e6..5d6ab4bb33230 100644 --- a/apps/meteor/client/views/room/contextualBar/Threads/components/ThreadListMessage.tsx +++ b/apps/meteor/client/views/room/contextualBar/Threads/components/ThreadListMessage.tsx @@ -11,7 +11,7 @@ import { Box, } from '@rocket.chat/fuselage'; import { MessageAvatar } from '@rocket.chat/ui-avatar'; -import type { ComponentProps, ReactElement, ReactNode } from 'react'; +import type { ComponentProps, ReactNode } from 'react'; import { memo } from 'react'; import ThreadListMetrics from './ThreadListMetrics'; @@ -54,7 +54,7 @@ const ThreadListMessage = ({ className = [], emoji, ...props -}: ThreadListMessageProps): ReactElement => { +}: ThreadListMessageProps) => { const formatDate = useTimeAgo(); return ( diff --git a/apps/meteor/client/views/room/contextualBar/Threads/components/ThreadListMetrics.tsx b/apps/meteor/client/views/room/contextualBar/Threads/components/ThreadListMetrics.tsx index ff9fb1057f754..ec01457b26379 100644 --- a/apps/meteor/client/views/room/contextualBar/Threads/components/ThreadListMetrics.tsx +++ b/apps/meteor/client/views/room/contextualBar/Threads/components/ThreadListMetrics.tsx @@ -1,7 +1,6 @@ import { MessageMetricsItem, MessageBlock, MessageMetrics, MessageMetricsItemIcon, MessageMetricsItemLabel } from '@rocket.chat/fuselage'; import { useResizeObserver } from '@rocket.chat/fuselage-hooks'; import { useTranslation } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import ThreadMetricsParticipants from '../../../../../components/message/content/ThreadMetricsParticipants'; import { useTimeAgo } from '../../../../../hooks/useTimeAgo'; @@ -12,7 +11,7 @@ type ThreadMetricsProps = { participants: Array; }; -const ThreadListMetrics = ({ counter, participants, lm }: ThreadMetricsProps): ReactElement => { +const ThreadListMetrics = ({ counter, participants, lm }: ThreadMetricsProps) => { const t = useTranslation(); const format = useTimeAgo(); diff --git a/apps/meteor/client/views/room/contextualBar/Threads/components/ThreadMessageList.tsx b/apps/meteor/client/views/room/contextualBar/Threads/components/ThreadMessageList.tsx index dc535603af0ca..3e241190d5a0b 100644 --- a/apps/meteor/client/views/room/contextualBar/Threads/components/ThreadMessageList.tsx +++ b/apps/meteor/client/views/room/contextualBar/Threads/components/ThreadMessageList.tsx @@ -5,7 +5,6 @@ import { isTruthy } from '@rocket.chat/tools'; import { clientCallbacks, CustomVirtuaScrollbars } from '@rocket.chat/ui-client'; import { useSearchParameter, useSetting, useUserId, useUserPreference } from '@rocket.chat/ui-contexts'; import { differenceInSeconds } from 'date-fns'; -import type { ReactElement } from 'react'; import { Fragment, useEffect, useMemo, useRef } from 'react'; import { useTranslation } from 'react-i18next'; import type { VirtualizerHandle } from 'virtua'; @@ -54,7 +53,7 @@ type ThreadMessageListProps = { setShouldJumpToBottom: (shouldJumpToBottom: boolean) => void; }; -const ThreadMessageList = ({ mainMessage, shouldJumpToBottom, setShouldJumpToBottom }: ThreadMessageListProps): ReactElement => { +const ThreadMessageList = ({ mainMessage, shouldJumpToBottom, setShouldJumpToBottom }: ThreadMessageListProps) => { const { t } = useTranslation(); const msgJumpParam = useSearchParameter('msg'); const { bubbleRef, handleDateScroll, ...bubbleDate } = useDateScroll(); diff --git a/apps/meteor/client/views/room/contextualBar/Threads/components/ThreadSkeleton.tsx b/apps/meteor/client/views/room/contextualBar/Threads/components/ThreadSkeleton.tsx index b03364c91d458..1804355f782e6 100644 --- a/apps/meteor/client/views/room/contextualBar/Threads/components/ThreadSkeleton.tsx +++ b/apps/meteor/client/views/room/contextualBar/Threads/components/ThreadSkeleton.tsx @@ -1,7 +1,6 @@ import { Box, Skeleton } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; -const ThreadSkeleton = (): ReactElement => { +const ThreadSkeleton = () => { return ( diff --git a/apps/meteor/client/views/room/contextualBar/Threads/hooks/useThreadMainMessageQuery.ts b/apps/meteor/client/views/room/contextualBar/Threads/hooks/useThreadMainMessageQuery.ts index a2b10d01fa4f4..1816b43bd96ba 100644 --- a/apps/meteor/client/views/room/contextualBar/Threads/hooks/useThreadMainMessageQuery.ts +++ b/apps/meteor/client/views/room/contextualBar/Threads/hooks/useThreadMainMessageQuery.ts @@ -76,7 +76,7 @@ export const useThreadMainMessageQuery = ( const subscribeToMessage = useSubscribeToMessage(); const queryClient = useQueryClient(); - const unsubscribeRef = useRef<(() => void) | undefined>(); + const unsubscribeRef = useRef<(() => void) | undefined>(undefined); useEffect(() => { return () => { diff --git a/apps/meteor/client/views/room/contextualBar/UserInfo/UserInfoActions.tsx b/apps/meteor/client/views/room/contextualBar/UserInfo/UserInfoActions.tsx index 082e5c867306d..a3c56aadbaf29 100644 --- a/apps/meteor/client/views/room/contextualBar/UserInfo/UserInfoActions.tsx +++ b/apps/meteor/client/views/room/contextualBar/UserInfo/UserInfoActions.tsx @@ -1,8 +1,6 @@ -/* eslint-disable react/display-name, react/no-multi-comp */ import type { IRoom, IUser } from '@rocket.chat/core-typings'; import { ButtonGroup, IconButton, Skeleton } from '@rocket.chat/fuselage'; import { GenericMenu } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -18,7 +16,7 @@ type UserInfoActionsProps = { backToList?: () => void; }; -const UserInfoActions = ({ user, rid, isInvited, backToList }: UserInfoActionsProps): ReactElement => { +const UserInfoActions = ({ user, rid, isInvited, backToList }: UserInfoActionsProps) => { const { t } = useTranslation(); const { data: isMemberData, @@ -60,7 +58,7 @@ const UserInfoActions = ({ user, rid, isInvited, backToList }: UserInfoActionsPr }, [menuOptions, t]); const actions = useMemo(() => { - const mapAction = ([key, action]: [string, UserInfoActionType]): ReactElement => ( + const mapAction = ([key, action]: [string, UserInfoActionType]) => ( ); diff --git a/apps/meteor/client/views/room/contextualBar/UserInfo/UserInfoWithData.tsx b/apps/meteor/client/views/room/contextualBar/UserInfo/UserInfoWithData.tsx index cc0f5bb01bd09..b84c0fdc6c800 100644 --- a/apps/meteor/client/views/room/contextualBar/UserInfo/UserInfoWithData.tsx +++ b/apps/meteor/client/views/room/contextualBar/UserInfo/UserInfoWithData.tsx @@ -11,7 +11,6 @@ import { } from '@rocket.chat/ui-client'; import { useEndpoint, useRolesDescription } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -33,7 +32,7 @@ type UserInfoWithDataProps = { onClickBack?: () => void; }; -const UserInfoWithData = ({ uid, username, rid, invitationDate, onClose, onClickBack }: UserInfoWithDataProps): ReactElement => { +const UserInfoWithData = ({ uid, username, rid, invitationDate, onClose, onClickBack }: UserInfoWithDataProps) => { const { t } = useTranslation(); const getRoles = useRolesDescription(); diff --git a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfBlockModal.tsx b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfBlockModal.tsx index 8e705695474f0..f9b9262fb7fcf 100644 --- a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfBlockModal.tsx +++ b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfBlockModal.tsx @@ -1,10 +1,9 @@ import { Box, Icon } from '@rocket.chat/fuselage'; import { GenericModal } from '@rocket.chat/ui-client'; import { useTranslation, useSetting } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useCallback } from 'react'; -const VideoConfBlockModal = ({ onClose, onConfirm }: { onClose: () => void; onConfirm: () => void }): ReactElement => { +const VideoConfBlockModal = ({ onClose, onConfirm }: { onClose: () => void; onConfirm: () => void }) => { const t = useTranslation(); const workspaceUrl = useSetting('Site_Url'); diff --git a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfConfigModal.tsx b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfConfigModal.tsx index 16e82ce199091..030e0d764ae04 100644 --- a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfConfigModal.tsx +++ b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfConfigModal.tsx @@ -15,7 +15,6 @@ import { ModalFooterAnnotation, ModalFooterControllers, } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; type VideoConfConfigModalProps = { @@ -24,7 +23,7 @@ type VideoConfConfigModalProps = { isAdmin: boolean; }; -const VideoConfConfigModal = ({ onClose, onConfirm, isAdmin }: VideoConfConfigModalProps): ReactElement => { +const VideoConfConfigModal = ({ onClose, onConfirm, isAdmin }: VideoConfConfigModalProps) => { const { t } = useTranslation(); return ( diff --git a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfList/VideoConfList.tsx b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfList/VideoConfList.tsx index cd1ff50875068..53fe75c9ce6e5 100644 --- a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfList/VideoConfList.tsx +++ b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfList/VideoConfList.tsx @@ -11,7 +11,6 @@ import { ContextualbarEmptyContent, ContextualbarDialog, } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import { Virtuoso } from 'react-virtuoso'; @@ -28,7 +27,7 @@ type VideoConfListProps = { loadMoreItems: () => void; }; -const VideoConfList = ({ onClose, total, videoConfs, loading, error, reload, loadMoreItems }: VideoConfListProps): ReactElement => { +const VideoConfList = ({ onClose, total, videoConfs, loading, error, reload, loadMoreItems }: VideoConfListProps) => { const { t } = useTranslation(); const { ref, contentBoxSize: { inlineSize = 378, blockSize = 1 } = {} } = useResizeObserver({ @@ -42,7 +41,6 @@ const VideoConfList = ({ onClose, total, videoConfs, loading, error, reload, loa {t('Calls')} - {loading && ( @@ -79,7 +77,7 @@ const VideoConfList = ({ onClose, total, videoConfs, loading, error, reload, loa endReached={loadMoreItems} overscan={25} data={videoConfs} - itemContent={(_index, data): ReactElement => } + itemContent={(_index, data) => } /> )} diff --git a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfList/VideoConfListItem.tsx b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfList/VideoConfListItem.tsx index ae5cfaaa40124..071bba9fd1df3 100644 --- a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfList/VideoConfListItem.tsx +++ b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfList/VideoConfListItem.tsx @@ -21,7 +21,6 @@ import { UserAvatar } from '@rocket.chat/ui-avatar'; import { useUserDisplayName } from '@rocket.chat/ui-client'; import { useTranslation } from '@rocket.chat/ui-contexts'; import { useVideoConfJoinCall } from '@rocket.chat/ui-video-conf'; -import type { ReactElement } from 'react'; import { useTimeAgo } from '../../../../../hooks/useTimeAgo'; import { VIDEOCONF_STACK_MAX_USERS } from '../../../../../lib/constants'; @@ -36,7 +35,7 @@ const VideoConfListItem = ({ videoConfData: VideoConference; className?: string[]; reload: () => void; -}): ReactElement => { +}) => { const t = useTranslation(); const formatDate = useTimeAgo(); const joinCall = useVideoConfJoinCall(); diff --git a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopup/IncomingPopup.tsx b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopup/IncomingPopup.tsx index 24ffdc31eb0c1..6199b909a1fe8 100644 --- a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopup/IncomingPopup.tsx +++ b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopup/IncomingPopup.tsx @@ -16,7 +16,6 @@ import { VideoConfPopupHeader, } from '@rocket.chat/ui-video-conf'; import { useQuery } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import VideoConfPopupRoomInfo from './VideoConfPopupRoomInfo'; @@ -31,7 +30,7 @@ type IncomingPopupProps = { onConfirm: () => void; }; -const IncomingPopup = ({ id, room, position, onClose, onMute, onConfirm }: IncomingPopupProps): ReactElement => { +const IncomingPopup = ({ id, room, position, onClose, onMute, onConfirm }: IncomingPopupProps) => { const { t } = useTranslation(); const { controllersConfig, handleToggleMic, handleToggleCam } = useVideoConfControllers(); const setPreferences = useVideoConfSetPreferences(); diff --git a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopup/OutgoingPopup.tsx b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopup/OutgoingPopup.tsx index b2a19fbe47fb5..622baa4f2b7fc 100644 --- a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopup/OutgoingPopup.tsx +++ b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopup/OutgoingPopup.tsx @@ -13,7 +13,6 @@ import { useVideoConfCapabilities, useVideoConfPreferences, } from '@rocket.chat/ui-video-conf'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import VideoConfPopupRoomInfo from './VideoConfPopupRoomInfo'; @@ -25,7 +24,7 @@ type OutgoingPopupProps = { onClose: (id: string) => void; }; -const OutgoingPopup = ({ room, onClose, id }: OutgoingPopupProps): ReactElement => { +const OutgoingPopup = ({ room, onClose, id }: OutgoingPopupProps) => { const { t } = useTranslation(); const videoConfPreferences = useVideoConfPreferences(); const { controllersConfig } = useVideoConfControllers(videoConfPreferences); diff --git a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopup/StartCallPopup.tsx b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopup/StartCallPopup.tsx index 472660b7f6489..6fccd1935c55a 100644 --- a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopup/StartCallPopup.tsx +++ b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopup/StartCallPopup.tsx @@ -15,7 +15,6 @@ import { useVideoConfCapabilities, useVideoConfPreferences, } from '@rocket.chat/ui-video-conf'; -import type { ReactElement } from 'react'; import { useCallback, useRef } from 'react'; import { useTranslation } from 'react-i18next'; @@ -30,7 +29,7 @@ type StartCallPopupProps = { onConfirm: () => void; }; -const StartCallPopup = ({ id, loading, room, onClose, onConfirm }: StartCallPopupProps): ReactElement => { +const StartCallPopup = ({ id, loading, room, onClose, onConfirm }: StartCallPopupProps) => { const { t } = useTranslation(); const ref = useRef(null); useOutsideClick([ref], !loading ? onClose : () => undefined); diff --git a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopup/TimedVideoConfPopup.tsx b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopup/TimedVideoConfPopup.tsx index f1bfb28445b8a..2417d27cc34d2 100644 --- a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopup/TimedVideoConfPopup.tsx +++ b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopup/TimedVideoConfPopup.tsx @@ -9,7 +9,6 @@ import { useVideoConfStartCall, useVideoConfDismissOutgoing, } from '@rocket.chat/ui-video-conf'; -import type { ReactElement } from 'react'; import { useEffect, useState } from 'react'; import IncomingPopup from './IncomingPopup'; @@ -25,13 +24,7 @@ type TimedVideoConfPopupProps = { onClose?: (id: string) => void; }; -const TimedVideoConfPopup = ({ - id, - rid, - isReceiving = false, - isCalling = false, - position, -}: TimedVideoConfPopupProps): ReactElement | null => { +const TimedVideoConfPopup = ({ id, rid, isReceiving = false, isCalling = false, position }: TimedVideoConfPopupProps) => { const [starting, setStarting] = useState(false); const acceptCall = useVideoConfAcceptCall(); const abortCall = useVideoConfAbortCall(); diff --git a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopup/VideoConfPopupRoomInfo.tsx b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopup/VideoConfPopupRoomInfo.tsx index 9e8256ebde43f..23814e3ca753b 100644 --- a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopup/VideoConfPopupRoomInfo.tsx +++ b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopup/VideoConfPopupRoomInfo.tsx @@ -3,13 +3,12 @@ import { isDirectMessageRoom, isMultipleDirectMessageRoom } from '@rocket.chat/c import { RoomAvatar } from '@rocket.chat/ui-avatar'; import { useUser } from '@rocket.chat/ui-contexts'; import { VideoConfPopupInfo } from '@rocket.chat/ui-video-conf'; -import type { ReactElement } from 'react'; import { RoomIcon } from '../../../../../../components/RoomIcon'; import ReactiveUserStatus from '../../../../../../components/UserStatus/ReactiveUserStatus'; import { useVideoConfRoomName } from '../../hooks/useVideoConfRoomName'; -const VideoConfPopupRoomInfo = ({ room }: { room: IRoom }): ReactElement => { +const VideoConfPopupRoomInfo = ({ room }: { room: IRoom }) => { const ownUser = useUser(); const [userId] = room?.uids?.filter((uid) => uid !== ownUser?._id) || []; const roomName = useVideoConfRoomName(room); diff --git a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopups.tsx b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopups.tsx index c54289fac2d5f..86b7265e12b7d 100644 --- a/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopups.tsx +++ b/apps/meteor/client/views/room/contextualBar/VideoConference/VideoConfPopups/VideoConfPopups.tsx @@ -8,14 +8,13 @@ import { useVideoConfIncomingCalls, VideoConfPopupSkeleton, } from '@rocket.chat/ui-video-conf'; -import type { ReactElement } from 'react'; import { lazy, Suspense, useEffect, useMemo } from 'react'; import VideoConfPopupPortal from '../../../../../portals/VideoConfPopupPortal'; const VideoConfPopup = lazy(() => import('./VideoConfPopup')); -const VideoConfPopups = ({ children }: { children?: VideoConfPopupPayload }): ReactElement => { +const VideoConfPopups = ({ children }: { children?: VideoConfPopupPayload }) => { const { callSounds } = useCustomSound(); const incomingCalls = useVideoConfIncomingCalls(); const isRinging = useVideoConfIsRinging(); diff --git a/apps/meteor/client/views/room/contextualBar/uikit/UiKitContextualBar.tsx b/apps/meteor/client/views/room/contextualBar/uikit/UiKitContextualBar.tsx index 1866a397d6cd7..334d88f713fbf 100644 --- a/apps/meteor/client/views/room/contextualBar/uikit/UiKitContextualBar.tsx +++ b/apps/meteor/client/views/room/contextualBar/uikit/UiKitContextualBar.tsx @@ -32,7 +32,7 @@ type UiKitContextualBarProps = { initialView: UiKit.ContextualBarView; }; -const UiKitContextualBar = ({ initialView }: UiKitContextualBarProps): JSX.Element => { +const UiKitContextualBar = ({ initialView }: UiKitContextualBarProps) => { const actionManager = useUiKitActionManager(); const { view, values, updateValues, state } = useUiKitView(initialView); const room = useRoom(); diff --git a/apps/meteor/client/views/room/hooks/useUserInfoActions/actions/useChangeModeratorAction.tsx b/apps/meteor/client/views/room/hooks/useUserInfoActions/actions/useChangeModeratorAction.tsx index dd4c07fc57a03..3eb855fa4acfa 100644 --- a/apps/meteor/client/views/room/hooks/useUserInfoActions/actions/useChangeModeratorAction.tsx +++ b/apps/meteor/client/views/room/hooks/useUserInfoActions/actions/useChangeModeratorAction.tsx @@ -14,7 +14,6 @@ import { useToastMessageDispatch, } from '@rocket.chat/ui-contexts'; import { useMutation } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import { useCallback, useMemo } from 'react'; import { roomCoordinator } from '../../../../../lib/rooms/roomCoordinator'; @@ -28,7 +27,7 @@ const getWarningModalForFederatedRooms = ( title: string, confirmText: string, bodyText: string, -): ReactElement => ( +) => ( ( +) => ( { }; }; -const RoomLayout = ({ header, body, footer, aside, ...props }: RoomLayoutProps): ReactElement => { +const RoomLayout = ({ header, body, footer, aside, ...props }: RoomLayoutProps) => { const { ref, breakpoints } = useBreakpointsElement(); const contextualbarPosition = breakpoints.includes('md') ? 'relative' : 'absolute'; diff --git a/apps/meteor/client/views/room/modals/E2EEModals/BaseDisableE2EEModal.tsx b/apps/meteor/client/views/room/modals/E2EEModals/BaseDisableE2EEModal.tsx index 16cd2e2047df3..16c617240698b 100644 --- a/apps/meteor/client/views/room/modals/E2EEModals/BaseDisableE2EEModal.tsx +++ b/apps/meteor/client/views/room/modals/E2EEModals/BaseDisableE2EEModal.tsx @@ -1,5 +1,4 @@ import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; -import type { ReactElement } from 'react'; import { useState } from 'react'; import DisableE2EEModal from './DisableE2EEModal'; @@ -18,13 +17,7 @@ type BaseDisableE2EEModalProps = { canResetRoomKey: boolean; }; -const BaseDisableE2EEModal = ({ - onConfirm, - onClose, - roomType, - roomId, - canResetRoomKey, -}: BaseDisableE2EEModalProps): ReactElement | null => { +const BaseDisableE2EEModal = ({ onConfirm, onClose, roomType, roomId, canResetRoomKey }: BaseDisableE2EEModalProps) => { const [step, setStep] = useState(STEPS.DISABLE_E2EE); const onResetRoomKey = useEffectEvent(() => { diff --git a/apps/meteor/client/views/room/modals/E2EEModals/DisableE2EEModal.tsx b/apps/meteor/client/views/room/modals/E2EEModals/DisableE2EEModal.tsx index 9d33d679ba3ef..72d6d8b3b7302 100644 --- a/apps/meteor/client/views/room/modals/E2EEModals/DisableE2EEModal.tsx +++ b/apps/meteor/client/views/room/modals/E2EEModals/DisableE2EEModal.tsx @@ -1,6 +1,5 @@ import { Accordion, AccordionItem, Box, Button } from '@rocket.chat/fuselage'; import { GenericModal } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { Trans, useTranslation } from 'react-i18next'; type DisableE2EEModalProps = { @@ -11,7 +10,7 @@ type DisableE2EEModalProps = { onResetRoomKey: () => void; }; -const DisableE2EEModal = ({ onConfirm, onCancel, roomType, canResetRoomKey, onResetRoomKey }: DisableE2EEModalProps): ReactElement => { +const DisableE2EEModal = ({ onConfirm, onCancel, roomType, canResetRoomKey, onResetRoomKey }: DisableE2EEModalProps) => { const { t } = useTranslation(); return ( diff --git a/apps/meteor/client/views/room/modals/E2EEModals/EnableE2EEModal.tsx b/apps/meteor/client/views/room/modals/E2EEModals/EnableE2EEModal.tsx index 0c166a55ca529..a4ccb5e40d46f 100644 --- a/apps/meteor/client/views/room/modals/E2EEModals/EnableE2EEModal.tsx +++ b/apps/meteor/client/views/room/modals/E2EEModals/EnableE2EEModal.tsx @@ -1,6 +1,5 @@ import { Box } from '@rocket.chat/fuselage'; import { GenericModal } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; type EnableE2EEModalProps = { @@ -9,7 +8,7 @@ type EnableE2EEModalProps = { roomType: string; }; -const EnableE2EEModal = ({ onConfirm, onClose, roomType }: EnableE2EEModalProps): ReactElement => { +const EnableE2EEModal = ({ onConfirm, onClose, roomType }: EnableE2EEModalProps) => { const { t } = useTranslation(); return ( diff --git a/apps/meteor/client/views/room/modals/E2EEModals/ResetKeysE2EEModal.tsx b/apps/meteor/client/views/room/modals/E2EEModals/ResetKeysE2EEModal.tsx index 205bb39132e1a..069b915f8374b 100644 --- a/apps/meteor/client/views/room/modals/E2EEModals/ResetKeysE2EEModal.tsx +++ b/apps/meteor/client/views/room/modals/E2EEModals/ResetKeysE2EEModal.tsx @@ -1,7 +1,6 @@ import { Box, ModalFooterAnnotation, ModalIcon } from '@rocket.chat/fuselage'; import { ExternalLink, GenericModal } from '@rocket.chat/ui-client'; import { useToastMessageDispatch } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import { links } from '../../../../lib/links'; @@ -15,7 +14,7 @@ type ResetKeysE2EEModalProps = { onCancel: () => void; }; -const ResetKeysE2EEModal = ({ roomType, roomId, onCancel }: ResetKeysE2EEModalProps): ReactElement => { +const ResetKeysE2EEModal = ({ roomType, roomId, onCancel }: ResetKeysE2EEModalProps) => { const { t } = useTranslation(); const resetRoomKeyMutation = useE2EEResetRoomKey(); diff --git a/apps/meteor/client/views/room/modals/FileUploadModal/FilePreview.tsx b/apps/meteor/client/views/room/modals/FileUploadModal/FilePreview.tsx index 6522679debb0f..6254c5740f329 100644 --- a/apps/meteor/client/views/room/modals/FileUploadModal/FilePreview.tsx +++ b/apps/meteor/client/views/room/modals/FileUploadModal/FilePreview.tsx @@ -1,5 +1,3 @@ -import type { ReactElement } from 'react'; - import GenericPreview from './GenericPreview'; import MediaPreview from './MediaPreview'; import { MAX_FILE_SIZE_PREVIEW } from '../../../../lib/constants'; @@ -44,7 +42,7 @@ type FilePreviewProps = { description?: string; }; -const FilePreview = ({ file, description }: FilePreviewProps): ReactElement => { +const FilePreview = ({ file, description }: FilePreviewProps) => { const fileType = getFileType(file.type); if (shouldShowMediaPreview(file, fileType)) { diff --git a/apps/meteor/client/views/room/modals/FileUploadModal/FileUploadModal.tsx b/apps/meteor/client/views/room/modals/FileUploadModal/FileUploadModal.tsx index ba84cb05a7da0..29e13e1cb3963 100644 --- a/apps/meteor/client/views/room/modals/FileUploadModal/FileUploadModal.tsx +++ b/apps/meteor/client/views/room/modals/FileUploadModal/FileUploadModal.tsx @@ -19,7 +19,7 @@ import { FieldGroup, FieldDescription, } from '@rocket.chat/fuselage-forms'; -import type { ReactElement, ComponentProps } from 'react'; +import type { ComponentProps } from 'react'; import { memo, useCallback, useId } from 'react'; import { Controller, useForm } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -36,7 +36,7 @@ type FileUploadModalProps = { fileDescription?: string; }; -const FileUploadModal = ({ onClose, file, fileName, fileDescription = '', onSubmit }: FileUploadModalProps): ReactElement => { +const FileUploadModal = ({ onClose, file, fileName, fileDescription = '', onSubmit }: FileUploadModalProps) => { const { t } = useTranslation(); const fileUploadFormId = useId(); const isImage = file.type.startsWith('image/'); diff --git a/apps/meteor/client/views/room/modals/FileUploadModal/GenericPreview.tsx b/apps/meteor/client/views/room/modals/FileUploadModal/GenericPreview.tsx index d3074348c6bd7..637e88a43463d 100644 --- a/apps/meteor/client/views/room/modals/FileUploadModal/GenericPreview.tsx +++ b/apps/meteor/client/views/room/modals/FileUploadModal/GenericPreview.tsx @@ -1,9 +1,8 @@ import { Box, Icon } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { formatBytes } from '../../../../lib/utils/formatBytes'; -const GenericPreview = ({ file }: { file: File }): ReactElement => ( +const GenericPreview = ({ file }: { file: File }) => ( {`${file.name} - ${formatBytes(file.size, 2)}`} diff --git a/apps/meteor/client/views/room/modals/FileUploadModal/ImagePreview.tsx b/apps/meteor/client/views/room/modals/FileUploadModal/ImagePreview.tsx index 64a18f422787c..e00cd4cdfe6b1 100644 --- a/apps/meteor/client/views/room/modals/FileUploadModal/ImagePreview.tsx +++ b/apps/meteor/client/views/room/modals/FileUploadModal/ImagePreview.tsx @@ -1,5 +1,4 @@ import { Box } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { useState } from 'react'; import GenericPreview from './GenericPreview'; @@ -11,7 +10,7 @@ type ImagePreviewProps = { alt?: string; }; -const ImagePreview = ({ url, file, alt = '' }: ImagePreviewProps): ReactElement => { +const ImagePreview = ({ url, file, alt = '' }: ImagePreviewProps) => { const [error, setError] = useState(false); const [loading, setLoading] = useState(true); diff --git a/apps/meteor/client/views/room/modals/FileUploadModal/MediaPreview.tsx b/apps/meteor/client/views/room/modals/FileUploadModal/MediaPreview.tsx index f428e04e18e6c..e3604894eee81 100644 --- a/apps/meteor/client/views/room/modals/FileUploadModal/MediaPreview.tsx +++ b/apps/meteor/client/views/room/modals/FileUploadModal/MediaPreview.tsx @@ -1,5 +1,4 @@ import { AudioPlayer, Box, Icon } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -15,7 +14,7 @@ type MediaPreviewProps = { description?: string; }; -const MediaPreview = ({ file, fileType, description }: MediaPreviewProps): ReactElement => { +const MediaPreview = ({ file, fileType, description }: MediaPreviewProps) => { const [loaded, url] = useFileAsDataURL(file); const { t } = useTranslation(); diff --git a/apps/meteor/client/views/room/modals/FileUploadModal/PreviewSkeleton.tsx b/apps/meteor/client/views/room/modals/FileUploadModal/PreviewSkeleton.tsx index 38409851b4549..5f317ba42ffdc 100644 --- a/apps/meteor/client/views/room/modals/FileUploadModal/PreviewSkeleton.tsx +++ b/apps/meteor/client/views/room/modals/FileUploadModal/PreviewSkeleton.tsx @@ -1,6 +1,5 @@ import { Skeleton } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; -const PreviewSkeleton = (): ReactElement => ; +const PreviewSkeleton = () => ; export default PreviewSkeleton; diff --git a/apps/meteor/client/views/room/modals/ForwardMessageModal/ForwardMessageModal.tsx b/apps/meteor/client/views/room/modals/ForwardMessageModal/ForwardMessageModal.tsx index 760faa8085c4c..85b9fc598eb55 100644 --- a/apps/meteor/client/views/room/modals/ForwardMessageModal/ForwardMessageModal.tsx +++ b/apps/meteor/client/views/room/modals/ForwardMessageModal/ForwardMessageModal.tsx @@ -18,7 +18,6 @@ import { useClipboard } from '@rocket.chat/fuselage-hooks'; import { useUserDisplayName } from '@rocket.chat/ui-client'; import { useTranslation, useEndpoint, useToastMessageDispatch, useUserAvatarPath } from '@rocket.chat/ui-contexts'; import { useMutation } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import { memo, useId } from 'react'; import { useForm, Controller } from 'react-hook-form'; @@ -32,7 +31,7 @@ type ForwardMessageProps = { message: IMessage; }; -const ForwardMessageModal = ({ onClose, permalink, message }: ForwardMessageProps): ReactElement => { +const ForwardMessageModal = ({ onClose, permalink, message }: ForwardMessageProps) => { const t = useTranslation(); const getUserAvatarPath = useUserAvatarPath(); const dispatchToastMessage = useToastMessageDispatch(); @@ -104,7 +103,7 @@ const ForwardMessageModal = ({ onClose, permalink, message }: ForwardMessageProp ( + render={({ field: { name, value, onChange } }) => ( ; -const PinMessageModal = ({ message, ...props }: PinMessageModalProps): ReactElement => { +const PinMessageModal = ({ message, ...props }: PinMessageModalProps) => { const t = useTranslation(); const getUserAvatarPath = useUserAvatarPath(); const displayName = useUserDisplayName(message.u); diff --git a/apps/meteor/client/views/room/modals/ReactionListModal/ReactionListModal.tsx b/apps/meteor/client/views/room/modals/ReactionListModal/ReactionListModal.tsx index 051e757831027..395eb5ab1aef8 100644 --- a/apps/meteor/client/views/room/modals/ReactionListModal/ReactionListModal.tsx +++ b/apps/meteor/client/views/room/modals/ReactionListModal/ReactionListModal.tsx @@ -1,6 +1,5 @@ import type { IMessage } from '@rocket.chat/core-typings'; import { GenericModal } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import Reactions from './Reactions'; @@ -10,7 +9,7 @@ type ReactionListModalProps = { onClose: () => void; }; -const ReactionListModal = ({ reactions, onClose }: ReactionListModalProps): ReactElement => { +const ReactionListModal = ({ reactions, onClose }: ReactionListModalProps) => { const { t } = useTranslation(); return ( diff --git a/apps/meteor/client/views/room/modals/ReactionListModal/ReactionUserTag.tsx b/apps/meteor/client/views/room/modals/ReactionListModal/ReactionUserTag.tsx index 66e1b3083daad..c4034d9033de1 100644 --- a/apps/meteor/client/views/room/modals/ReactionListModal/ReactionUserTag.tsx +++ b/apps/meteor/client/views/room/modals/ReactionListModal/ReactionUserTag.tsx @@ -1,7 +1,6 @@ import { Box, Tag } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; -const ReactionUserTag = ({ displayName }: { displayName: string }): ReactElement => ( +const ReactionUserTag = ({ displayName }: { displayName: string }) => ( {displayName} diff --git a/apps/meteor/client/views/room/modals/ReactionListModal/Reactions.tsx b/apps/meteor/client/views/room/modals/ReactionListModal/Reactions.tsx index ad9da1806b412..5bf2150fd058c 100644 --- a/apps/meteor/client/views/room/modals/ReactionListModal/Reactions.tsx +++ b/apps/meteor/client/views/room/modals/ReactionListModal/Reactions.tsx @@ -1,12 +1,11 @@ import type { IMessage } from '@rocket.chat/core-typings'; import { Box } from '@rocket.chat/fuselage'; import { useSetting } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import ReactionUserTag from './ReactionUserTag'; import Emoji from '../../../../components/Emoji'; -const Reactions = ({ reactions }: { reactions: Required['reactions'] }): ReactElement => { +const Reactions = ({ reactions }: { reactions: Required['reactions'] }) => { const useRealName = useSetting('UI_Use_Real_Name'); return ( diff --git a/apps/meteor/client/views/room/modals/ReadReceiptsModal/ReadReceiptRow.tsx b/apps/meteor/client/views/room/modals/ReadReceiptsModal/ReadReceiptRow.tsx index d3bf9ca20e105..d90d480608f68 100644 --- a/apps/meteor/client/views/room/modals/ReadReceiptsModal/ReadReceiptRow.tsx +++ b/apps/meteor/client/views/room/modals/ReadReceiptsModal/ReadReceiptRow.tsx @@ -2,11 +2,10 @@ import type { IReadReceiptWithUser } from '@rocket.chat/core-typings'; import { Box } from '@rocket.chat/fuselage'; import { UserAvatar } from '@rocket.chat/ui-avatar'; import { useUserDisplayName } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { useFormatDateAndTime } from '../../../../hooks/useFormatDateAndTime'; -const ReadReceiptRow = ({ user, ts }: IReadReceiptWithUser): ReactElement => { +const ReadReceiptRow = ({ user, ts }: IReadReceiptWithUser) => { const displayName = useUserDisplayName(user || {}); const formatDateAndTime = useFormatDateAndTime({ withSeconds: true }); diff --git a/apps/meteor/client/views/room/modals/ReadReceiptsModal/ReadReceiptsModal.tsx b/apps/meteor/client/views/room/modals/ReadReceiptsModal/ReadReceiptsModal.tsx index 75f4722784924..a58d0f2625b76 100644 --- a/apps/meteor/client/views/room/modals/ReadReceiptsModal/ReadReceiptsModal.tsx +++ b/apps/meteor/client/views/room/modals/ReadReceiptsModal/ReadReceiptsModal.tsx @@ -2,7 +2,6 @@ import type { IMessage } from '@rocket.chat/core-typings'; import { GenericModal, GenericModalSkeleton } from '@rocket.chat/ui-client'; import { useMethod, useToastMessageDispatch } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import { useEffect } from 'react'; import { useTranslation } from 'react-i18next'; @@ -13,7 +12,7 @@ type ReadReceiptsModalProps = { onClose: () => void; }; -const ReadReceiptsModal = ({ messageId, onClose }: ReadReceiptsModalProps): ReactElement => { +const ReadReceiptsModal = ({ messageId, onClose }: ReadReceiptsModalProps) => { const { t } = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); diff --git a/apps/meteor/client/views/room/modals/ReportMessageModal/ReportMessageModal.tsx b/apps/meteor/client/views/room/modals/ReportMessageModal/ReportMessageModal.tsx index 223a171b1d1b3..4cfad15e5a449 100644 --- a/apps/meteor/client/views/room/modals/ReportMessageModal/ReportMessageModal.tsx +++ b/apps/meteor/client/views/room/modals/ReportMessageModal/ReportMessageModal.tsx @@ -3,7 +3,6 @@ import { css } from '@rocket.chat/css-in-js'; import { TextAreaInput, FieldGroup, Field, FieldRow, FieldError, FieldLabel, FieldDescription, Box } from '@rocket.chat/fuselage'; import { GenericModal } from '@rocket.chat/ui-client'; import { useToastMessageDispatch, useEndpoint } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useId } from 'react'; import { useForm, Controller } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -24,7 +23,7 @@ const wordBreak = css` word-break: break-word; `; -const ReportMessageModal = ({ message, onClose }: ReportMessageModalProps): ReactElement => { +const ReportMessageModal = ({ message, onClose }: ReportMessageModalProps) => { const { t } = useTranslation(); const reasonForReportId = useId(); const { diff --git a/apps/meteor/client/views/room/providers/ChatProvider.tsx b/apps/meteor/client/views/room/providers/ChatProvider.tsx index 63e7576f35eb4..399b3e96b5380 100644 --- a/apps/meteor/client/views/room/providers/ChatProvider.tsx +++ b/apps/meteor/client/views/room/providers/ChatProvider.tsx @@ -1,4 +1,4 @@ -import type { ReactElement, ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { ChatContext } from '../contexts/ChatContext'; import { useRoom } from '../contexts/RoomContext'; @@ -9,7 +9,7 @@ type ChatProviderProps = { tmid?: string; }; -const ChatProvider = ({ children, tmid }: ChatProviderProps): ReactElement => { +const ChatProvider = ({ children, tmid }: ChatProviderProps) => { const { _id: rid, encrypted } = useRoom(); const value = useChatMessagesInstance({ rid, tmid, encrypted }); diff --git a/apps/meteor/client/views/room/providers/RoomProvider.tsx b/apps/meteor/client/views/room/providers/RoomProvider.tsx index 595dabe1ed9d2..4422e023f2c81 100644 --- a/apps/meteor/client/views/room/providers/RoomProvider.tsx +++ b/apps/meteor/client/views/room/providers/RoomProvider.tsx @@ -1,5 +1,5 @@ import type { IRoom } from '@rocket.chat/core-typings'; -import type { ReactNode, ContextType, ReactElement } from 'react'; +import type { ReactNode, ContextType } from 'react'; import { useMemo, memo, useEffect } from 'react'; import ComposerPopupProvider from './ComposerPopupProvider'; @@ -26,7 +26,7 @@ type RoomProviderProps = { rid: IRoom['_id']; }; -const RoomProvider = ({ rid, children }: RoomProviderProps): ReactElement => { +const RoomProvider = ({ rid, children }: RoomProviderProps) => { const room = Rooms.use((state) => state.get(rid)); const subscritionFromLocal = Subscriptions.use((state) => state.find((record) => record.rid === rid)); diff --git a/apps/meteor/client/views/room/providers/hooks/useInstance.ts b/apps/meteor/client/views/room/providers/hooks/useInstance.ts index cbe05b39d039a..118c73824c1b8 100644 --- a/apps/meteor/client/views/room/providers/hooks/useInstance.ts +++ b/apps/meteor/client/views/room/providers/hooks/useInstance.ts @@ -3,7 +3,7 @@ import { useRef, useEffect } from 'react'; import { useDepsMatch } from './useDepsMatch'; export function useInstance(factory: () => [instance: T, release?: () => void], deps: unknown[]): T { - const ref = useRef<[instance: T, release?: () => void]>(); + const ref = useRef<[instance: T, release?: () => void]>(undefined); useEffect( () => () => { diff --git a/apps/meteor/client/views/room/webdav/AddWebdavAccountModal.tsx b/apps/meteor/client/views/room/webdav/AddWebdavAccountModal.tsx index 602995ab6ce80..222a612015c5a 100644 --- a/apps/meteor/client/views/room/webdav/AddWebdavAccountModal.tsx +++ b/apps/meteor/client/views/room/webdav/AddWebdavAccountModal.tsx @@ -18,7 +18,6 @@ import { ModalFooterControllers, } from '@rocket.chat/fuselage'; import { useToastMessageDispatch, useMethod } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useState } from 'react'; import type { SubmitHandler } from 'react-hook-form'; import { useForm } from 'react-hook-form'; @@ -31,7 +30,7 @@ type AddWebdavAccountModalProps = { onConfirm: () => void; }; -const AddWebdavAccountModal = ({ onClose, onConfirm }: AddWebdavAccountModalProps): ReactElement => { +const AddWebdavAccountModal = ({ onClose, onConfirm }: AddWebdavAccountModalProps) => { const handleAddWebdavAccount = useMethod('addWebdavAccount'); const dispatchToastMessage = useToastMessageDispatch(); const [isLoading, setIsLoading] = useState(false); diff --git a/apps/meteor/client/views/room/webdav/SaveToWebdavModal.tsx b/apps/meteor/client/views/room/webdav/SaveToWebdavModal.tsx index 50c352f81d302..10b6ff89618cf 100644 --- a/apps/meteor/client/views/room/webdav/SaveToWebdavModal.tsx +++ b/apps/meteor/client/views/room/webdav/SaveToWebdavModal.tsx @@ -19,7 +19,6 @@ import { ModalFooterControllers, } from '@rocket.chat/fuselage'; import { useMethod, useSetting, useToastMessageDispatch } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useState, useMemo, useEffect, useRef, useId } from 'react'; import { useForm, Controller } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -35,7 +34,7 @@ type SaveToWebdavModalProps = { }; }; -const SaveToWebdavModal = ({ onClose, data }: SaveToWebdavModalProps): ReactElement => { +const SaveToWebdavModal = ({ onClose, data }: SaveToWebdavModalProps) => { const { t } = useTranslation(); const [isLoading, setIsLoading] = useState(false); const dispatchToastMessage = useToastMessageDispatch(); @@ -114,7 +113,7 @@ const SaveToWebdavModal = ({ onClose, data }: SaveToWebdavModalProps): ReactElem name='accountId' control={control} rules={{ required: t('Required_field', { field: t('Select_a_webdav_server') }) }} - render={({ field }): ReactElement => ( + render={({ field }) => (