Skip to content

Commit 1b88937

Browse files
authored
refactor: remove unnecessary ReactElement type annotations in components (#40821)
1 parent b901d7c commit 1b88937

196 files changed

Lines changed: 273 additions & 432 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
import { useResizeObserver, useStableArray } from '@rocket.chat/fuselage-hooks';
22
import { useMemo } from 'react';
33

4-
export const useResizeInlineBreakpoint = (sizes: number[] = [], debounceDelay = 0): unknown[] => {
5-
const { ref, borderBoxSize } = useResizeObserver({ debounceDelay });
4+
export const useResizeInlineBreakpoint = <TElement extends Element>(sizes: number[] = [], debounceDelay = 0) => {
5+
const { ref, borderBoxSize } = useResizeObserver<TElement>({ debounceDelay });
66
const inlineSize = borderBoxSize ? borderBoxSize.inlineSize : 0;
77
const stableSizes = useStableArray(sizes);
88
const newSizes = useMemo(() => stableSizes.map((current) => (inlineSize ? inlineSize > current : true)), [inlineSize, stableSizes]);
9-
return [ref, ...newSizes];
9+
return [ref, ...newSizes] as const;
1010
};

apps/meteor/client/views/account/AccountRouter.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { useRouter } from '@rocket.chat/ui-contexts';
2-
import type { ReactElement, ReactNode } from 'react';
2+
import type { ReactNode } from 'react';
33
import { Suspense, useEffect } from 'react';
44

55
import AccountSidebar from './AccountSidebar';
@@ -10,7 +10,7 @@ type AccountRouterProps = {
1010
children?: ReactNode;
1111
};
1212

13-
const AccountRouter = ({ children }: AccountRouterProps): ReactElement => {
13+
const AccountRouter = ({ children }: AccountRouterProps) => {
1414
const router = useRouter();
1515

1616
useEffect(

apps/meteor/client/views/account/deviceManagement/DeviceManagementAccountPage.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import { Page, PageHeader, PageContent } from '@rocket.chat/ui-client';
2-
import type { ReactElement } from 'react';
32
import { useTranslation } from 'react-i18next';
43

54
import DeviceManagementAccountTable from './DeviceManagementAccountTable';
65

7-
const DeviceManagementAccountPage = (): ReactElement => {
6+
const DeviceManagementAccountPage = () => {
87
const { t } = useTranslation();
98

109
return (

apps/meteor/client/views/account/deviceManagement/DeviceManagementAccountTable/DeviceManagementAccountRow.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { Box, Button } from '@rocket.chat/fuselage';
22
import { useMediaQuery } from '@rocket.chat/fuselage-hooks';
33
import { GenericTableCell, GenericTableRow } from '@rocket.chat/ui-client';
4-
import type { ReactElement } from 'react';
54
import { useTranslation } from 'react-i18next';
65

76
import DeviceIcon from '../../../../components/deviceManagement/DeviceIcon';
@@ -16,7 +15,7 @@ type DevicesRowProps = {
1615
loginAt: string;
1716
};
1817

19-
const DeviceManagementAccountRow = ({ _id, deviceName, deviceType = 'browser', deviceOSName, loginAt }: DevicesRowProps): ReactElement => {
18+
const DeviceManagementAccountRow = ({ _id, deviceName, deviceType = 'browser', deviceOSName, loginAt }: DevicesRowProps) => {
2019
const { t } = useTranslation();
2120
const formatDateAndTime = useFormatDateAndTime();
2221
const mediaQuery = useMediaQuery('(min-width: 1024px)');

apps/meteor/client/views/account/deviceManagement/DeviceManagementAccountTable/DeviceManagementAccountTable.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import { useMediaQuery } from '@rocket.chat/fuselage-hooks';
22
import { GenericTableHeaderCell, usePagination, useSort } from '@rocket.chat/ui-client';
33
import { useEndpoint } from '@rocket.chat/ui-contexts';
44
import { useQuery } from '@tanstack/react-query';
5-
import type { ReactElement } from 'react';
65
import { useMemo } from 'react';
76
import { useTranslation } from 'react-i18next';
87

@@ -16,7 +15,7 @@ const sortMapping = {
1615
loginAt: 'loginAt',
1716
};
1817

19-
const DeviceManagementAccountTable = (): ReactElement => {
18+
const DeviceManagementAccountTable = () => {
2019
const { t } = useTranslation();
2120
const { current, itemsPerPage, setCurrent, setItemsPerPage, ...paginationProps } = usePagination();
2221
const { sortBy, sortDirection, setSort } = useSort<'client' | 'os' | 'loginAt'>('loginAt');
@@ -59,7 +58,7 @@ const DeviceManagementAccountTable = (): ReactElement => {
5958
<DeviceManagementTable
6059
{...queryResult}
6160
headers={headers}
62-
renderRow={(session): ReactElement => (
61+
renderRow={(session) => (
6362
<DeviceManagementAccountRow
6463
key={session._id}
6564
_id={session._id}

apps/meteor/client/views/account/integrations/AccountIntegrationsRoute.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,9 @@
11
import { useSetting } from '@rocket.chat/ui-contexts';
2-
import type { ReactElement } from 'react';
32

43
import AccountIntegrationsPage from './AccountIntegrationsPage';
54
import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage';
65

7-
const AccountIntegrationsRoute = (): ReactElement => {
6+
const AccountIntegrationsRoute = () => {
87
const webdavEnabled = useSetting('Webdav_Integration_Enabled', false);
98

109
if (!webdavEnabled) {

apps/meteor/client/views/account/omnichannel/OmnichannelPreferencesPage.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import { ButtonGroup, Button, Box, Accordion } from '@rocket.chat/fuselage';
22
import { Page, PageHeader, PageScrollableContentWithShadow, PageFooter } from '@rocket.chat/ui-client';
33
import { useToastMessageDispatch, useTranslation, useEndpoint, useUserPreference, useSetting } from '@rocket.chat/ui-contexts';
4-
import type { ReactElement } from 'react';
54
import { useForm, FormProvider } from 'react-hook-form';
65

76
import PreferencesConversationTranscript from './PreferencesConversationTranscript';
@@ -12,7 +11,7 @@ type FormData = {
1211
omnichannelTranscriptEmail: boolean;
1312
};
1413

15-
const OmnichannelPreferencesPage = (): ReactElement => {
14+
const OmnichannelPreferencesPage = () => {
1615
const t = useTranslation();
1716
const dispatchToastMessage = useToastMessageDispatch();
1817

apps/meteor/client/views/account/omnichannel/PreferencesGeneral.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
import { Field, FieldGroup, FieldHint, FieldLabel, FieldRow, ToggleSwitch } from '@rocket.chat/fuselage-forms';
2-
import type { ReactElement } from 'react';
32
import { Controller, useFormContext } from 'react-hook-form';
43
import { useTranslation } from 'react-i18next';
54

6-
export const PreferencesGeneral = (): ReactElement => {
5+
export const PreferencesGeneral = () => {
76
const { t } = useTranslation();
87
const { control } = useFormContext();
98

apps/meteor/client/views/account/preferences/AccountPreferencesPage.tsx

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import { Page, PageHeader, PageScrollableContentWithShadow, PageFooter } from '@
33
import { useToastMessageDispatch, useSetting, useTranslation, useEndpoint } from '@rocket.chat/ui-contexts';
44
import { useMutation } from '@tanstack/react-query';
55
import { useId } from 'react';
6-
import type { ReactElement } from 'react';
76
import { FormProvider, useForm } from 'react-hook-form';
87

98
import PreferencesGlobalSection from './PreferencesGlobalSection';
@@ -18,7 +17,7 @@ import type { AccountPreferencesData } from './useAccountPreferencesValues';
1817
import { useAccountPreferencesValues } from './useAccountPreferencesValues';
1918
import { getDirtyFields } from '../../../lib/getDirtyFields';
2019

21-
const AccountPreferencesPage = (): ReactElement => {
20+
const AccountPreferencesPage = () => {
2221
const t = useTranslation();
2322
const dispatchToastMessage = useToastMessageDispatch();
2423
const dataDownloadEnabled = useSetting('UserData_EnableDownload');

apps/meteor/client/views/account/profile/AccountProfileForm.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import {
1414
useLayout,
1515
} from '@rocket.chat/ui-contexts';
1616
import { useMutation } from '@tanstack/react-query';
17-
import type { AllHTMLAttributes, ReactElement } from 'react';
17+
import type { AllHTMLAttributes } from 'react';
1818
import { useCallback } from 'react';
1919
import { Controller, useFormContext } from 'react-hook-form';
2020

@@ -26,7 +26,7 @@ import UserAvatarEditor from '../../../components/avatar/UserAvatarEditor';
2626
import { useUpdateAvatar } from '../../../hooks/useUpdateAvatar';
2727
import { USER_STATUS_TEXT_MAX_LENGTH, BIO_TEXT_MAX_LENGTH } from '../../../lib/constants';
2828

29-
const AccountProfileForm = (props: AllHTMLAttributes<HTMLFormElement>): ReactElement => {
29+
const AccountProfileForm = (props: AllHTMLAttributes<HTMLFormElement>) => {
3030
const t = useTranslation();
3131
const user = useUser();
3232
const dispatchToastMessage = useToastMessageDispatch();

0 commit comments

Comments
 (0)