diff --git a/apps/meteor/client/hooks/useResizeInlineBreakpoint.ts b/apps/meteor/client/hooks/useResizeInlineBreakpoint.ts index ba4a07dfaa5c2..f3e5e69566f91 100644 --- a/apps/meteor/client/hooks/useResizeInlineBreakpoint.ts +++ b/apps/meteor/client/hooks/useResizeInlineBreakpoint.ts @@ -1,10 +1,10 @@ import { useResizeObserver, useStableArray } from '@rocket.chat/fuselage-hooks'; import { useMemo } from 'react'; -export const useResizeInlineBreakpoint = (sizes: number[] = [], debounceDelay = 0): unknown[] => { - const { ref, borderBoxSize } = useResizeObserver({ debounceDelay }); +export const useResizeInlineBreakpoint = (sizes: number[] = [], debounceDelay = 0) => { + const { ref, borderBoxSize } = useResizeObserver({ debounceDelay }); const inlineSize = borderBoxSize ? borderBoxSize.inlineSize : 0; const stableSizes = useStableArray(sizes); const newSizes = useMemo(() => stableSizes.map((current) => (inlineSize ? inlineSize > current : true)), [inlineSize, stableSizes]); - return [ref, ...newSizes]; + return [ref, ...newSizes] as const; }; diff --git a/apps/meteor/client/views/account/AccountRouter.tsx b/apps/meteor/client/views/account/AccountRouter.tsx index ee0164773361e..82495ad7ed626 100644 --- a/apps/meteor/client/views/account/AccountRouter.tsx +++ b/apps/meteor/client/views/account/AccountRouter.tsx @@ -1,5 +1,5 @@ import { useRouter } from '@rocket.chat/ui-contexts'; -import type { ReactElement, ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { Suspense, useEffect } from 'react'; import AccountSidebar from './AccountSidebar'; @@ -10,7 +10,7 @@ type AccountRouterProps = { children?: ReactNode; }; -const AccountRouter = ({ children }: AccountRouterProps): ReactElement => { +const AccountRouter = ({ children }: AccountRouterProps) => { const router = useRouter(); useEffect( diff --git a/apps/meteor/client/views/account/deviceManagement/DeviceManagementAccountPage.tsx b/apps/meteor/client/views/account/deviceManagement/DeviceManagementAccountPage.tsx index bcb46d5663383..20fc6e79b6d82 100644 --- a/apps/meteor/client/views/account/deviceManagement/DeviceManagementAccountPage.tsx +++ b/apps/meteor/client/views/account/deviceManagement/DeviceManagementAccountPage.tsx @@ -1,10 +1,9 @@ import { Page, PageHeader, PageContent } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import DeviceManagementAccountTable from './DeviceManagementAccountTable'; -const DeviceManagementAccountPage = (): ReactElement => { +const DeviceManagementAccountPage = () => { const { t } = useTranslation(); return ( diff --git a/apps/meteor/client/views/account/deviceManagement/DeviceManagementAccountTable/DeviceManagementAccountRow.tsx b/apps/meteor/client/views/account/deviceManagement/DeviceManagementAccountTable/DeviceManagementAccountRow.tsx index 4e590582d99d3..892c750af1dfd 100644 --- a/apps/meteor/client/views/account/deviceManagement/DeviceManagementAccountTable/DeviceManagementAccountRow.tsx +++ b/apps/meteor/client/views/account/deviceManagement/DeviceManagementAccountTable/DeviceManagementAccountRow.tsx @@ -1,7 +1,6 @@ import { Box, Button } from '@rocket.chat/fuselage'; import { useMediaQuery } from '@rocket.chat/fuselage-hooks'; import { GenericTableCell, GenericTableRow } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import DeviceIcon from '../../../../components/deviceManagement/DeviceIcon'; @@ -16,7 +15,7 @@ type DevicesRowProps = { loginAt: string; }; -const DeviceManagementAccountRow = ({ _id, deviceName, deviceType = 'browser', deviceOSName, loginAt }: DevicesRowProps): ReactElement => { +const DeviceManagementAccountRow = ({ _id, deviceName, deviceType = 'browser', deviceOSName, loginAt }: DevicesRowProps) => { const { t } = useTranslation(); const formatDateAndTime = useFormatDateAndTime(); const mediaQuery = useMediaQuery('(min-width: 1024px)'); diff --git a/apps/meteor/client/views/account/deviceManagement/DeviceManagementAccountTable/DeviceManagementAccountTable.tsx b/apps/meteor/client/views/account/deviceManagement/DeviceManagementAccountTable/DeviceManagementAccountTable.tsx index a865e5511e686..9c8757b45edbd 100644 --- a/apps/meteor/client/views/account/deviceManagement/DeviceManagementAccountTable/DeviceManagementAccountTable.tsx +++ b/apps/meteor/client/views/account/deviceManagement/DeviceManagementAccountTable/DeviceManagementAccountTable.tsx @@ -2,7 +2,6 @@ import { useMediaQuery } from '@rocket.chat/fuselage-hooks'; import { GenericTableHeaderCell, usePagination, useSort } from '@rocket.chat/ui-client'; import { useEndpoint } 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'; @@ -16,7 +15,7 @@ const sortMapping = { loginAt: 'loginAt', }; -const DeviceManagementAccountTable = (): ReactElement => { +const DeviceManagementAccountTable = () => { const { t } = useTranslation(); const { current, itemsPerPage, setCurrent, setItemsPerPage, ...paginationProps } = usePagination(); const { sortBy, sortDirection, setSort } = useSort<'client' | 'os' | 'loginAt'>('loginAt'); @@ -59,7 +58,7 @@ const DeviceManagementAccountTable = (): ReactElement => { ( + renderRow={(session) => ( { +const AccountIntegrationsRoute = () => { const webdavEnabled = useSetting('Webdav_Integration_Enabled', false); if (!webdavEnabled) { diff --git a/apps/meteor/client/views/account/omnichannel/OmnichannelPreferencesPage.tsx b/apps/meteor/client/views/account/omnichannel/OmnichannelPreferencesPage.tsx index 08855bd681808..83e3a7c56112d 100644 --- a/apps/meteor/client/views/account/omnichannel/OmnichannelPreferencesPage.tsx +++ b/apps/meteor/client/views/account/omnichannel/OmnichannelPreferencesPage.tsx @@ -1,7 +1,6 @@ import { ButtonGroup, Button, Box, Accordion } from '@rocket.chat/fuselage'; import { Page, PageHeader, PageScrollableContentWithShadow, PageFooter } from '@rocket.chat/ui-client'; import { useToastMessageDispatch, useTranslation, useEndpoint, useUserPreference, useSetting } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useForm, FormProvider } from 'react-hook-form'; import PreferencesConversationTranscript from './PreferencesConversationTranscript'; @@ -12,7 +11,7 @@ type FormData = { omnichannelTranscriptEmail: boolean; }; -const OmnichannelPreferencesPage = (): ReactElement => { +const OmnichannelPreferencesPage = () => { const t = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); diff --git a/apps/meteor/client/views/account/omnichannel/PreferencesGeneral.tsx b/apps/meteor/client/views/account/omnichannel/PreferencesGeneral.tsx index bfdd236df6eea..f58a76c32ece6 100644 --- a/apps/meteor/client/views/account/omnichannel/PreferencesGeneral.tsx +++ b/apps/meteor/client/views/account/omnichannel/PreferencesGeneral.tsx @@ -1,9 +1,8 @@ import { Field, FieldGroup, FieldHint, FieldLabel, FieldRow, ToggleSwitch } from '@rocket.chat/fuselage-forms'; -import type { ReactElement } from 'react'; import { Controller, useFormContext } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; -export const PreferencesGeneral = (): ReactElement => { +export const PreferencesGeneral = () => { const { t } = useTranslation(); const { control } = useFormContext(); diff --git a/apps/meteor/client/views/account/preferences/AccountPreferencesPage.tsx b/apps/meteor/client/views/account/preferences/AccountPreferencesPage.tsx index a6ec5bafd6e08..c4dcf0718abb4 100644 --- a/apps/meteor/client/views/account/preferences/AccountPreferencesPage.tsx +++ b/apps/meteor/client/views/account/preferences/AccountPreferencesPage.tsx @@ -3,7 +3,6 @@ import { Page, PageHeader, PageScrollableContentWithShadow, PageFooter } from '@ import { useToastMessageDispatch, useSetting, useTranslation, useEndpoint } from '@rocket.chat/ui-contexts'; import { useMutation } from '@tanstack/react-query'; import { useId } from 'react'; -import type { ReactElement } from 'react'; import { FormProvider, useForm } from 'react-hook-form'; import PreferencesGlobalSection from './PreferencesGlobalSection'; @@ -18,7 +17,7 @@ import type { AccountPreferencesData } from './useAccountPreferencesValues'; import { useAccountPreferencesValues } from './useAccountPreferencesValues'; import { getDirtyFields } from '../../../lib/getDirtyFields'; -const AccountPreferencesPage = (): ReactElement => { +const AccountPreferencesPage = () => { const t = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); const dataDownloadEnabled = useSetting('UserData_EnableDownload'); diff --git a/apps/meteor/client/views/account/profile/AccountProfileForm.tsx b/apps/meteor/client/views/account/profile/AccountProfileForm.tsx index 032bd545ec563..a6dcec996b9a1 100644 --- a/apps/meteor/client/views/account/profile/AccountProfileForm.tsx +++ b/apps/meteor/client/views/account/profile/AccountProfileForm.tsx @@ -14,7 +14,7 @@ import { useLayout, } from '@rocket.chat/ui-contexts'; import { useMutation } from '@tanstack/react-query'; -import type { AllHTMLAttributes, ReactElement } from 'react'; +import type { AllHTMLAttributes } from 'react'; import { useCallback } from 'react'; import { Controller, useFormContext } from 'react-hook-form'; @@ -26,7 +26,7 @@ import UserAvatarEditor from '../../../components/avatar/UserAvatarEditor'; import { useUpdateAvatar } from '../../../hooks/useUpdateAvatar'; import { USER_STATUS_TEXT_MAX_LENGTH, BIO_TEXT_MAX_LENGTH } from '../../../lib/constants'; -const AccountProfileForm = (props: AllHTMLAttributes): ReactElement => { +const AccountProfileForm = (props: AllHTMLAttributes) => { const t = useTranslation(); const user = useUser(); const dispatchToastMessage = useToastMessageDispatch(); diff --git a/apps/meteor/client/views/account/profile/AccountProfilePage.tsx b/apps/meteor/client/views/account/profile/AccountProfilePage.tsx index 13e93a8529476..58901885149ef 100644 --- a/apps/meteor/client/views/account/profile/AccountProfilePage.tsx +++ b/apps/meteor/client/views/account/profile/AccountProfilePage.tsx @@ -12,7 +12,6 @@ import { useSetting, useLayout, } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useId, useState, useCallback } from 'react'; import { FormProvider, useForm } from 'react-hook-form'; @@ -23,7 +22,7 @@ import ConfirmOwnerChangeModal from '../../../components/ConfirmOwnerChangeModal import { useAllowPasswordChange } from '../security/useAllowPasswordChange'; // TODO: enforce useMutation -const AccountProfilePage = (): ReactElement => { +const AccountProfilePage = () => { const t = useTranslation(); const user = useUser(); const dispatchToastMessage = useToastMessageDispatch(); diff --git a/apps/meteor/client/views/account/profile/AccountProfileRoute.tsx b/apps/meteor/client/views/account/profile/AccountProfileRoute.tsx index 811d9747985ec..ecd3ad541a9f4 100644 --- a/apps/meteor/client/views/account/profile/AccountProfileRoute.tsx +++ b/apps/meteor/client/views/account/profile/AccountProfileRoute.tsx @@ -1,10 +1,9 @@ import { useSetting } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import AccountProfilePage from './AccountProfilePage'; import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage'; -const AccountProfileRoute = (): ReactElement => { +const AccountProfileRoute = () => { const canViewProfile = useSetting('Accounts_AllowUserProfileChange'); if (!canViewProfile) { diff --git a/apps/meteor/client/views/account/security/AccountSecurityPage.tsx b/apps/meteor/client/views/account/security/AccountSecurityPage.tsx index 097a0c713232a..7ff059f1c5bba 100644 --- a/apps/meteor/client/views/account/security/AccountSecurityPage.tsx +++ b/apps/meteor/client/views/account/security/AccountSecurityPage.tsx @@ -2,7 +2,6 @@ import { Box, Accordion, AccordionItem, ButtonGroup, Button, Callout } from '@ro import { Page, PageHeader, PageScrollableContentWithShadow, PageFooter } from '@rocket.chat/ui-client'; import { useSetting, useTranslation, useUser } from '@rocket.chat/ui-contexts'; import { useId } from 'react'; -import type { ReactElement } from 'react'; import { FormProvider, useForm } from 'react-hook-form'; import ChangePassword from './ChangePassword'; @@ -13,7 +12,7 @@ import { useRequire2faSetup } from '../../hooks/useRequire2faSetup'; const passwordDefaultValues = { password: '', confirmationPassword: '' }; -const AccountSecurityPage = (): ReactElement => { +const AccountSecurityPage = () => { const t = useTranslation(); const user = useUser(); diff --git a/apps/meteor/client/views/account/security/AccountSecurityRoute.tsx b/apps/meteor/client/views/account/security/AccountSecurityRoute.tsx index 7ce83ea276b63..74828190d9569 100644 --- a/apps/meteor/client/views/account/security/AccountSecurityRoute.tsx +++ b/apps/meteor/client/views/account/security/AccountSecurityRoute.tsx @@ -1,10 +1,9 @@ import { useSetting } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import AccountSecurityPage from './AccountSecurityPage'; import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage'; -const AccountSecurityRoute = (): ReactElement => { +const AccountSecurityRoute = () => { const isTwoFactorEnabled = useSetting('Accounts_TwoFactorAuthentication_Enabled'); const isE2EEnabled = useSetting('E2E_Enable'); const allowPasswordChange = useSetting('Accounts_AllowPasswordChange'); diff --git a/apps/meteor/client/views/account/security/ChangePassphrase.tsx b/apps/meteor/client/views/account/security/ChangePassphrase.tsx index 00a45db9db5e1..6a4e2eada8223 100644 --- a/apps/meteor/client/views/account/security/ChangePassphrase.tsx +++ b/apps/meteor/client/views/account/security/ChangePassphrase.tsx @@ -42,7 +42,7 @@ const defaultValues = { confirmationPassphrase: '', }; -export const ChangePassphrase = (): JSX.Element => { +export const ChangePassphrase = () => { const { t } = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); diff --git a/apps/meteor/client/views/account/security/EndToEnd.tsx b/apps/meteor/client/views/account/security/EndToEnd.tsx index 217430b3cf80d..18e9acf72c125 100644 --- a/apps/meteor/client/views/account/security/EndToEnd.tsx +++ b/apps/meteor/client/views/account/security/EndToEnd.tsx @@ -3,7 +3,7 @@ import { Box, Divider } from '@rocket.chat/fuselage'; import { ChangePassphrase } from './ChangePassphrase'; import { ResetPassphrase } from './ResetPassphrase'; -const EndToEnd = (): JSX.Element => { +const EndToEnd = () => { return ( diff --git a/apps/meteor/client/views/account/security/ResetPassphrase.tsx b/apps/meteor/client/views/account/security/ResetPassphrase.tsx index 6e01f74f311d4..4160047bbd383 100644 --- a/apps/meteor/client/views/account/security/ResetPassphrase.tsx +++ b/apps/meteor/client/views/account/security/ResetPassphrase.tsx @@ -3,7 +3,7 @@ import { useTranslation } from 'react-i18next'; import { useResetE2EPasswordMutation } from '../../hooks/useResetE2EPasswordMutation'; -export const ResetPassphrase = (): JSX.Element => { +export const ResetPassphrase = () => { const { t } = useTranslation(); const resetE2EPassword = useResetE2EPasswordMutation(); return ( diff --git a/apps/meteor/client/views/account/security/TwoFactorTOTP.tsx b/apps/meteor/client/views/account/security/TwoFactorTOTP.tsx index 1c7bac0937d0a..26c51e32702b5 100644 --- a/apps/meteor/client/views/account/security/TwoFactorTOTP.tsx +++ b/apps/meteor/client/views/account/security/TwoFactorTOTP.tsx @@ -1,7 +1,7 @@ import { Box, Button, TextInput, Margins, Field, FieldRow, FieldLabel, ToggleSwitch } from '@rocket.chat/fuselage'; import { useEffectEvent, useSafely } from '@rocket.chat/fuselage-hooks'; import { useSetModal, useToastMessageDispatch, useUser, useMethod } from '@rocket.chat/ui-contexts'; -import type { ReactElement, ComponentPropsWithoutRef, FormEvent } from 'react'; +import type { ComponentPropsWithoutRef, FormEvent } from 'react'; import { useState, useCallback, useEffect, useId } from 'react'; import { useForm } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -17,7 +17,7 @@ type TwoFactorTOTPFormData = { type TwoFactorTOTPProps = ComponentPropsWithoutRef; -const TwoFactorTOTP = (props: TwoFactorTOTPProps): ReactElement => { +const TwoFactorTOTP = (props: TwoFactorTOTPProps) => { const { t } = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); const user = useUser(); diff --git a/apps/meteor/client/views/account/tokens/AccountTokensPage.tsx b/apps/meteor/client/views/account/tokens/AccountTokensPage.tsx index 9b4cb52c8c124..126d90e26ffcf 100644 --- a/apps/meteor/client/views/account/tokens/AccountTokensPage.tsx +++ b/apps/meteor/client/views/account/tokens/AccountTokensPage.tsx @@ -1,10 +1,9 @@ import { Page, PageHeader, PageContent } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import AccountTokensTable from './AccountTokensTable'; -const AccountTokensPage = (): ReactElement => { +const AccountTokensPage = () => { const { t } = useTranslation(); return ( diff --git a/apps/meteor/client/views/account/tokens/AccountTokensRoute.tsx b/apps/meteor/client/views/account/tokens/AccountTokensRoute.tsx index 60064681f928c..4ef8c2f1f7c28 100644 --- a/apps/meteor/client/views/account/tokens/AccountTokensRoute.tsx +++ b/apps/meteor/client/views/account/tokens/AccountTokensRoute.tsx @@ -1,10 +1,9 @@ import { usePermission } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import AccountTokensPage from './AccountTokensPage'; import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage'; -const AccountTokensRoute = (): ReactElement => { +const AccountTokensRoute = () => { const canCreateTokens = usePermission('create-personal-access-tokens'); if (!canCreateTokens) { diff --git a/apps/meteor/client/views/account/tokens/AccountTokensTable/AccountTokensTable.tsx b/apps/meteor/client/views/account/tokens/AccountTokensTable/AccountTokensTable.tsx index 517e737faa865..54a9d588ae7cb 100644 --- a/apps/meteor/client/views/account/tokens/AccountTokensTable/AccountTokensTable.tsx +++ b/apps/meteor/client/views/account/tokens/AccountTokensTable/AccountTokensTable.tsx @@ -10,7 +10,6 @@ import { } from '@rocket.chat/ui-client'; import { useSetModal, useToastMessageDispatch, useUserId, useEndpoint } from '@rocket.chat/ui-contexts'; import { useQuery, useQueryClient } from '@tanstack/react-query'; -import type { ReactElement, RefObject } from 'react'; import { useMemo, useCallback } from 'react'; import { Trans, useTranslation } from 'react-i18next'; @@ -20,7 +19,7 @@ import GenericNoResults from '../../../../components/GenericNoResults'; import { useResizeInlineBreakpoint } from '../../../../hooks/useResizeInlineBreakpoint'; import { miscQueryKeys } from '../../../../lib/queryKeys'; -const AccountTokensTable = (): ReactElement => { +const AccountTokensTable = () => { const { t } = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); const setModal = useSetModal(); @@ -37,7 +36,7 @@ const AccountTokensTable = (): ReactElement => { const queryClient = useQueryClient(); - const [ref, isMedium] = useResizeInlineBreakpoint([600], 200) as [RefObject, boolean]; + const [ref, isMedium] = useResizeInlineBreakpoint([600], 200); const { current, itemsPerPage, setItemsPerPage: onSetItemsPerPage, setCurrent: onSetCurrent, ...paginationProps } = usePagination(); diff --git a/apps/meteor/client/views/admin/ABAC/ABACSettingTab/SettingField.tsx b/apps/meteor/client/views/admin/ABAC/ABACSettingTab/SettingField.tsx index 6d743296c7316..f83e228339a5c 100644 --- a/apps/meteor/client/views/admin/ABAC/ABACSettingTab/SettingField.tsx +++ b/apps/meteor/client/views/admin/ABAC/ABACSettingTab/SettingField.tsx @@ -3,7 +3,6 @@ import { isSettingColor, isSetting } from '@rocket.chat/core-typings'; import { useDebouncedCallback } from '@rocket.chat/fuselage-hooks'; import { useSettingsDispatch, useSettingStructure } from '@rocket.chat/ui-contexts'; import DOMPurify from 'dompurify'; -import type { ReactElement } from 'react'; import { useEffect, useMemo, useState, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; @@ -18,7 +17,7 @@ type SettingFieldProps = { sectionChanged?: boolean; }; -function SettingField({ className = undefined, settingId, sectionChanged }: SettingFieldProps): ReactElement { +function SettingField({ className = undefined, settingId, sectionChanged }: SettingFieldProps) { const setting = useEditableSetting(settingId); const persistedSetting = useSettingStructure(settingId); const hasSettingModule = useHasSettingModule(setting); diff --git a/apps/meteor/client/views/admin/ABAC/AdminABACRoute.tsx b/apps/meteor/client/views/admin/ABAC/AdminABACRoute.tsx index 79b025b679fe2..0d69b7894555e 100644 --- a/apps/meteor/client/views/admin/ABAC/AdminABACRoute.tsx +++ b/apps/meteor/client/views/admin/ABAC/AdminABACRoute.tsx @@ -1,5 +1,4 @@ import { usePermission, useSetModal, useCurrentModal, useRouter, useRouteParameter, useSettingStructure } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { memo, useEffect, useLayoutEffect } from 'react'; import { useTranslation } from 'react-i18next'; @@ -15,7 +14,7 @@ import SettingsProvider from '../../../providers/SettingsProvider'; import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage'; import EditableSettingsProvider from '../settings/EditableSettingsProvider'; -const AdminABACRoute = (): ReactElement => { +const AdminABACRoute = () => { const { t } = useTranslation(); const canViewABACPage = usePermission('abac-management'); const { data: hasABAC = false } = useHasLicenseModule('abac'); diff --git a/apps/meteor/client/views/admin/AdministrationRouter.tsx b/apps/meteor/client/views/admin/AdministrationRouter.tsx index d1adf66c8cb7f..5929c431ef2a4 100644 --- a/apps/meteor/client/views/admin/AdministrationRouter.tsx +++ b/apps/meteor/client/views/admin/AdministrationRouter.tsx @@ -1,5 +1,5 @@ import { useRouter } from '@rocket.chat/ui-contexts'; -import type { ReactElement, ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { Suspense, useEffect } from 'react'; import AdministrationLayout from './AdministrationLayout'; @@ -25,7 +25,7 @@ type AdministrationRouterProps = { children?: ReactNode; }; -const AdministrationRouter = ({ children }: AdministrationRouterProps): ReactElement => { +const AdministrationRouter = ({ children }: AdministrationRouterProps) => { const router = useRouter(); useEffect( diff --git a/apps/meteor/client/views/admin/customEmoji/AddCustomEmoji.tsx b/apps/meteor/client/views/admin/customEmoji/AddCustomEmoji.tsx index 8ccc01640842c..30e471124e696 100644 --- a/apps/meteor/client/views/admin/customEmoji/AddCustomEmoji.tsx +++ b/apps/meteor/client/views/admin/customEmoji/AddCustomEmoji.tsx @@ -1,7 +1,7 @@ import { Box, Button, ButtonGroup, Margins, TextInput, Field, FieldLabel, FieldRow, FieldError, IconButton } from '@rocket.chat/fuselage'; import { ContextualbarScrollableContent, ContextualbarFooter } from '@rocket.chat/ui-client'; import { useToastMessageDispatch } from '@rocket.chat/ui-contexts'; -import type { ReactElement, ChangeEvent } from 'react'; +import type { ChangeEvent } from 'react'; import { useCallback, useState } from 'react'; import { useTranslation } from 'react-i18next'; @@ -13,7 +13,7 @@ type AddCustomEmojiProps = { onChange: () => void; }; -const AddCustomEmoji = ({ close, onChange, ...props }: AddCustomEmojiProps): ReactElement => { +const AddCustomEmoji = ({ close, onChange, ...props }: AddCustomEmojiProps) => { const { t } = useTranslation(); const [name, setName] = useState(''); const [aliases, setAliases] = useState(''); diff --git a/apps/meteor/client/views/admin/customEmoji/CustomEmojiRoute.tsx b/apps/meteor/client/views/admin/customEmoji/CustomEmojiRoute.tsx index 040d7102329e6..ee4e00227e584 100644 --- a/apps/meteor/client/views/admin/customEmoji/CustomEmojiRoute.tsx +++ b/apps/meteor/client/views/admin/customEmoji/CustomEmojiRoute.tsx @@ -9,7 +9,6 @@ import { PageContent, } from '@rocket.chat/ui-client'; import { useRoute, useRouteParameter, usePermission } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useCallback, useRef } from 'react'; import { useTranslation } from 'react-i18next'; @@ -18,7 +17,7 @@ import CustomEmoji from './CustomEmoji'; import EditCustomEmojiWithData from './EditCustomEmojiWithData'; import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage'; -const CustomEmojiRoute = (): ReactElement => { +const CustomEmojiRoute = () => { const { t } = useTranslation(); const route = useRoute('emoji-custom'); const context = useRouteParameter('context'); diff --git a/apps/meteor/client/views/admin/customSounds/AddCustomSound.tsx b/apps/meteor/client/views/admin/customSounds/AddCustomSound.tsx index 3ef9d9724c2d8..187b4fb317bd5 100644 --- a/apps/meteor/client/views/admin/customSounds/AddCustomSound.tsx +++ b/apps/meteor/client/views/admin/customSounds/AddCustomSound.tsx @@ -2,7 +2,7 @@ import { Field, FieldLabel, FieldRow, TextInput, Box, Margins, Button, ButtonGro import { ContextualbarScrollableContent, ContextualbarFooter } from '@rocket.chat/ui-client'; import { useToastMessageDispatch, type UploadResult } from '@rocket.chat/ui-contexts'; import fileSize from 'filesize'; -import type { ReactElement, FormEvent } from 'react'; +import type { FormEvent } from 'react'; import { useState, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; @@ -23,7 +23,7 @@ type CustomSoundCreateResult = UploadResult & { }; }; -const AddCustomSound = ({ goToNew, close, onChange, ...props }: AddCustomSoundProps): ReactElement => { +const AddCustomSound = ({ goToNew, close, onChange, ...props }: AddCustomSoundProps) => { const { t } = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); diff --git a/apps/meteor/client/views/admin/customSounds/CustomSoundsRoute.tsx b/apps/meteor/client/views/admin/customSounds/CustomSoundsRoute.tsx index cddcd610a721a..cc89b400d7dbb 100644 --- a/apps/meteor/client/views/admin/customSounds/CustomSoundsRoute.tsx +++ b/apps/meteor/client/views/admin/customSounds/CustomSoundsRoute.tsx @@ -1,10 +1,9 @@ import { usePermission } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import CustomSoundsPage from './CustomSoundsPage'; import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage'; -const CustomSoundsRoute = (): ReactElement => { +const CustomSoundsRoute = () => { const canManageCustomSounds = usePermission('manage-sounds'); if (!canManageCustomSounds) { diff --git a/apps/meteor/client/views/admin/customSounds/CustomSoundsTable/CustomSoundRow.tsx b/apps/meteor/client/views/admin/customSounds/CustomSoundsTable/CustomSoundRow.tsx index b8648b40935ac..605c826425a82 100644 --- a/apps/meteor/client/views/admin/customSounds/CustomSoundsTable/CustomSoundRow.tsx +++ b/apps/meteor/client/views/admin/customSounds/CustomSoundsTable/CustomSoundRow.tsx @@ -2,7 +2,6 @@ import type { ICustomSound } from '@rocket.chat/core-typings'; import { Box, IconButton } from '@rocket.chat/fuselage'; import { GenericTableCell, GenericTableRow } from '@rocket.chat/ui-client'; import { useCustomSound } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useCallback, useState } from 'react'; import { useTranslation } from 'react-i18next'; @@ -14,7 +13,7 @@ type CustomSoundRowProps = { }; }; -const CustomSoundRow = ({ onClick, sound }: CustomSoundRowProps): ReactElement => { +const CustomSoundRow = ({ onClick, sound }: CustomSoundRowProps) => { const { t } = useTranslation(); const [isPlay, setPlayAudio] = useState(false); const customSound = useCustomSound(); diff --git a/apps/meteor/client/views/admin/customSounds/EditCustomSound.tsx b/apps/meteor/client/views/admin/customSounds/EditCustomSound.tsx index 0319ab6db8346..3fcd542e8ee3e 100644 --- a/apps/meteor/client/views/admin/customSounds/EditCustomSound.tsx +++ b/apps/meteor/client/views/admin/customSounds/EditCustomSound.tsx @@ -1,7 +1,6 @@ import { ContextualbarEmptyContent } from '@rocket.chat/ui-client'; import { useEndpoint } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import EditSound from './EditSound'; @@ -13,7 +12,7 @@ type EditCustomSoundProps = { close: () => void; }; -function EditCustomSound({ _id, onChange, close, ...props }: EditCustomSoundProps): ReactElement | null { +function EditCustomSound({ _id, onChange, close, ...props }: EditCustomSoundProps) { const getSound = useEndpoint('GET', '/v1/custom-sounds.getOne'); const { t } = useTranslation(); diff --git a/apps/meteor/client/views/admin/customSounds/EditSound.tsx b/apps/meteor/client/views/admin/customSounds/EditSound.tsx index a0ce56a54409d..54c338e444362 100644 --- a/apps/meteor/client/views/admin/customSounds/EditSound.tsx +++ b/apps/meteor/client/views/admin/customSounds/EditSound.tsx @@ -2,7 +2,7 @@ import { Box, Button, ButtonGroup, Margins, TextInput, Field, FieldLabel, FieldR import { GenericModal, ContextualbarScrollableContent, ContextualbarFooter } from '@rocket.chat/ui-client'; import { useSetModal, useToastMessageDispatch, useEndpoint } from '@rocket.chat/ui-contexts'; import fileSize from 'filesize'; -import type { ReactElement, SyntheticEvent } from 'react'; +import type { SyntheticEvent } from 'react'; import { useCallback, useState, useMemo, useEffect } from 'react'; import { useTranslation } from 'react-i18next'; @@ -21,7 +21,7 @@ type EditSoundProps = { }; }; -function EditSound({ close, onChange, data, ...props }: EditSoundProps): ReactElement { +function EditSound({ close, onChange, data, ...props }: EditSoundProps) { const { t } = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); const setModal = useSetModal(); diff --git a/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusForm.tsx b/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusForm.tsx index 322a2a0fe78ed..f9e174f35d8a3 100644 --- a/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusForm.tsx +++ b/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusForm.tsx @@ -3,7 +3,6 @@ import type { SelectOption } from '@rocket.chat/fuselage'; import { FieldGroup, Button, ButtonGroup, TextInput, Field, FieldLabel, FieldRow, FieldError, Select, Box } from '@rocket.chat/fuselage'; import { GenericModal, ContextualbarScrollableContent, ContextualbarFooter } from '@rocket.chat/ui-client'; import { useSetModal, useRoute, useToastMessageDispatch, useTranslation, useEndpoint } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useId, useCallback } from 'react'; import { useForm, Controller } from 'react-hook-form'; @@ -18,7 +17,7 @@ type CustomUserStatusFormProps = { status?: IUserStatus; }; -const CustomUserStatusForm = ({ onClose, onReload, status }: CustomUserStatusFormProps): ReactElement => { +const CustomUserStatusForm = ({ onClose, onReload, status }: CustomUserStatusFormProps) => { const t = useTranslation(); const { _id } = status || {}; const setModal = useSetModal(); @@ -113,7 +112,7 @@ const CustomUserStatusForm = ({ onClose, onReload, status }: CustomUserStatusFor name='statusType' control={control} rules={{ required: t('Required_field', { field: t('Presence') }) }} - render={({ field }): ReactElement => } /> {errors.statusType && {errors.statusType.message}} diff --git a/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusFormWithData.tsx b/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusFormWithData.tsx index d033bb303ba46..3f9f0bf528c91 100644 --- a/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusFormWithData.tsx +++ b/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusFormWithData.tsx @@ -2,7 +2,6 @@ import type { IUserStatus } from '@rocket.chat/core-typings'; import { Box, Callout } from '@rocket.chat/fuselage'; import { useEndpoint } 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'; @@ -15,7 +14,7 @@ type CustomUserStatusFormWithDataProps = { onReload: () => void; }; -const CustomUserStatusFormWithData = ({ _id, onReload, onClose }: CustomUserStatusFormWithDataProps): ReactElement => { +const CustomUserStatusFormWithData = ({ _id, onReload, onClose }: CustomUserStatusFormWithDataProps) => { const { t } = useTranslation(); const query = useMemo(() => ({ _id }), [_id]); diff --git a/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusRoute.tsx b/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusRoute.tsx index 2d53951bcebf6..da1dff090c084 100644 --- a/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusRoute.tsx +++ b/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusRoute.tsx @@ -9,7 +9,6 @@ import { PageContent, } from '@rocket.chat/ui-client'; import { useRoute, useRouteParameter, usePermission, useTranslation, useSetting } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useCallback, useRef, useEffect } from 'react'; import CustomUserActiveConnections from './CustomUserActiveConnections'; @@ -19,7 +18,7 @@ import CustomUserStatusTable from './CustomUserStatusTable'; import { useIsEnterprise } from '../../../hooks/useIsEnterprise'; import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage'; -const CustomUserStatusRoute = (): ReactElement => { +const CustomUserStatusRoute = () => { const t = useTranslation(); const route = useRoute('user-status'); const context = useRouteParameter('context'); diff --git a/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusTable/CustomUserStatusRow.tsx b/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusTable/CustomUserStatusRow.tsx index 5903e26bfad2c..ed83ee6257849 100644 --- a/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusTable/CustomUserStatusRow.tsx +++ b/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusTable/CustomUserStatusRow.tsx @@ -1,6 +1,6 @@ import type { IUserStatus } from '@rocket.chat/core-typings'; import { GenericTableRow, GenericTableCell } from '@rocket.chat/ui-client'; -import type { CSSProperties, ReactElement } from 'react'; +import type { CSSProperties } from 'react'; import { useTranslation } from 'react-i18next'; import MarkdownText from '../../../../components/MarkdownText'; @@ -12,7 +12,7 @@ type CustomUserStatusRowProps = { onClick: (id: string) => void; }; -const CustomUserStatusRow = ({ status, onClick }: CustomUserStatusRowProps): ReactElement => { +const CustomUserStatusRow = ({ status, onClick }: CustomUserStatusRowProps) => { const { _id, name, statusType } = status; const { t } = useTranslation(); diff --git a/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusTable/CustomUserStatusTable.tsx b/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusTable/CustomUserStatusTable.tsx index d3791a6627cf2..df071b0bec5cf 100644 --- a/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusTable/CustomUserStatusTable.tsx +++ b/apps/meteor/client/views/admin/customUserStatus/CustomUserStatusTable/CustomUserStatusTable.tsx @@ -12,7 +12,7 @@ import { } from '@rocket.chat/ui-client'; import { useEndpoint } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; -import type { ReactElement, MutableRefObject } from 'react'; +import type { MutableRefObject } from 'react'; import { useState, useMemo, useEffect } from 'react'; import { useTranslation } from 'react-i18next'; @@ -26,7 +26,7 @@ type CustomUserStatusProps = { }; // TODO: Missing error state -const CustomUserStatus = ({ reload, onClick }: CustomUserStatusProps): ReactElement | null => { +const CustomUserStatus = ({ reload, onClick }: CustomUserStatusProps) => { const { t } = useTranslation(); const [text, setText] = useState(''); const { current, itemsPerPage, setItemsPerPage: onSetItemsPerPage, setCurrent: onSetCurrent, ...paginationProps } = usePagination(); diff --git a/apps/meteor/client/views/admin/deviceManagement/DeviceManagementAdminRoute.tsx b/apps/meteor/client/views/admin/deviceManagement/DeviceManagementAdminRoute.tsx index fd808444a4485..6534ea017bbe5 100644 --- a/apps/meteor/client/views/admin/deviceManagement/DeviceManagementAdminRoute.tsx +++ b/apps/meteor/client/views/admin/deviceManagement/DeviceManagementAdminRoute.tsx @@ -1,5 +1,4 @@ import { usePermission, useRouter, useSetModal, useCurrentModal } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useEffect } from 'react'; import { useTranslation } from 'react-i18next'; @@ -11,7 +10,7 @@ import PageSkeleton from '../../../components/PageSkeleton'; import { useHasLicenseModule } from '../../../hooks/useHasLicenseModule'; import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage'; -const DeviceManagementAdminRoute = (): ReactElement => { +const DeviceManagementAdminRoute = () => { const { t } = useTranslation(); const router = useRouter(); const setModal = useSetModal(); diff --git a/apps/meteor/client/views/admin/deviceManagement/DeviceManagementInfo/DeviceManagementInfo.tsx b/apps/meteor/client/views/admin/deviceManagement/DeviceManagementInfo/DeviceManagementInfo.tsx index aa8f9eb146bf3..7e4f37794bec3 100644 --- a/apps/meteor/client/views/admin/deviceManagement/DeviceManagementInfo/DeviceManagementInfo.tsx +++ b/apps/meteor/client/views/admin/deviceManagement/DeviceManagementInfo/DeviceManagementInfo.tsx @@ -13,7 +13,6 @@ import { InfoPanelText, } from '@rocket.chat/ui-client'; import { useRoute, useUserPresence } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useCallback } from 'react'; import { useTranslation } from 'react-i18next'; @@ -22,7 +21,7 @@ import { useFormatDateAndTime } from '../../../../hooks/useFormatDateAndTime'; type DeviceManagementInfoProps = DeviceManagementPopulatedSession; -const DeviceManagementInfo = ({ device, sessionId, loginAt, ip, userId, _user }: DeviceManagementInfoProps): ReactElement => { +const DeviceManagementInfo = ({ device, sessionId, loginAt, ip, userId, _user }: DeviceManagementInfoProps) => { const { t } = useTranslation(); const deviceManagementRouter = useRoute('device-management'); const formatDateAndTime = useFormatDateAndTime(); diff --git a/apps/meteor/client/views/admin/emailInbox/EmailInboxForm.tsx b/apps/meteor/client/views/admin/emailInbox/EmailInboxForm.tsx index 05101cb4f21e7..70c17b13fb3fc 100644 --- a/apps/meteor/client/views/admin/emailInbox/EmailInboxForm.tsx +++ b/apps/meteor/client/views/admin/emailInbox/EmailInboxForm.tsx @@ -22,7 +22,6 @@ import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import { validateEmail } from '@rocket.chat/tools'; import { GenericModal, PageScrollableContentWithShadow } from '@rocket.chat/ui-client'; import { useSetModal, useToastMessageDispatch, useRoute, useEndpoint } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useId, useCallback } from 'react'; import { useForm, Controller } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -53,7 +52,7 @@ type EmailInboxFormProps = { inboxData?: IEmailInboxPayload; }; -const EmailInboxForm = ({ inboxData }: EmailInboxFormProps): ReactElement => { +const EmailInboxForm = ({ inboxData }: EmailInboxFormProps) => { const { t } = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); const setModal = useSetModal(); @@ -223,7 +222,7 @@ const EmailInboxForm = ({ inboxData }: EmailInboxFormProps): ReactElement => { ( + render={({ field: { onChange, value, ref } }) => ( )} /> diff --git a/apps/meteor/client/views/admin/emailInbox/EmailInboxFormWithData.tsx b/apps/meteor/client/views/admin/emailInbox/EmailInboxFormWithData.tsx index b70c6a85f32b8..bb86045981b42 100644 --- a/apps/meteor/client/views/admin/emailInbox/EmailInboxFormWithData.tsx +++ b/apps/meteor/client/views/admin/emailInbox/EmailInboxFormWithData.tsx @@ -2,12 +2,11 @@ import type { IEmailInbox } from '@rocket.chat/core-typings'; import { States, StatesIcon, StatesTitle } from '@rocket.chat/fuselage'; import { useTranslation, useEndpoint } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import EmailInboxForm from './EmailInboxForm'; import { FormSkeleton } from '../../../components/Skeleton'; -const EmailInboxFormWithData = ({ id }: { id: IEmailInbox['_id'] }): ReactElement => { +const EmailInboxFormWithData = ({ id }: { id: IEmailInbox['_id'] }) => { const t = useTranslation(); const getEmailInboxById = useEndpoint('GET', '/v1/email-inbox/:_id', { _id: id }); const { data, isPending, error } = useQuery({ diff --git a/apps/meteor/client/views/admin/emailInbox/EmailInboxPage.tsx b/apps/meteor/client/views/admin/emailInbox/EmailInboxPage.tsx index 84abaf040ea95..d53e68231c996 100644 --- a/apps/meteor/client/views/admin/emailInbox/EmailInboxPage.tsx +++ b/apps/meteor/client/views/admin/emailInbox/EmailInboxPage.tsx @@ -1,14 +1,13 @@ import { Button } from '@rocket.chat/fuselage'; import { Page, PageHeader, PageContent } from '@rocket.chat/ui-client'; import { useRouteParameter, useRouter } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import EmailInboxForm from './EmailInboxForm'; import EmailInboxFormWithData from './EmailInboxFormWithData'; import EmailInboxTable from './EmailInboxTable'; -const EmailInboxPage = (): ReactElement => { +const EmailInboxPage = () => { const { t } = useTranslation(); const router = useRouter(); diff --git a/apps/meteor/client/views/admin/emailInbox/EmailInboxRoute.tsx b/apps/meteor/client/views/admin/emailInbox/EmailInboxRoute.tsx index 8f5c5cdc23eb8..9d95dc6f3d8e6 100644 --- a/apps/meteor/client/views/admin/emailInbox/EmailInboxRoute.tsx +++ b/apps/meteor/client/views/admin/emailInbox/EmailInboxRoute.tsx @@ -1,10 +1,9 @@ import { usePermission } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import EmailInboxPage from './EmailInboxPage'; import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage'; -const EmailInboxRoute = (): ReactElement => { +const EmailInboxRoute = () => { const canViewEmailInbox = usePermission('manage-email-inbox'); if (!canViewEmailInbox) { diff --git a/apps/meteor/client/views/admin/emailInbox/EmailInboxTable.tsx b/apps/meteor/client/views/admin/emailInbox/EmailInboxTable.tsx index 12aa90ecfb3e8..952245faed88b 100644 --- a/apps/meteor/client/views/admin/emailInbox/EmailInboxTable.tsx +++ b/apps/meteor/client/views/admin/emailInbox/EmailInboxTable.tsx @@ -12,13 +12,12 @@ import { } from '@rocket.chat/ui-client'; import { useRoute, useTranslation, useEndpoint } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import { useMemo, useCallback } from 'react'; import SendTestButton from './SendTestButton'; import GenericNoResults from '../../../components/GenericNoResults'; -const EmailInboxTable = (): ReactElement => { +const EmailInboxTable = () => { const t = useTranslation(); const router = useRoute('admin-email-inboxes'); const { current, itemsPerPage, setItemsPerPage: onSetItemsPerPage, setCurrent: onSetCurrent, ...paginationProps } = usePagination(); diff --git a/apps/meteor/client/views/admin/emailInbox/SendTestButton.tsx b/apps/meteor/client/views/admin/emailInbox/SendTestButton.tsx index 4a99a461d4b7f..b9e03d0101482 100644 --- a/apps/meteor/client/views/admin/emailInbox/SendTestButton.tsx +++ b/apps/meteor/client/views/admin/emailInbox/SendTestButton.tsx @@ -2,10 +2,10 @@ import type { IEmailInboxPayload } from '@rocket.chat/core-typings'; import { Button } from '@rocket.chat/fuselage'; import { GenericTableCell } from '@rocket.chat/ui-client'; import { useToastMessageDispatch, useEndpoint } from '@rocket.chat/ui-contexts'; -import type { MouseEvent, ReactElement } from 'react'; +import type { MouseEvent } from 'react'; import { useTranslation } from 'react-i18next'; -const SendTestButton = ({ id }: { id: IEmailInboxPayload['_id'] }): ReactElement => { +const SendTestButton = ({ id }: { id: IEmailInboxPayload['_id'] }) => { const { t } = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); const sendTest = useEndpoint('POST', '/v1/email-inbox.send-test/:_id', { _id: id }); diff --git a/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardCard.tsx b/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardCard.tsx index 0ae94b7d52af6..785c0329089a7 100644 --- a/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardCard.tsx +++ b/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardCard.tsx @@ -1,5 +1,5 @@ import { Box, Card, CardTitle, CardBody } from '@rocket.chat/fuselage'; -import type { ReactElement, ReactNode } from 'react'; +import type { ReactNode } from 'react'; import EngagementDashboardCardErrorBoundary from './EngagementDashboardCardErrorBoundary'; @@ -8,7 +8,7 @@ type EngagementDashboardCardProps = { title?: string; }; -const EngagementDashboardCard = ({ children, title = undefined }: EngagementDashboardCardProps): ReactElement => ( +const EngagementDashboardCard = ({ children, title = undefined }: EngagementDashboardCardProps) => ( {title && {title}} diff --git a/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardCardErrorBoundary.tsx b/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardCardErrorBoundary.tsx index 02ae71e06d698..c88cc1ec9318c 100644 --- a/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardCardErrorBoundary.tsx +++ b/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardCardErrorBoundary.tsx @@ -1,6 +1,6 @@ import { States, StatesAction, StatesActions, StatesIcon, StatesSubtitle, StatesTitle } from '@rocket.chat/fuselage'; import { QueryErrorResetBoundary } from '@tanstack/react-query'; -import type { ReactElement, ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { useState } from 'react'; import { ErrorBoundary } from 'react-error-boundary'; import { useTranslation } from 'react-i18next'; @@ -9,7 +9,7 @@ type EngagementDashboardCardErrorBoundaryProps = { children?: ReactNode; }; -const EngagementDashboardCardErrorBoundary = ({ children }: EngagementDashboardCardErrorBoundaryProps): ReactElement => { +const EngagementDashboardCardErrorBoundary = ({ children }: EngagementDashboardCardErrorBoundaryProps) => { const { t } = useTranslation(); const [error, setError] = useState(); @@ -22,11 +22,11 @@ const EngagementDashboardCardErrorBoundary = ({ children }: EngagementDashboardC return ( - {({ reset }): ReactElement => ( + {({ reset }) => ( ( + fallbackRender={({ resetErrorBoundary }) => ( {t('Something_went_wrong')} diff --git a/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardCardFilter.tsx b/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardCardFilter.tsx index a94321c11e945..a1d3f20159c20 100644 --- a/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardCardFilter.tsx +++ b/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardCardFilter.tsx @@ -1,11 +1,11 @@ import { Box, Flex, InputBoxSkeleton } from '@rocket.chat/fuselage'; -import type { ReactElement, ReactNode } from 'react'; +import type { ReactNode } from 'react'; type EngagementDashboardCardFilterProps = { children?: ReactNode; }; -const EngagementDashboardCardFilter = ({ children = }: EngagementDashboardCardFilterProps): ReactElement => ( +const EngagementDashboardCardFilter = ({ children = }: EngagementDashboardCardFilterProps) => ( {children && {children}} diff --git a/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardPage.stories.tsx b/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardPage.stories.tsx index b81858049a6c7..729befbfbc867 100644 --- a/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardPage.stories.tsx +++ b/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardPage.stories.tsx @@ -1,11 +1,10 @@ import type { Meta, StoryFn } from '@storybook/react'; -import type { ReactElement } from 'react'; import EngagementDashboardPage from './EngagementDashboardPage'; export default { component: EngagementDashboardPage, - decorators: [(fn): ReactElement =>
{fn()}
], + decorators: [(fn) =>
{fn()}
], } satisfies Meta; export const Default: StoryFn = () => ; diff --git a/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardPage.tsx b/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardPage.tsx index d4ac7d09d879a..34860c96a8875 100644 --- a/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardPage.tsx +++ b/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardPage.tsx @@ -1,6 +1,5 @@ import { Box, Select, Tabs } from '@rocket.chat/fuselage'; import { PageScrollableContent, Page, PageHeader } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { useCallback, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; @@ -13,7 +12,7 @@ type EngagementDashboardPageProps = { onSelectTab?: (tab: 'users' | 'messages' | 'channels') => void; }; -const EngagementDashboardPage = ({ tab = 'users', onSelectTab }: EngagementDashboardPageProps): ReactElement => { +const EngagementDashboardPage = ({ tab = 'users', onSelectTab }: EngagementDashboardPageProps) => { const { t } = useTranslation(); const timezoneOptions = useMemo<[timezone: 'utc' | 'local', label: string][]>( diff --git a/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardRoute.tsx b/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardRoute.tsx index 1a9d79b37aeae..bdd64f8786de2 100644 --- a/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardRoute.tsx +++ b/apps/meteor/client/views/admin/engagementDashboard/EngagementDashboardRoute.tsx @@ -7,7 +7,6 @@ import { useRouteParameter, useEndpoint, } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useEffect } from 'react'; import EngagementDashboardPage from './EngagementDashboardPage'; @@ -21,7 +20,7 @@ import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage'; const isValidTab = (tab: string | undefined): tab is 'users' | 'messages' | 'channels' => typeof tab === 'string' && ['users', 'messages', 'channels'].includes(tab); -const EngagementDashboardRoute = (): ReactElement | null => { +const EngagementDashboardRoute = () => { const t = useTranslation(); const canViewEngagementDashboard = usePermission('view-engagement-dashboard'); const setModal = useSetModal(); diff --git a/apps/meteor/client/views/admin/engagementDashboard/channels/ChannelsOverview.tsx b/apps/meteor/client/views/admin/engagementDashboard/channels/ChannelsOverview.tsx index 24e400998b3c5..e76adde058a9f 100644 --- a/apps/meteor/client/views/admin/engagementDashboard/channels/ChannelsOverview.tsx +++ b/apps/meteor/client/views/admin/engagementDashboard/channels/ChannelsOverview.tsx @@ -1,6 +1,5 @@ import { Icon, Margins, Pagination, Skeleton, Table, TableBody, TableCell, TableHead, TableRow, Tile } from '@rocket.chat/fuselage'; import { format } from 'date-fns'; -import type { ReactElement } from 'react'; import { useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; @@ -11,7 +10,7 @@ import { usePeriodSelectorState } from '../../../../components/dashboards/usePer import Growth from '../../../../components/dataView/Growth'; import EngagementDashboardCardFilter from '../EngagementDashboardCardFilter'; -const ChannelsOverview = (): ReactElement => { +const ChannelsOverview = () => { const [period, periodSelectorProps] = usePeriodSelectorState('last 7 days', 'last 30 days', 'last 90 days'); const { t } = useTranslation(); diff --git a/apps/meteor/client/views/admin/engagementDashboard/channels/ChannelsTab.tsx b/apps/meteor/client/views/admin/engagementDashboard/channels/ChannelsTab.tsx index 3872aab2b6ab2..2b22a79f9ee64 100644 --- a/apps/meteor/client/views/admin/engagementDashboard/channels/ChannelsTab.tsx +++ b/apps/meteor/client/views/admin/engagementDashboard/channels/ChannelsTab.tsx @@ -1,9 +1,7 @@ -import type { ReactElement } from 'react'; - import EngagementDashboardCard from '../EngagementDashboardCard'; import ChannelsOverview from './ChannelsOverview'; -const ChannelsTab = (): ReactElement => ( +const ChannelsTab = () => ( diff --git a/apps/meteor/client/views/admin/engagementDashboard/dataView/LegendSymbol.stories.tsx b/apps/meteor/client/views/admin/engagementDashboard/dataView/LegendSymbol.stories.tsx index ad40db0535954..4521a6da3f70e 100644 --- a/apps/meteor/client/views/admin/engagementDashboard/dataView/LegendSymbol.stories.tsx +++ b/apps/meteor/client/views/admin/engagementDashboard/dataView/LegendSymbol.stories.tsx @@ -1,23 +1,22 @@ import { Box, Margins } from '@rocket.chat/fuselage'; import type { Meta, StoryFn } from '@storybook/react'; -import type { ReactElement } from 'react'; import LegendSymbol from './LegendSymbol'; import { monochromaticColors, polychromaticColors } from './colors'; export default { component: LegendSymbol, - decorators: [(fn): ReactElement => {fn()}], + decorators: [(fn) => {fn()}], } satisfies Meta; -export const withoutColor: StoryFn = () => ( +export const WithoutColor: StoryFn = () => ( Legend text ); -export const withColor: StoryFn = () => ( +export const WithColor: StoryFn = () => ( <> {monochromaticColors.map((color) => ( diff --git a/apps/meteor/client/views/admin/engagementDashboard/dataView/LegendSymbol.tsx b/apps/meteor/client/views/admin/engagementDashboard/dataView/LegendSymbol.tsx index c4952c3fccd6c..1c9d3d44d14df 100644 --- a/apps/meteor/client/views/admin/engagementDashboard/dataView/LegendSymbol.tsx +++ b/apps/meteor/client/views/admin/engagementDashboard/dataView/LegendSymbol.tsx @@ -1,11 +1,11 @@ import { Box, Margins } from '@rocket.chat/fuselage'; -import type { CSSProperties, ReactElement } from 'react'; +import type { CSSProperties } from 'react'; type LegendSymbolProps = { color?: CSSProperties['backgroundColor']; }; -const LegendSymbol = ({ color = 'currentColor' }: LegendSymbolProps): ReactElement => ( +const LegendSymbol = ({ color = 'currentColor' }: LegendSymbolProps) => ( { +const MessagesPerChannelSection = () => { const [period, periodSelectorProps] = usePeriodSelectorState('last 7 days', 'last 30 days', 'last 90 days'); const { t } = useTranslation(); diff --git a/apps/meteor/client/views/admin/engagementDashboard/messages/MessagesSentSection.tsx b/apps/meteor/client/views/admin/engagementDashboard/messages/MessagesSentSection.tsx index c88dc9f909367..00a021bace361 100644 --- a/apps/meteor/client/views/admin/engagementDashboard/messages/MessagesSentSection.tsx +++ b/apps/meteor/client/views/admin/engagementDashboard/messages/MessagesSentSection.tsx @@ -2,7 +2,6 @@ import { ResponsiveBar } from '@nivo/bar'; import { Box, Flex, Skeleton, Palette, Tooltip } from '@rocket.chat/fuselage'; import colors from '@rocket.chat/fuselage-tokens/colors.json'; import { differenceInDays, addDays, format } from 'date-fns'; -import type { ReactElement } from 'react'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -19,7 +18,7 @@ type MessagesSentSectionProps = { timezone: 'utc' | 'local'; }; -const MessagesSentSection = ({ timezone }: MessagesSentSectionProps): ReactElement => { +const MessagesSentSection = ({ timezone }: MessagesSentSectionProps) => { const [period, periodSelectorProps] = usePeriodSelectorState('last 7 days', 'last 30 days', 'last 90 days'); const periodLabel = usePeriodLabel(period); diff --git a/apps/meteor/client/views/admin/engagementDashboard/messages/MessagesTab.tsx b/apps/meteor/client/views/admin/engagementDashboard/messages/MessagesTab.tsx index f0f15eba8dea0..a442bd7f2d43d 100644 --- a/apps/meteor/client/views/admin/engagementDashboard/messages/MessagesTab.tsx +++ b/apps/meteor/client/views/admin/engagementDashboard/messages/MessagesTab.tsx @@ -1,4 +1,3 @@ -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import EngagementDashboardCard from '../EngagementDashboardCard'; @@ -9,7 +8,7 @@ type MessagesTabProps = { timezone: 'utc' | 'local'; }; -const MessagesTab = ({ timezone }: MessagesTabProps): ReactElement => { +const MessagesTab = ({ timezone }: MessagesTabProps) => { const { t } = useTranslation(); return ( diff --git a/apps/meteor/client/views/admin/engagementDashboard/users/ActiveUsersSection.tsx b/apps/meteor/client/views/admin/engagementDashboard/users/ActiveUsersSection.tsx index 9a2ee626cd20b..b0deae9d48143 100644 --- a/apps/meteor/client/views/admin/engagementDashboard/users/ActiveUsersSection.tsx +++ b/apps/meteor/client/views/admin/engagementDashboard/users/ActiveUsersSection.tsx @@ -2,7 +2,6 @@ import { ResponsiveLine } from '@nivo/line'; import { Box, Flex, Skeleton, Tile } from '@rocket.chat/fuselage'; import colors from '@rocket.chat/fuselage-tokens/colors.json'; import { addDays, startOfDay, differenceInDays, endOfDay, subDays, format } from 'date-fns'; -import type { ReactElement } from 'react'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -17,7 +16,7 @@ type ActiveUsersSectionProps = { timezone: 'utc' | 'local'; }; -const ActiveUsersSection = ({ timezone }: ActiveUsersSectionProps): ReactElement => { +const ActiveUsersSection = ({ timezone }: ActiveUsersSectionProps) => { const utc = timezone === 'utc'; const { data } = useActiveUsers({ utc }); @@ -249,7 +248,7 @@ const ActiveUsersSection = ({ timezone }: ActiveUsersSectionProps): ReactElement }, }} enableSlices='x' - sliceTooltip={({ slice: { points } }): ReactElement => ( + sliceTooltip={({ slice: { points } }) => ( {formatDate(points[0].data.x)} diff --git a/apps/meteor/client/views/admin/engagementDashboard/users/BusiestChatTimesSection.tsx b/apps/meteor/client/views/admin/engagementDashboard/users/BusiestChatTimesSection.tsx index 4634bc3abf25b..d7c4dd50d2dd7 100644 --- a/apps/meteor/client/views/admin/engagementDashboard/users/BusiestChatTimesSection.tsx +++ b/apps/meteor/client/views/admin/engagementDashboard/users/BusiestChatTimesSection.tsx @@ -1,5 +1,4 @@ import { Select } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; @@ -13,7 +12,7 @@ type BusiestChatTimesSectionProps = { timezone: 'utc' | 'local'; }; -const BusiestChatTimesSection = ({ timezone }: BusiestChatTimesSectionProps): ReactElement => { +const BusiestChatTimesSection = ({ timezone }: BusiestChatTimesSectionProps) => { const { t } = useTranslation(); const [timeUnit, setTimeUnit] = useState('hours'); diff --git a/apps/meteor/client/views/admin/engagementDashboard/users/ContentForDays.tsx b/apps/meteor/client/views/admin/engagementDashboard/users/ContentForDays.tsx index 1df3f19f1eeb8..0d4d01b3b0862 100644 --- a/apps/meteor/client/views/admin/engagementDashboard/users/ContentForDays.tsx +++ b/apps/meteor/client/views/admin/engagementDashboard/users/ContentForDays.tsx @@ -2,7 +2,6 @@ import { ResponsiveBar } from '@nivo/bar'; import { Box, Flex, IconButton, Margins, Skeleton } from '@rocket.chat/fuselage'; import colors from '@rocket.chat/fuselage-tokens/colors.json'; import { format, subDays } from 'date-fns'; -import type { ReactElement } from 'react'; import { useMemo } from 'react'; import { useWeeklyChatActivity } from './useWeeklyChatActivity'; @@ -15,7 +14,7 @@ type ContentForDaysProps = { timezone: 'utc' | 'local'; }; -const ContentForDays = ({ displacement, onPreviousDateClick, onNextDateClick, timezone }: ContentForDaysProps): ReactElement => { +const ContentForDays = ({ displacement, onPreviousDateClick, onNextDateClick, timezone }: ContentForDaysProps) => { const utc = timezone === 'utc'; const { data } = useWeeklyChatActivity({ displacement, utc }); diff --git a/apps/meteor/client/views/admin/engagementDashboard/users/ContentForHours.tsx b/apps/meteor/client/views/admin/engagementDashboard/users/ContentForHours.tsx index 000f52e057cc8..0be26ab2f72c2 100644 --- a/apps/meteor/client/views/admin/engagementDashboard/users/ContentForHours.tsx +++ b/apps/meteor/client/views/admin/engagementDashboard/users/ContentForHours.tsx @@ -3,7 +3,6 @@ import { Box, Button, Chevron, Skeleton, Tooltip } from '@rocket.chat/fuselage'; import { useBreakpoints } from '@rocket.chat/fuselage-hooks'; import colors from '@rocket.chat/fuselage-tokens/colors.json'; import { format } from 'date-fns'; -import type { ReactElement } from 'react'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -16,7 +15,7 @@ type ContentForHoursProps = { timezone: 'utc' | 'local'; }; -const ContentForHours = ({ displacement, onPreviousDateClick, onNextDateClick, timezone }: ContentForHoursProps): ReactElement => { +const ContentForHours = ({ displacement, onPreviousDateClick, onNextDateClick, timezone }: ContentForHoursProps) => { const utc = timezone === 'utc'; const { data } = useHourlyChatActivity({ displacement, utc }); diff --git a/apps/meteor/client/views/admin/engagementDashboard/users/NewUsersSection.tsx b/apps/meteor/client/views/admin/engagementDashboard/users/NewUsersSection.tsx index 87a27ba2eb19d..10dacca74bba0 100644 --- a/apps/meteor/client/views/admin/engagementDashboard/users/NewUsersSection.tsx +++ b/apps/meteor/client/views/admin/engagementDashboard/users/NewUsersSection.tsx @@ -2,7 +2,6 @@ import { ResponsiveBar } from '@nivo/bar'; import { Box, Flex, Skeleton, Tooltip } from '@rocket.chat/fuselage'; import colors from '@rocket.chat/fuselage-tokens/colors.json'; import { differenceInDays, addDays, format } from 'date-fns'; -import type { ReactElement } from 'react'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -19,7 +18,7 @@ type NewUsersSectionProps = { timezone: 'utc' | 'local'; }; -const NewUsersSection = ({ timezone }: NewUsersSectionProps): ReactElement => { +const NewUsersSection = ({ timezone }: NewUsersSectionProps) => { const [period, periodSelectorProps] = usePeriodSelectorState('last 7 days', 'last 30 days', 'last 90 days'); const periodLabel = usePeriodLabel(period); diff --git a/apps/meteor/client/views/admin/engagementDashboard/users/UsersByTimeOfTheDaySection.tsx b/apps/meteor/client/views/admin/engagementDashboard/users/UsersByTimeOfTheDaySection.tsx index 4f0b4f99bfb56..679f7e8619566 100644 --- a/apps/meteor/client/views/admin/engagementDashboard/users/UsersByTimeOfTheDaySection.tsx +++ b/apps/meteor/client/views/admin/engagementDashboard/users/UsersByTimeOfTheDaySection.tsx @@ -3,7 +3,6 @@ import { ResponsiveHeatMapCanvas } from '@nivo/heatmap'; import { Box, Flex, Skeleton, Tooltip } from '@rocket.chat/fuselage'; import colors from '@rocket.chat/fuselage-tokens/colors.json'; import { differenceInDays, addDays, endOfDay, format, isSameDay } from 'date-fns'; -import type { ReactElement } from 'react'; import { useCallback, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -21,7 +20,7 @@ function endOfDayUTC(d: Date): Date { return new Date(Date.UTC(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate(), 23, 59, 59, 999)); } -const UsersByTimeOfTheDaySection = ({ timezone }: UsersByTimeOfTheDaySectionProps): ReactElement => { +const UsersByTimeOfTheDaySection = ({ timezone }: UsersByTimeOfTheDaySectionProps) => { const [period, periodSelectorProps] = usePeriodSelectorState('last 7 days', 'last 30 days', 'last 90 days'); const utc = timezone === 'utc'; diff --git a/apps/meteor/client/views/admin/engagementDashboard/users/UsersTab.stories.tsx b/apps/meteor/client/views/admin/engagementDashboard/users/UsersTab.stories.tsx index b89f32efad5ec..f21f8e7e6ec86 100644 --- a/apps/meteor/client/views/admin/engagementDashboard/users/UsersTab.stories.tsx +++ b/apps/meteor/client/views/admin/engagementDashboard/users/UsersTab.stories.tsx @@ -1,12 +1,11 @@ import { Margins } from '@rocket.chat/fuselage'; import type { Meta, StoryFn } from '@storybook/react'; -import type { ReactElement } from 'react'; import UsersTab from './UsersTab'; export default { component: UsersTab, - decorators: [(fn): ReactElement => {fn()}], + decorators: [(fn) => {fn()}], } satisfies Meta; export const Default: StoryFn = () => ; diff --git a/apps/meteor/client/views/admin/engagementDashboard/users/UsersTab.tsx b/apps/meteor/client/views/admin/engagementDashboard/users/UsersTab.tsx index 01ae2d3f7f8ee..6ab771f8868e3 100644 --- a/apps/meteor/client/views/admin/engagementDashboard/users/UsersTab.tsx +++ b/apps/meteor/client/views/admin/engagementDashboard/users/UsersTab.tsx @@ -1,6 +1,5 @@ import { Box, Flex } from '@rocket.chat/fuselage'; import { useBreakpoints } from '@rocket.chat/fuselage-hooks'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import EngagementDashboardCard from '../EngagementDashboardCard'; @@ -13,7 +12,7 @@ type UsersTabProps = { timezone: 'utc' | 'local'; }; -const UsersTab = ({ timezone }: UsersTabProps): ReactElement => { +const UsersTab = ({ timezone }: UsersTabProps) => { const { t } = useTranslation(); const isXxlScreen = useBreakpoints().includes('xxl'); diff --git a/apps/meteor/client/views/admin/featurePreview/AdminFeaturePreviewRoute.tsx b/apps/meteor/client/views/admin/featurePreview/AdminFeaturePreviewRoute.tsx index 3dcecb0c72bb6..196b1995f71fd 100644 --- a/apps/meteor/client/views/admin/featurePreview/AdminFeaturePreviewRoute.tsx +++ b/apps/meteor/client/views/admin/featurePreview/AdminFeaturePreviewRoute.tsx @@ -1,5 +1,4 @@ import { usePermission } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { memo } from 'react'; import AdminFeaturePreviewPage from './AdminFeaturePreviewPage'; @@ -7,7 +6,7 @@ import SettingsProvider from '../../../providers/SettingsProvider'; import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage'; import EditableSettingsProvider from '../settings/EditableSettingsProvider'; -const AdminFeaturePreviewRoute = (): ReactElement => { +const AdminFeaturePreviewRoute = () => { const canViewFeaturesPreview = usePermission('manage-cloud'); if (!canViewFeaturesPreview) { diff --git a/apps/meteor/client/views/admin/integrations/IntegrationsPage.tsx b/apps/meteor/client/views/admin/integrations/IntegrationsPage.tsx index 3059dd273367b..12f8061424f6d 100644 --- a/apps/meteor/client/views/admin/integrations/IntegrationsPage.tsx +++ b/apps/meteor/client/views/admin/integrations/IntegrationsPage.tsx @@ -1,14 +1,13 @@ import { Button, ButtonGroup, Tabs } from '@rocket.chat/fuselage'; import { Page, PageHeader, PageContent } from '@rocket.chat/ui-client'; import { useRouteParameter, useRouter } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import IntegrationsTable from './IntegrationsTable'; import NewBot from './NewBot'; import NewZapier from './NewZapier'; -const IntegrationsPage = (): ReactElement => { +const IntegrationsPage = () => { const { t } = useTranslation(); const router = useRouter(); const context = useRouteParameter('context'); diff --git a/apps/meteor/client/views/admin/invites/InviteRow.tsx b/apps/meteor/client/views/admin/invites/InviteRow.tsx index 31fe9f1f0166f..1b8d197dd947b 100644 --- a/apps/meteor/client/views/admin/invites/InviteRow.tsx +++ b/apps/meteor/client/views/admin/invites/InviteRow.tsx @@ -3,7 +3,7 @@ import { Box, IconButton } from '@rocket.chat/fuselage'; import { useMediaQuery } from '@rocket.chat/fuselage-hooks'; import { GenericTableCell, GenericTableRow } from '@rocket.chat/ui-client'; import { useEndpoint } from '@rocket.chat/ui-contexts'; -import type { ReactElement, MouseEvent } from 'react'; +import type { MouseEvent } from 'react'; import { useTranslation } from 'react-i18next'; import { useFormatDateAndTime } from '../../../hooks/useFormatDateAndTime'; @@ -24,7 +24,7 @@ type InviteRowProps = Omit & { expires: string | null; }; -const InviteRow = ({ _id, createdAt, expires, uses, maxUses, onRemove }: InviteRowProps): ReactElement => { +const InviteRow = ({ _id, createdAt, expires, uses, maxUses, onRemove }: InviteRowProps) => { const { t } = useTranslation(); const formatDateAndTime = useFormatDateAndTime(); const removeInvite = useEndpoint('DELETE', '/v1/removeInvite/:_id', { _id }); diff --git a/apps/meteor/client/views/admin/invites/InvitesPage.tsx b/apps/meteor/client/views/admin/invites/InvitesPage.tsx index efc94915cdf7a..68f1c3a62f08a 100644 --- a/apps/meteor/client/views/admin/invites/InvitesPage.tsx +++ b/apps/meteor/client/views/admin/invites/InvitesPage.tsx @@ -13,13 +13,12 @@ import { } from '@rocket.chat/ui-client'; import { useSetModal, useToastMessageDispatch, useTranslation, useEndpoint } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import { useMemo } from 'react'; import InviteRow from './InviteRow'; import GenericNoResults from '../../../components/GenericNoResults'; -const InvitesPage = (): ReactElement => { +const InvitesPage = () => { const t = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); const setModal = useSetModal(); @@ -111,7 +110,7 @@ const InvitesPage = (): ReactElement => { )} - {isSuccess && data && data.length === 0 && } + {isSuccess && data?.length === 0 && } {isError && ( diff --git a/apps/meteor/client/views/admin/invites/InvitesRoute.tsx b/apps/meteor/client/views/admin/invites/InvitesRoute.tsx index 157463d08eef0..904aee2057074 100644 --- a/apps/meteor/client/views/admin/invites/InvitesRoute.tsx +++ b/apps/meteor/client/views/admin/invites/InvitesRoute.tsx @@ -1,10 +1,9 @@ import { usePermission } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import InvitesPage from './InvitesPage'; import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage'; -const InvitesRoute = (): ReactElement => { +const InvitesRoute = () => { const canCreateInviteLinks = usePermission('create-invite-links'); if (!canCreateInviteLinks) { diff --git a/apps/meteor/client/views/admin/moderation/MessageReportInfo.tsx b/apps/meteor/client/views/admin/moderation/MessageReportInfo.tsx index f2b516fa86f42..6f0c383b93135 100644 --- a/apps/meteor/client/views/admin/moderation/MessageReportInfo.tsx +++ b/apps/meteor/client/views/admin/moderation/MessageReportInfo.tsx @@ -6,7 +6,7 @@ import { useTranslation } from 'react-i18next'; import ReportReason from './helpers/ReportReason'; -const MessageReportInfo = ({ msgId }: { msgId: string }): JSX.Element => { +const MessageReportInfo = ({ msgId }: { msgId: string }) => { const { t } = useTranslation(); const getReportsByMessage = useEndpoint('GET', `/v1/moderation.reports`); diff --git a/apps/meteor/client/views/admin/moderation/ModerationConsoleActions.tsx b/apps/meteor/client/views/admin/moderation/ModerationConsoleActions.tsx index f976eac9a42e3..f87b2e30f45c5 100644 --- a/apps/meteor/client/views/admin/moderation/ModerationConsoleActions.tsx +++ b/apps/meteor/client/views/admin/moderation/ModerationConsoleActions.tsx @@ -8,7 +8,7 @@ import useDeleteMessagesAction from './hooks/useDeleteMessagesAction'; import useDismissUserAction from './hooks/useDismissUserAction'; import useResetAvatarAction from './hooks/useResetAvatarAction'; -const ModerationConsoleActions = ({ report, onClick }: Omit): JSX.Element => { +const ModerationConsoleActions = ({ report, onClick }: Omit) => { const { t } = useTranslation(); const { userId: uid, isUserDeleted } = report; diff --git a/apps/meteor/client/views/admin/moderation/ModerationConsoleTableRow.tsx b/apps/meteor/client/views/admin/moderation/ModerationConsoleTableRow.tsx index 7532e500f4392..8b878051afd6d 100644 --- a/apps/meteor/client/views/admin/moderation/ModerationConsoleTableRow.tsx +++ b/apps/meteor/client/views/admin/moderation/ModerationConsoleTableRow.tsx @@ -12,7 +12,7 @@ export type ModerationConsoleRowProps = { isDesktopOrLarger: boolean; }; -const ModerationConsoleTableRow = ({ report, onClick, isDesktopOrLarger }: ModerationConsoleRowProps): JSX.Element => { +const ModerationConsoleTableRow = ({ report, onClick, isDesktopOrLarger }: ModerationConsoleRowProps) => { const { userId: _id, rooms, name, count, ts } = report; const username = report.username ? normalizeUsername(report.username) : undefined; diff --git a/apps/meteor/client/views/admin/moderation/UserReports/ModConsoleUserTableRow.tsx b/apps/meteor/client/views/admin/moderation/UserReports/ModConsoleUserTableRow.tsx index 18828fafbea55..12f98863ee2fd 100644 --- a/apps/meteor/client/views/admin/moderation/UserReports/ModConsoleUserTableRow.tsx +++ b/apps/meteor/client/views/admin/moderation/UserReports/ModConsoleUserTableRow.tsx @@ -12,7 +12,7 @@ export type ModConsoleUserRowProps = { isDesktopOrLarger: boolean; }; -const ModConsoleUserTableRow = ({ report, onClick, isDesktopOrLarger }: ModConsoleUserRowProps): JSX.Element => { +const ModConsoleUserTableRow = ({ report, onClick, isDesktopOrLarger }: ModConsoleUserRowProps) => { const { reportedUser, count, ts } = report; const { _id, name, createdAt, emails } = reportedUser; const username = reportedUser.username ? normalizeUsername(reportedUser.username) : undefined; diff --git a/apps/meteor/client/views/admin/moderation/helpers/ContextMessage.tsx b/apps/meteor/client/views/admin/moderation/helpers/ContextMessage.tsx index 20488c0ea529e..dd95c8644420a 100644 --- a/apps/meteor/client/views/admin/moderation/helpers/ContextMessage.tsx +++ b/apps/meteor/client/views/admin/moderation/helpers/ContextMessage.tsx @@ -43,7 +43,7 @@ const ContextMessage = ({ deleted: boolean; onRedirect: (id: IMessage['_id']) => void; onChange: () => void; -}): JSX.Element => { +}) => { const { t } = useTranslation(); const isEncryptedMessage = isE2EEMessage(message); diff --git a/apps/meteor/client/views/admin/moderation/helpers/ReportReason.tsx b/apps/meteor/client/views/admin/moderation/helpers/ReportReason.tsx index a24c79f80b7f7..7c61a5d917dd1 100644 --- a/apps/meteor/client/views/admin/moderation/helpers/ReportReason.tsx +++ b/apps/meteor/client/views/admin/moderation/helpers/ReportReason.tsx @@ -2,7 +2,7 @@ import { Box, Tag } from '@rocket.chat/fuselage'; import { useFormatDate } from '../../../../hooks/useFormatDate'; -const ReportReason = ({ ind, uinfo, msg, ts }: { ind: number; uinfo: string | undefined; msg: string; ts: Date }): JSX.Element => { +const ReportReason = ({ ind, uinfo, msg, ts }: { ind: number; uinfo: string | undefined; msg: string; ts: Date }) => { const formatDate = useFormatDate(); return ( diff --git a/apps/meteor/client/views/admin/oauthApps/EditOauthApp.tsx b/apps/meteor/client/views/admin/oauthApps/EditOauthApp.tsx index bf9cb89d8de25..ab4b22db762be 100644 --- a/apps/meteor/client/views/admin/oauthApps/EditOauthApp.tsx +++ b/apps/meteor/client/views/admin/oauthApps/EditOauthApp.tsx @@ -15,7 +15,7 @@ import { } from '@rocket.chat/fuselage'; import { GenericModal, ContextualbarScrollableContent } from '@rocket.chat/ui-client'; import { useSetModal, useToastMessageDispatch, useRoute, useAbsoluteUrl, useTranslation, useEndpoint } from '@rocket.chat/ui-contexts'; -import type { ReactElement, ComponentProps } from 'react'; +import type { ComponentProps } from 'react'; import { useCallback, useId, useMemo } from 'react'; import type { SubmitHandler } from 'react-hook-form'; import { useForm, Controller } from 'react-hook-form'; @@ -31,7 +31,7 @@ type EditOauthAppProps = { data: Serialized; } & Omit, 'data'>; -const EditOauthApp = ({ onChange, data, ...props }: EditOauthAppProps): ReactElement => { +const EditOauthApp = ({ onChange, data, ...props }: EditOauthAppProps) => { const t = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); @@ -114,7 +114,7 @@ const EditOauthApp = ({ onChange, data, ...props }: EditOauthAppProps): ReactEle name='active' control={control} defaultValue={data.active} - render={({ field }): ReactElement => } + render={({ field }) => } /> diff --git a/apps/meteor/client/views/admin/oauthApps/EditOauthAppWithData.tsx b/apps/meteor/client/views/admin/oauthApps/EditOauthAppWithData.tsx index 7f37d560a6dc6..668e1efb73fb2 100644 --- a/apps/meteor/client/views/admin/oauthApps/EditOauthAppWithData.tsx +++ b/apps/meteor/client/views/admin/oauthApps/EditOauthAppWithData.tsx @@ -1,14 +1,13 @@ import { Box } from '@rocket.chat/fuselage'; import { useEndpoint } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import { useCallback } from 'react'; import { useTranslation } from 'react-i18next'; import EditOauthApp from './EditOauthApp'; import { FormSkeleton } from '../../../components/Skeleton'; -const EditOauthAppWithData = ({ _id, ...props }: { _id: string }): ReactElement => { +const EditOauthAppWithData = ({ _id, ...props }: { _id: string }) => { const { t } = useTranslation(); const getOauthApps = useEndpoint('GET', '/v1/oauth-apps.get'); diff --git a/apps/meteor/client/views/admin/oauthApps/OAuthAddApp.tsx b/apps/meteor/client/views/admin/oauthApps/OAuthAddApp.tsx index c1a4ceb2aa2e8..a8be765228398 100644 --- a/apps/meteor/client/views/admin/oauthApps/OAuthAddApp.tsx +++ b/apps/meteor/client/views/admin/oauthApps/OAuthAddApp.tsx @@ -13,7 +13,6 @@ import { } from '@rocket.chat/fuselage'; import { ContextualbarScrollableContent } from '@rocket.chat/ui-client'; import { useToastMessageDispatch, useRoute, useEndpoint } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useCallback, useId } from 'react'; import type { SubmitHandler } from 'react-hook-form'; import { useForm, Controller } from 'react-hook-form'; @@ -25,7 +24,7 @@ type OAuthAddAppPayload = { redirectUri: string; }; -const OAuthAddApp = (): ReactElement => { +const OAuthAddApp = () => { const { t } = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); @@ -65,7 +64,7 @@ const OAuthAddApp = (): ReactElement => { name='active' control={control} defaultValue={false} - render={({ field }): ReactElement => } + render={({ field }) => } /> diff --git a/apps/meteor/client/views/admin/oauthApps/OAuthAppsPage.tsx b/apps/meteor/client/views/admin/oauthApps/OAuthAppsPage.tsx index ecbe140c1d15e..8137cf9a71442 100644 --- a/apps/meteor/client/views/admin/oauthApps/OAuthAppsPage.tsx +++ b/apps/meteor/client/views/admin/oauthApps/OAuthAppsPage.tsx @@ -1,13 +1,12 @@ import { Button, ButtonGroup } from '@rocket.chat/fuselage'; import { Page, PageHeader, PageContent } from '@rocket.chat/ui-client'; import { useRouteParameter, useTranslation, useRouter } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import EditOauthAppWithData from './EditOauthAppWithData'; import OAuthAddApp from './OAuthAddApp'; import OAuthAppsTable from './OAuthAppsTable'; -const OAuthAppsPage = (): ReactElement => { +const OAuthAppsPage = () => { const t = useTranslation(); const router = useRouter(); diff --git a/apps/meteor/client/views/admin/oauthApps/OAuthAppsRoute.tsx b/apps/meteor/client/views/admin/oauthApps/OAuthAppsRoute.tsx index 5f266d3e38656..d9849954efc88 100644 --- a/apps/meteor/client/views/admin/oauthApps/OAuthAppsRoute.tsx +++ b/apps/meteor/client/views/admin/oauthApps/OAuthAppsRoute.tsx @@ -1,10 +1,9 @@ import { usePermission } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import OAuthAppsPage from './OAuthAppsPage'; import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage'; -const OAuthAppsRoute = (): ReactElement => { +const OAuthAppsRoute = () => { const canAccessOAuthApps = usePermission('manage-oauth-apps'); if (!canAccessOAuthApps) { diff --git a/apps/meteor/client/views/admin/oauthApps/OAuthAppsTable.tsx b/apps/meteor/client/views/admin/oauthApps/OAuthAppsTable.tsx index b30ecfccd9d83..05b3dbf54ccf2 100644 --- a/apps/meteor/client/views/admin/oauthApps/OAuthAppsTable.tsx +++ b/apps/meteor/client/views/admin/oauthApps/OAuthAppsTable.tsx @@ -9,13 +9,12 @@ import { } from '@rocket.chat/ui-client'; import { useEndpoint, useRoute, useTranslation, useUserId } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import { useCallback } from 'react'; import GenericNoResults from '../../../components/GenericNoResults'; import { useFormatDateAndTime } from '../../../hooks/useFormatDateAndTime'; -const OAuthAppsTable = (): ReactElement => { +const OAuthAppsTable = () => { const t = useTranslation(); const formatDateAndTime = useFormatDateAndTime(); diff --git a/apps/meteor/client/views/admin/permissions/EditRolePage.tsx b/apps/meteor/client/views/admin/permissions/EditRolePage.tsx index aeb06597a5419..8a73018431fb6 100644 --- a/apps/meteor/client/views/admin/permissions/EditRolePage.tsx +++ b/apps/meteor/client/views/admin/permissions/EditRolePage.tsx @@ -3,7 +3,6 @@ import { Box, ButtonGroup, Button, Margins } from '@rocket.chat/fuselage'; import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import { GenericModal, ContextualbarFooter, ContextualbarScrollableContent } from '@rocket.chat/ui-client'; import { useSetModal, useToastMessageDispatch, useRoute, useEndpoint } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { FormProvider, useForm } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -17,7 +16,7 @@ export type EditRolePageFormData = { mandatory2fa: boolean; }; -const EditRolePage = ({ role, isEnterprise }: { role?: IRole; isEnterprise: boolean }): ReactElement => { +const EditRolePage = ({ role, isEnterprise }: { role?: IRole; isEnterprise: boolean }) => { const { t } = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); const setModal = useSetModal(); diff --git a/apps/meteor/client/views/admin/permissions/EditRolePageWithData.tsx b/apps/meteor/client/views/admin/permissions/EditRolePageWithData.tsx index fe647fe476eee..4d3b1be606e3d 100644 --- a/apps/meteor/client/views/admin/permissions/EditRolePageWithData.tsx +++ b/apps/meteor/client/views/admin/permissions/EditRolePageWithData.tsx @@ -1,7 +1,6 @@ import type { IRole } from '@rocket.chat/core-typings'; import { Callout } from '@rocket.chat/fuselage'; import { useRouteParameter } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import EditRolePage from './EditRolePage'; @@ -10,7 +9,7 @@ import GenericError from '../../../components/GenericError'; import PageSkeleton from '../../../components/PageSkeleton'; import { useHasLicenseModule } from '../../../hooks/useHasLicenseModule'; -const EditRolePageWithData = ({ roleId }: { roleId?: IRole['_id'] }): ReactElement => { +const EditRolePageWithData = ({ roleId }: { roleId?: IRole['_id'] }) => { const { t } = useTranslation(); const role = useRole(roleId); const context = useRouteParameter('context'); diff --git a/apps/meteor/client/views/admin/permissions/PermissionsContextBar.tsx b/apps/meteor/client/views/admin/permissions/PermissionsContextBar.tsx index 9f5d84596b7ce..af1176e7ef23d 100644 --- a/apps/meteor/client/views/admin/permissions/PermissionsContextBar.tsx +++ b/apps/meteor/client/views/admin/permissions/PermissionsContextBar.tsx @@ -1,14 +1,13 @@ import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import { ContextualbarHeader, ContextualbarTitle, ContextualbarClose, ContextualbarDialog } from '@rocket.chat/ui-client'; import { useRouteParameter, useRoute, useTranslation, useSetModal } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useEffect } from 'react'; import CustomRoleUpsellModal from './CustomRoleUpsellModal'; import EditRolePageWithData from './EditRolePageWithData'; import { useHasLicenseModule } from '../../../hooks/useHasLicenseModule'; -const PermissionsContextBar = (): ReactElement | null => { +const PermissionsContextBar = () => { const t = useTranslation(); const _id = useRouteParameter('_id'); const context = useRouteParameter('context'); diff --git a/apps/meteor/client/views/admin/permissions/PermissionsPage.tsx b/apps/meteor/client/views/admin/permissions/PermissionsPage.tsx index d245d4e394328..8c4061dc00d75 100644 --- a/apps/meteor/client/views/admin/permissions/PermissionsPage.tsx +++ b/apps/meteor/client/views/admin/permissions/PermissionsPage.tsx @@ -2,7 +2,6 @@ import { Margins, Tabs, Button } from '@rocket.chat/fuselage'; import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import { usePagination, Page, PageHeader, PageContent } from '@rocket.chat/ui-client'; import { useRoute, usePermission, useSetModal } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useState } from 'react'; import { useTranslation } from 'react-i18next'; @@ -11,7 +10,7 @@ import PermissionsContextBar from './PermissionsContextBar'; import PermissionsTable from './PermissionsTable'; import { usePermissionsAndRoles } from './hooks/usePermissionsAndRoles'; -const PermissionsPage = ({ isEnterprise }: { isEnterprise: boolean }): ReactElement => { +const PermissionsPage = ({ isEnterprise }: { isEnterprise: boolean }) => { const { t } = useTranslation(); const [filter, setFilter] = useState(''); const canViewPermission = usePermission('access-permissions'); diff --git a/apps/meteor/client/views/admin/permissions/PermissionsRouter.tsx b/apps/meteor/client/views/admin/permissions/PermissionsRouter.tsx index 3699760db36af..fc18ff9b18424 100644 --- a/apps/meteor/client/views/admin/permissions/PermissionsRouter.tsx +++ b/apps/meteor/client/views/admin/permissions/PermissionsRouter.tsx @@ -1,5 +1,4 @@ import { useRouteParameter, usePermission } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import PermissionsPage from './PermissionsPage'; import UsersInRole from './UsersInRole'; @@ -7,7 +6,7 @@ import PageSkeleton from '../../../components/PageSkeleton'; import { useIsEnterprise } from '../../../hooks/useIsEnterprise'; import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage'; -const PermissionsRouter = (): ReactElement => { +const PermissionsRouter = () => { const canViewPermission = usePermission('access-permissions'); const canViewSettingPermission = usePermission('access-setting-permissions'); const context = useRouteParameter('context'); diff --git a/apps/meteor/client/views/admin/permissions/PermissionsTable/PermissionRow.tsx b/apps/meteor/client/views/admin/permissions/PermissionsTable/PermissionRow.tsx index 7706a5ea861f6..79e0da1f826ae 100644 --- a/apps/meteor/client/views/admin/permissions/PermissionsTable/PermissionRow.tsx +++ b/apps/meteor/client/views/admin/permissions/PermissionsTable/PermissionRow.tsx @@ -2,7 +2,6 @@ import type { IRole, IPermission } from '@rocket.chat/core-typings'; import { GenericTableRow, GenericTableCell } from '@rocket.chat/ui-client'; import type { TranslationKey } from '@rocket.chat/ui-contexts'; import type { TFunction } from 'i18next'; -import type { ReactElement } from 'react'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -32,7 +31,7 @@ type PermissionRowProps = { onRemove: (permissionId: IPermission['_id'], roleId: IRole['_id']) => Promise; }; -const PermissionRow = ({ permission, roleList, onGrant, onRemove }: PermissionRowProps): ReactElement => { +const PermissionRow = ({ permission, roleList, onGrant, onRemove }: PermissionRowProps) => { const { t } = useTranslation(); const { _id: permissionId, roles } = permission; const changeRole = useChangeRole({ onGrant, onRemove, permissionId }); diff --git a/apps/meteor/client/views/admin/permissions/PermissionsTable/PermissionsTableFilter.tsx b/apps/meteor/client/views/admin/permissions/PermissionsTable/PermissionsTableFilter.tsx index 76dffe51bffae..0137b18a47c95 100644 --- a/apps/meteor/client/views/admin/permissions/PermissionsTable/PermissionsTableFilter.tsx +++ b/apps/meteor/client/views/admin/permissions/PermissionsTable/PermissionsTableFilter.tsx @@ -1,10 +1,10 @@ import { TextInput } from '@rocket.chat/fuselage'; import { useEffectEvent, useDebouncedValue } from '@rocket.chat/fuselage-hooks'; -import type { FormEvent, ReactElement } from 'react'; +import type { FormEvent } from 'react'; import { useState, useEffect } from 'react'; import { useTranslation } from 'react-i18next'; -const PermissionsTableFilter = ({ onChange }: { onChange: (debouncedFilter: string) => void }): ReactElement => { +const PermissionsTableFilter = ({ onChange }: { onChange: (debouncedFilter: string) => void }) => { const { t } = useTranslation(); const [filter, setFilter] = useState(''); const debouncedFilter = useDebouncedValue(filter, 500); diff --git a/apps/meteor/client/views/admin/permissions/PermissionsTable/RoleCell.tsx b/apps/meteor/client/views/admin/permissions/PermissionsTable/RoleCell.tsx index fa4590caae204..87714561fb523 100644 --- a/apps/meteor/client/views/admin/permissions/PermissionsTable/RoleCell.tsx +++ b/apps/meteor/client/views/admin/permissions/PermissionsTable/RoleCell.tsx @@ -3,7 +3,6 @@ import { Margins, Box, CheckBox, Throbber } from '@rocket.chat/fuselage'; import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import { GenericModal, GenericTableCell } from '@rocket.chat/ui-client'; import { useSetModal } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useState, memo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -19,7 +18,7 @@ type RoleCellProps = { grantedRoles: IRole['_id'][]; }; -const RoleCell = ({ _id, name, description, onChange, permissionId, permissionName, grantedRoles = [] }: RoleCellProps): ReactElement => { +const RoleCell = ({ _id, name, description, onChange, permissionId, permissionName, grantedRoles = [] }: RoleCellProps) => { const { t } = useTranslation(); const setModal = useSetModal(); const [granted, setGranted] = useState(() => !!grantedRoles.includes(_id)); diff --git a/apps/meteor/client/views/admin/permissions/PermissionsTable/RoleHeader.tsx b/apps/meteor/client/views/admin/permissions/PermissionsTable/RoleHeader.tsx index 13802704a14a3..257a6b43a5cc4 100644 --- a/apps/meteor/client/views/admin/permissions/PermissionsTable/RoleHeader.tsx +++ b/apps/meteor/client/views/admin/permissions/PermissionsTable/RoleHeader.tsx @@ -3,7 +3,6 @@ import { Button } from '@rocket.chat/fuselage'; import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import { GenericTableHeaderCell } from '@rocket.chat/ui-client'; import { useRoute } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { memo } from 'react'; type RoleHeaderProps = { @@ -12,7 +11,7 @@ type RoleHeaderProps = { description: IRole['description']; }; -const RoleHeader = ({ _id, name, description }: RoleHeaderProps): ReactElement => { +const RoleHeader = ({ _id, name, description }: RoleHeaderProps) => { const router = useRoute('admin-permissions'); const handleEditRole = useEffectEvent(() => { diff --git a/apps/meteor/client/views/admin/permissions/UsersInRole/UsersInRolePage.tsx b/apps/meteor/client/views/admin/permissions/UsersInRole/UsersInRolePage.tsx index c718ae1689e1b..26ec249dcdd06 100644 --- a/apps/meteor/client/views/admin/permissions/UsersInRole/UsersInRolePage.tsx +++ b/apps/meteor/client/views/admin/permissions/UsersInRole/UsersInRolePage.tsx @@ -4,7 +4,7 @@ import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import { usePagination, Page, PageHeader, PageContent } from '@rocket.chat/ui-client'; import { useToastMessageDispatch, useEndpoint, useRouter } from '@rocket.chat/ui-contexts'; import { useQuery, useQueryClient } from '@tanstack/react-query'; -import { useId, useMemo, type ReactElement } from 'react'; +import { useId, useMemo } from 'react'; import { useForm, Controller } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -18,7 +18,7 @@ type UsersInRolePayload = { users: string[]; }; -const UsersInRolePage = ({ role }: { role: IRole }): ReactElement => { +const UsersInRolePage = ({ role }: { role: IRole }) => { const { t } = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); const queryClient = useQueryClient(); diff --git a/apps/meteor/client/views/admin/permissions/UsersInRole/UsersInRolePageWithData.tsx b/apps/meteor/client/views/admin/permissions/UsersInRole/UsersInRolePageWithData.tsx index 2784c49de930e..65805409defae 100644 --- a/apps/meteor/client/views/admin/permissions/UsersInRole/UsersInRolePageWithData.tsx +++ b/apps/meteor/client/views/admin/permissions/UsersInRole/UsersInRolePageWithData.tsx @@ -1,10 +1,9 @@ import { useRouteParameter } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import UsersInRolePage from './UsersInRolePage'; import { useRole } from '../hooks/useRole'; -const UsersInRolePageWithData = (): ReactElement | null => { +const UsersInRolePageWithData = () => { const _id = useRouteParameter('_id'); const role = useRole(_id); diff --git a/apps/meteor/client/views/admin/permissions/UsersInRole/UsersInRoleTable/UsersInRoleTableRow.tsx b/apps/meteor/client/views/admin/permissions/UsersInRole/UsersInRoleTable/UsersInRoleTableRow.tsx index b37c7a1ae93dc..a306d58f8f3be 100644 --- a/apps/meteor/client/views/admin/permissions/UsersInRole/UsersInRoleTable/UsersInRoleTableRow.tsx +++ b/apps/meteor/client/views/admin/permissions/UsersInRole/UsersInRoleTable/UsersInRoleTableRow.tsx @@ -3,7 +3,6 @@ import { Box, IconButton } from '@rocket.chat/fuselage'; import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import { UserAvatar } from '@rocket.chat/ui-avatar'; import { GenericTableRow, GenericTableCell } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -14,7 +13,7 @@ type UsersInRoleTableRowProps = { onRemove: (username: IUserInRole['username']) => void; }; -const UsersInRoleTableRow = ({ user, onRemove }: UsersInRoleTableRowProps): ReactElement => { +const UsersInRoleTableRow = ({ user, onRemove }: UsersInRoleTableRowProps) => { const { t } = useTranslation(); const { _id, name, username, avatarETag } = user; const email = getUserEmailAddress(user); diff --git a/apps/meteor/client/views/admin/rooms/RoomsPage.tsx b/apps/meteor/client/views/admin/rooms/RoomsPage.tsx index ef944c3f36566..4ebc9aaa917e0 100644 --- a/apps/meteor/client/views/admin/rooms/RoomsPage.tsx +++ b/apps/meteor/client/views/admin/rooms/RoomsPage.tsx @@ -1,14 +1,13 @@ import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import { ContextualbarDialog, Page, PageHeader, PageContent } from '@rocket.chat/ui-client'; import { useRouteParameter, useRouter } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useRef } from 'react'; import { useTranslation } from 'react-i18next'; import EditRoomWithData from './EditRoomWithData'; import RoomsTable from './RoomsTable'; -const RoomsPage = (): ReactElement => { +const RoomsPage = () => { const { t } = useTranslation(); const router = useRouter(); const id = useRouteParameter('id'); diff --git a/apps/meteor/client/views/admin/rooms/RoomsRoute.tsx b/apps/meteor/client/views/admin/rooms/RoomsRoute.tsx index 8bcd6f23650b3..74073c0ecaf3c 100644 --- a/apps/meteor/client/views/admin/rooms/RoomsRoute.tsx +++ b/apps/meteor/client/views/admin/rooms/RoomsRoute.tsx @@ -1,10 +1,9 @@ import { usePermission } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import RoomsPage from './RoomsPage'; import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage'; -const RoomsRoute = (): ReactElement => { +const RoomsRoute = () => { const canViewRoomAdministration = usePermission('view-room-administration'); if (!canViewRoomAdministration) { diff --git a/apps/meteor/client/views/admin/rooms/RoomsTable.tsx b/apps/meteor/client/views/admin/rooms/RoomsTable.tsx index a3338a65929b2..9a3e123c1b769 100644 --- a/apps/meteor/client/views/admin/rooms/RoomsTable.tsx +++ b/apps/meteor/client/views/admin/rooms/RoomsTable.tsx @@ -12,7 +12,7 @@ import { } from '@rocket.chat/ui-client'; import { useEndpoint } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; -import type { ReactElement, MutableRefObject } from 'react'; +import type { MutableRefObject } from 'react'; import { useRef, useState, useEffect, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -27,7 +27,7 @@ type RoomFilters = { const DEFAULT_TYPES = ['d', 'p', 'c', 'l', 'discussions', 'teams']; -const RoomsTable = ({ reload }: { reload: MutableRefObject<() => void> }): ReactElement => { +const RoomsTable = ({ reload }: { reload: MutableRefObject<() => void> }) => { const { t } = useTranslation(); const mediaQuery = useMediaQuery('(min-width: 1024px)'); diff --git a/apps/meteor/client/views/admin/rooms/RoomsTableFilters.tsx b/apps/meteor/client/views/admin/rooms/RoomsTableFilters.tsx index bdb61a54f6bdc..03af0288ea674 100644 --- a/apps/meteor/client/views/admin/rooms/RoomsTableFilters.tsx +++ b/apps/meteor/client/views/admin/rooms/RoomsTableFilters.tsx @@ -2,7 +2,7 @@ import { Box, Icon, TextInput } from '@rocket.chat/fuselage'; import type { OptionProp } from '@rocket.chat/ui-client'; import { MultiSelectCustom } from '@rocket.chat/ui-client'; import { useCallback, useMemo, useState } from 'react'; -import type { ChangeEvent, Dispatch, FormEvent, ReactElement, SetStateAction } from 'react'; +import type { ChangeEvent, Dispatch, FormEvent, SetStateAction } from 'react'; import { useTranslation } from 'react-i18next'; const initialRoomTypeFilterStructure = [ @@ -43,7 +43,7 @@ const initialRoomTypeFilterStructure = [ }, ] as OptionProp[]; -const RoomsTableFilters = ({ setFilters }: { setFilters: Dispatch> }): ReactElement => { +const RoomsTableFilters = ({ setFilters }: { setFilters: Dispatch> }) => { const { t } = useTranslation(); const [text, setText] = useState(''); diff --git a/apps/meteor/client/views/admin/settings/Setting/MemoizedSetting.tsx b/apps/meteor/client/views/admin/settings/Setting/MemoizedSetting.tsx index 827940fd81e71..3792af40ee10e 100644 --- a/apps/meteor/client/views/admin/settings/Setting/MemoizedSetting.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/MemoizedSetting.tsx @@ -1,6 +1,6 @@ import type { ISettingBase, SettingEditor, SettingValue } from '@rocket.chat/core-typings'; import { Box, Callout, Field, Margins } from '@rocket.chat/fuselage'; -import type { ElementType, ReactElement, ReactNode } from 'react'; +import type { ElementType, ReactNode } from 'react'; import { memo } from 'react'; import ActionSettingInput from './inputs/ActionSettingInput'; @@ -82,7 +82,7 @@ const MemoizedSetting = ({ className = undefined, invisible = undefined, ...inputProps -}: MemoizedSettingProps): ReactElement | null => { +}: MemoizedSettingProps) => { if (invisible) { return null; } diff --git a/apps/meteor/client/views/admin/settings/Setting/ResetSettingButton/ResetSettingButton.tsx b/apps/meteor/client/views/admin/settings/Setting/ResetSettingButton/ResetSettingButton.tsx index d26ac81a93e0b..2193dcbb39f71 100644 --- a/apps/meteor/client/views/admin/settings/Setting/ResetSettingButton/ResetSettingButton.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/ResetSettingButton/ResetSettingButton.tsx @@ -1,9 +1,9 @@ import type { Button } from '@rocket.chat/fuselage'; import { IconButton } from '@rocket.chat/fuselage'; -import type { ComponentProps, ReactElement } from 'react'; +import type { ComponentProps } from 'react'; import { useTranslation } from 'react-i18next'; -function ResetSettingButton(props: ComponentProps): ReactElement { +function ResetSettingButton(props: ComponentProps) { const { t } = useTranslation(); return ; diff --git a/apps/meteor/client/views/admin/settings/Setting/Setting.tsx b/apps/meteor/client/views/admin/settings/Setting/Setting.tsx index fc61f6e7d2ed1..ce2c32d8caa2f 100644 --- a/apps/meteor/client/views/admin/settings/Setting/Setting.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/Setting.tsx @@ -3,7 +3,6 @@ import { isSettingColor, isSetting } from '@rocket.chat/core-typings'; import { Box, Button, Tag } from '@rocket.chat/fuselage'; import { useDebouncedCallback } from '@rocket.chat/fuselage-hooks'; import { useSettingStructure } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useEffect, useMemo, useState, useCallback } from 'react'; import { Trans, useTranslation } from 'react-i18next'; @@ -21,7 +20,7 @@ type SettingProps = { sectionChanged?: boolean; }; -function Setting({ className = undefined, settingId, sectionChanged }: SettingProps): ReactElement { +function Setting({ className = undefined, settingId, sectionChanged }: SettingProps) { const setting = useEditableSetting(settingId); const persistedSetting = useSettingStructure(settingId); const hasSettingModule = useHasSettingModule(setting); diff --git a/apps/meteor/client/views/admin/settings/Setting/SettingSkeleton.tsx b/apps/meteor/client/views/admin/settings/Setting/SettingSkeleton.tsx index f12b51dec3414..f959489a656eb 100644 --- a/apps/meteor/client/views/admin/settings/Setting/SettingSkeleton.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/SettingSkeleton.tsx @@ -1,7 +1,6 @@ import { Field, FieldLabel, FieldRow, Flex, InputBoxSkeleton, Skeleton } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; -const SettingSkeleton = (): ReactElement => ( +const SettingSkeleton = () => ( diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/ActionInputBase.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/ActionInputBase.tsx index c7dc606e675f8..d2a860152e4fd 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/ActionInputBase.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/ActionInputBase.tsx @@ -1,7 +1,6 @@ import { Button, FieldRow, FieldHint } from '@rocket.chat/fuselage'; import type { TranslationKey } from '@rocket.chat/ui-contexts'; import { useToastMessageDispatch } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import type { SettingInputProps } from './types'; @@ -12,7 +11,7 @@ export type ActionInputBaseProps = SettingInputProps & { onAction: () => Promise<{ message: TranslationKey; params?: string[] }>; }; -function ActionInputBase({ actionText, hint, disabled, sectionChanged, onAction }: ActionInputBaseProps): ReactElement { +function ActionInputBase({ actionText, hint, disabled, sectionChanged, onAction }: ActionInputBaseProps) { const { t } = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/ActionSettingInput.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/ActionSettingInput.tsx index 09e8982c2d4b8..55a3ffcd796b5 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/ActionSettingInput.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/ActionSettingInput.tsx @@ -2,7 +2,6 @@ import { isActionSettingWithEndpoint } from '@rocket.chat/core-typings'; import type { ServerMethods } from '@rocket.chat/ddp-client'; import type { PathPattern, Method } from '@rocket.chat/rest-typings'; import type { TranslationKey } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import EndpointActionInput from './EndpointActionInput'; import MethodActionInput from './MethodActionInput'; @@ -14,7 +13,7 @@ type ActionSettingInputProps = SettingInputProps & { sectionChanged: boolean; }; -function ActionSettingInput({ value, ...rest }: ActionSettingInputProps): ReactElement { +function ActionSettingInput({ value, ...rest }: ActionSettingInputProps) { if (isActionSettingWithEndpoint(value)) { return ; } diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/AssetSettingInput.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/AssetSettingInput.tsx index 2f05ce556286c..b692d6af37833 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/AssetSettingInput.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/AssetSettingInput.tsx @@ -2,7 +2,7 @@ import { css } from '@rocket.chat/css-in-js'; import { Box, Button, Field, FieldHint, FieldLabel, FieldRow, Icon, Palette } from '@rocket.chat/fuselage'; import { Random } from '@rocket.chat/random'; import { useToastMessageDispatch, useEndpoint, useTranslation, useUpload } from '@rocket.chat/ui-contexts'; -import type { ChangeEventHandler, DragEvent, ReactElement, SyntheticEvent } from 'react'; +import type { ChangeEventHandler, DragEvent, SyntheticEvent } from 'react'; import type { SettingInputProps } from './types'; @@ -11,7 +11,7 @@ type AssetSettingInputProps = Omit, 'onChange fileConstraints?: { extensions: string[] }; }; -function AssetSettingInput({ _id, label, value, hint, asset, required, disabled, fileConstraints }: AssetSettingInputProps): ReactElement { +function AssetSettingInput({ _id, label, value, hint, asset, required, disabled, fileConstraints }: AssetSettingInputProps) { const t = useTranslation(); const dispatchToastMessage = useToastMessageDispatch(); diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/BooleanSettingInput.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/BooleanSettingInput.tsx index 367a8efe5aff7..acb4abb5c0db3 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/BooleanSettingInput.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/BooleanSettingInput.tsx @@ -1,5 +1,5 @@ import { Box, Field, FieldHint, FieldLabel, FieldRow, ToggleSwitch } from '@rocket.chat/fuselage'; -import type { ReactElement, SyntheticEvent } from 'react'; +import type { SyntheticEvent } from 'react'; import ResetSettingButton from '../ResetSettingButton'; import type { SettingInputProps } from './types'; @@ -17,7 +17,7 @@ function BooleanSettingInput({ hasResetButton, onChangeValue, onResetButtonClick, -}: BooleanSettingInputProps): ReactElement { +}: BooleanSettingInputProps) { const handleChange = (event: SyntheticEvent): void => { const value = event.currentTarget.checked; onChangeValue?.(value); diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/CodeMirror/CodeMirror.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/CodeMirror/CodeMirror.tsx index bef8372819197..a58cd35c3c8db 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/CodeMirror/CodeMirror.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/CodeMirror/CodeMirror.tsx @@ -1,6 +1,5 @@ import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import type { Editor, EditorFromTextArea } from 'codemirror'; -import type { ReactElement } from 'react'; import { useCallback, useEffect, useRef, useState } from 'react'; const defaultGutters = ['CodeMirror-linenumbers', 'CodeMirror-foldgutter']; @@ -42,7 +41,7 @@ function CodeMirror({ defaultValue, onChange, ...props -}: CodeMirrorProps): ReactElement { +}: CodeMirrorProps) { const [value, setValue] = useState(valueProp || defaultValue); const handleChange = useEffectEvent(onChange); diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/CodeMirror/CodeMirrorBox.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/CodeMirror/CodeMirrorBox.tsx index 0094b3f3258ca..e9b9277e8fa2f 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/CodeMirror/CodeMirrorBox.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/CodeMirror/CodeMirrorBox.tsx @@ -1,10 +1,10 @@ import { Box, Button, ButtonGroup } from '@rocket.chat/fuselage'; import { useToggle } from '@rocket.chat/fuselage-hooks'; -import type { ReactElement, ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { createPortal } from 'react-dom'; import { useTranslation } from 'react-i18next'; -const CodeMirrorBox = ({ label, children }: { label: ReactNode; children: ReactElement }) => { +const CodeMirrorBox = ({ label, children }: { label: ReactNode; children: ReactNode }) => { const { t } = useTranslation(); const [fullScreen, toggleFullScreen] = useToggle(false); diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/CodeSettingInput.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/CodeSettingInput.tsx index bed4565cf80aa..b039edc6a1d0c 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/CodeSettingInput.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/CodeSettingInput.tsx @@ -1,5 +1,4 @@ import { FieldLabel, FieldHint, FieldRow, Field } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import ResetSettingButton from '../ResetSettingButton'; import CodeMirror from './CodeMirror'; @@ -27,7 +26,7 @@ function CodeSettingInput({ hasResetButton, onChangeValue, onResetButtonClick, -}: CodeSettingInputProps): ReactElement { +}: CodeSettingInputProps) { const handleChange = (value: string): void => { onChangeValue(value); }; diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/ColorSettingInput.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/ColorSettingInput.tsx index ff2c4e0b63d3d..9729caa8fcf10 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/ColorSettingInput.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/ColorSettingInput.tsx @@ -1,7 +1,7 @@ import type { SettingEditor } from '@rocket.chat/core-typings'; import { FieldLabel, FieldRow, FieldHint, Flex, InputBox, Margins, TextInput, Select, Field } from '@rocket.chat/fuselage'; import type { TranslationKey } from '@rocket.chat/ui-contexts'; -import type { ChangeEvent, Key, ReactElement } from 'react'; +import type { ChangeEvent, Key } from 'react'; import { useCallback } from 'react'; import { useTranslation } from 'react-i18next'; @@ -30,7 +30,7 @@ function ColorSettingInput({ onChangeValue, onChangeEditor, onResetButtonClick, -}: ColorSettingInputProps): ReactElement { +}: ColorSettingInputProps) { const { t } = useTranslation(); const handleChange = useCallback( diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/FontSettingInput.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/FontSettingInput.tsx index eadb36247e370..815bc657b71e6 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/FontSettingInput.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/FontSettingInput.tsx @@ -1,5 +1,5 @@ import { Field, FieldHint, FieldLabel, FieldRow, TextInput } from '@rocket.chat/fuselage'; -import type { FormEventHandler, ReactElement } from 'react'; +import type { FormEventHandler } from 'react'; import ResetSettingButton from '../ResetSettingButton'; import type { SettingInputProps } from './types'; @@ -21,7 +21,7 @@ function FontSettingInput({ hasResetButton, onChangeValue, onResetButtonClick, -}: FontSettingInputProps): ReactElement { +}: FontSettingInputProps) { const handleChange: FormEventHandler = (event): void => { onChangeValue?.(event.currentTarget.value); }; diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/GenericSettingInput.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/GenericSettingInput.tsx index 2b773900239de..0e5e901255d73 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/GenericSettingInput.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/GenericSettingInput.tsx @@ -1,5 +1,5 @@ import { Field, FieldHint, FieldLabel, FieldRow, TextInput } from '@rocket.chat/fuselage'; -import type { FormEventHandler, ReactElement } from 'react'; +import type { FormEventHandler } from 'react'; import ResetSettingButton from '../ResetSettingButton'; import type { SettingInputProps } from './types'; @@ -21,7 +21,7 @@ function GenericSettingInput({ hasResetButton, onChangeValue, onResetButtonClick, -}: GenericSettingInputProps): ReactElement { +}: GenericSettingInputProps) { const handleChange: FormEventHandler = (event): void => { onChangeValue?.(event.currentTarget.value); }; diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/IntSettingInput.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/IntSettingInput.tsx index acde6b2f72399..7b3747ef3f474 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/IntSettingInput.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/IntSettingInput.tsx @@ -1,5 +1,5 @@ import { Field, FieldHint, FieldLabel, FieldRow, InputBox } from '@rocket.chat/fuselage'; -import type { FormEventHandler, ReactElement } from 'react'; +import type { FormEventHandler } from 'react'; import ResetSettingButton from '../ResetSettingButton'; import type { SettingInputProps } from './types'; @@ -21,7 +21,7 @@ function IntSettingInput({ onChangeValue, hasResetButton, onResetButtonClick, -}: IntSettingInputProps): ReactElement { +}: IntSettingInputProps) { const handleChange: FormEventHandler = (event) => { onChangeValue?.(parseInt(event.currentTarget.value, 10)); }; diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/LanguageSettingInput.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/LanguageSettingInput.tsx index 634e83e91a557..d9962b80e182e 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/LanguageSettingInput.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/LanguageSettingInput.tsx @@ -1,6 +1,5 @@ import { Field, FieldHint, FieldLabel, FieldRow, Select } from '@rocket.chat/fuselage'; import { useLanguages } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import ResetSettingButton from '../ResetSettingButton'; import type { SettingInputProps } from './types'; @@ -20,7 +19,7 @@ function LanguageSettingInput({ hasResetButton, onChangeValue, onResetButtonClick, -}: LanguageSettingInputProps): ReactElement { +}: LanguageSettingInputProps) { const languages = useLanguages(); const handleChange = (value: string): void => { diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/LookupSettingInput.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/LookupSettingInput.tsx index 8dee0642607ca..1c248bc48bd99 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/LookupSettingInput.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/LookupSettingInput.tsx @@ -2,7 +2,6 @@ import { Field, FieldHint, FieldLabel, FieldRow, Select } from '@rocket.chat/fus import type { PathPattern } from '@rocket.chat/rest-typings'; import { useEndpoint } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import ResetSettingButton from '../ResetSettingButton'; import type { SettingInputProps } from './types'; @@ -26,7 +25,7 @@ function LookupSettingInput({ hasResetButton, onChangeValue, onResetButtonClick, -}: LookupSettingInputProps): ReactElement { +}: LookupSettingInputProps) { const handleChange = (value: string): void => { onChangeValue?.(value); }; diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/MultiSelectSettingInput.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/MultiSelectSettingInput.tsx index 8b32553027ea4..f92c744fc84f8 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/MultiSelectSettingInput.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/MultiSelectSettingInput.tsx @@ -1,6 +1,5 @@ import { FieldLabel, MultiSelectFiltered, MultiSelect, Field, FieldRow, FieldHint } from '@rocket.chat/fuselage'; import type { TranslationKey } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import ResetSettingButton from '../ResetSettingButton'; @@ -25,7 +24,7 @@ function MultiSelectSettingInput({ onChangeValue, onResetButtonClick, autocomplete, -}: MultiSelectSettingInputProps): ReactElement { +}: MultiSelectSettingInputProps) { const { t } = useTranslation(); const handleChange = (value: string[]): void => { diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/PasswordSettingInput.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/PasswordSettingInput.tsx index 41be622361672..c3e98e3fd551e 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/PasswordSettingInput.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/PasswordSettingInput.tsx @@ -1,5 +1,5 @@ import { Field, FieldHint, FieldLabel, FieldRow, PasswordInput } from '@rocket.chat/fuselage'; -import type { EventHandler, ReactElement, SyntheticEvent } from 'react'; +import type { EventHandler, SyntheticEvent } from 'react'; import ResetSettingButton from '../ResetSettingButton'; import type { SettingInputProps } from './types'; @@ -19,7 +19,7 @@ function PasswordSettingInput({ hasResetButton, onChangeValue, onResetButtonClick, -}: PasswordSettingInputProps): ReactElement { +}: PasswordSettingInputProps) { const handleChange: EventHandler> = (event) => { onChangeValue?.(event.currentTarget.value); }; diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/RangeSettingInput.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/RangeSettingInput.tsx index 1cc286a917558..61ea314efcdf2 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/RangeSettingInput.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/RangeSettingInput.tsx @@ -1,5 +1,4 @@ import { Slider, Field, FieldLabel, FieldRow, FieldHint } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import ResetSettingButton from '../ResetSettingButton'; import type { SettingInputProps } from './types'; @@ -23,7 +22,7 @@ function RangeSettingInput({ hasResetButton, onChangeValue, onResetButtonClick, -}: RangeSettingInputProps): ReactElement { +}: RangeSettingInputProps) { return ( diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/RelativeUrlSettingInput.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/RelativeUrlSettingInput.tsx index c56c50ad2d9d2..bf2eb629b94f3 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/RelativeUrlSettingInput.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/RelativeUrlSettingInput.tsx @@ -1,6 +1,6 @@ import { Field, FieldHint, FieldLabel, FieldRow, UrlInput } from '@rocket.chat/fuselage'; import { useAbsoluteUrl } from '@rocket.chat/ui-contexts'; -import type { EventHandler, ReactElement, SyntheticEvent } from 'react'; +import type { EventHandler, SyntheticEvent } from 'react'; import ResetSettingButton from '../ResetSettingButton'; import type { SettingInputProps } from './types'; @@ -20,7 +20,7 @@ function RelativeUrlSettingInput({ hasResetButton, onChangeValue, onResetButtonClick, -}: RelativeUrlSettingInputProps): ReactElement { +}: RelativeUrlSettingInputProps) { const getAbsoluteUrl = useAbsoluteUrl(); const handleChange: EventHandler> = (event) => { diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/RoomPickSettingInput.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/RoomPickSettingInput.tsx index 6d8d7e7e4e13d..691358a8acc29 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/RoomPickSettingInput.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/RoomPickSettingInput.tsx @@ -1,6 +1,5 @@ import type { SettingValueRoomPick } from '@rocket.chat/core-typings'; import { Field, FieldHint, FieldLabel, FieldRow } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import RoomAutoCompleteMultiple from '../../../../../components/RoomAutoCompleteMultiple'; import ResetSettingButton from '../ResetSettingButton'; @@ -20,7 +19,7 @@ function RoomPickSettingInput({ hasResetButton, onChangeValue, onResetButtonClick, -}: RoomPickSettingInputProps): ReactElement { +}: RoomPickSettingInputProps) { const parsedValue = (value || []).map(({ _id }) => _id); const handleChange = (value: string | string[]) => { diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/SelectSettingInput.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/SelectSettingInput.tsx index 6fe42897a161a..9d80110f710c1 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/SelectSettingInput.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/SelectSettingInput.tsx @@ -1,6 +1,5 @@ import { Field, FieldHint, FieldLabel, FieldRow, Select } from '@rocket.chat/fuselage'; import type { TranslationKey } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import ResetSettingButton from '../ResetSettingButton'; @@ -24,7 +23,7 @@ function SelectSettingInput({ hasResetButton, onChangeValue, onResetButtonClick, -}: SelectSettingInputProps): ReactElement { +}: SelectSettingInputProps) { const { t } = useTranslation(); const handleChange = (value: string): void => { diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/SelectTimezoneSettingInput.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/SelectTimezoneSettingInput.tsx index 8008be82d8f06..10f8bab19dcb5 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/SelectTimezoneSettingInput.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/SelectTimezoneSettingInput.tsx @@ -1,6 +1,5 @@ import { Field, FieldHint, FieldLabel, FieldRow, Select } from '@rocket.chat/fuselage'; import { canonicalizeTimezone } from '@rocket.chat/tools'; -import type { ReactElement } from 'react'; import { useTimezoneNameList } from '../../../../../hooks/useTimezoneNameList'; import ResetSettingButton from '../ResetSettingButton'; @@ -21,7 +20,7 @@ function SelectTimezoneSettingInput({ hasResetButton, onChangeValue, onResetButtonClick, -}: SelectTimezoneSettingInputProps): ReactElement { +}: SelectTimezoneSettingInputProps) { const timezoneNames = useTimezoneNameList(); const handleChange = (value: string): void => { diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/StringSettingInput.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/StringSettingInput.tsx index 3d524784237e0..8db88c13f514e 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/StringSettingInput.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/StringSettingInput.tsx @@ -1,5 +1,5 @@ import { Field, FieldHint, FieldLabel, FieldRow, TextAreaInput, TextInput } from '@rocket.chat/fuselage'; -import type { EventHandler, ReactElement, SyntheticEvent } from 'react'; +import type { EventHandler, SyntheticEvent } from 'react'; import ResetSettingButton from '../ResetSettingButton'; import type { SettingInputProps } from './types'; @@ -26,7 +26,7 @@ function StringSettingInput({ hasResetButton, onChangeValue, onResetButtonClick, -}: StringSettingInputProps): ReactElement { +}: StringSettingInputProps) { const handleChange: EventHandler> = (event) => { onChangeValue?.(event.currentTarget.value); }; diff --git a/apps/meteor/client/views/admin/settings/Setting/inputs/TimespanSettingInput.tsx b/apps/meteor/client/views/admin/settings/Setting/inputs/TimespanSettingInput.tsx index c81b9dfdff97e..8ec08a18f22a6 100644 --- a/apps/meteor/client/views/admin/settings/Setting/inputs/TimespanSettingInput.tsx +++ b/apps/meteor/client/views/admin/settings/Setting/inputs/TimespanSettingInput.tsx @@ -1,5 +1,5 @@ import { Field, FieldHint, FieldLabel, FieldRow, InputBox, Select } from '@rocket.chat/fuselage'; -import type { FormEventHandler, Key, ReactElement } from 'react'; +import type { FormEventHandler, Key } from 'react'; import { useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; @@ -49,7 +49,7 @@ function TimespanSettingInput({ hasResetButton, onResetButtonClick, packageValue, -}: TimespanSettingInputProps): ReactElement { +}: TimespanSettingInputProps) { const { t, i18n } = useTranslation(); const [timeUnit, setTimeUnit] = useState(getHighestTimeUnit(Number(value))); diff --git a/apps/meteor/client/views/admin/settings/SettingsGroupCard.tsx b/apps/meteor/client/views/admin/settings/SettingsGroupCard.tsx index cfe1e26898855..d22bc1789887f 100644 --- a/apps/meteor/client/views/admin/settings/SettingsGroupCard.tsx +++ b/apps/meteor/client/views/admin/settings/SettingsGroupCard.tsx @@ -3,7 +3,7 @@ import { css } from '@rocket.chat/css-in-js'; import { Button, Box, Card, CardTitle, CardBody, CardControls } from '@rocket.chat/fuselage'; import type { TranslationKey } from '@rocket.chat/ui-contexts'; import { useRouter } from '@rocket.chat/ui-contexts'; -import { useId, type ReactElement } from 'react'; +import { useId } from 'react'; import { useTranslation } from 'react-i18next'; import MarkdownText from '../../../components/MarkdownText'; @@ -21,7 +21,7 @@ type SettingsGroupCardProps = { description?: TranslationKey; }; -const SettingsGroupCard = ({ id, title, description, ...props }: SettingsGroupCardProps): ReactElement => { +const SettingsGroupCard = ({ id, title, description, ...props }: SettingsGroupCardProps) => { const { t, i18n } = useTranslation(); const router = useRouter(); const cardId = useId(); diff --git a/apps/meteor/client/views/admin/settings/SettingsPage.tsx b/apps/meteor/client/views/admin/settings/SettingsPage.tsx index 9fcec02350b49..cb3116351f72b 100644 --- a/apps/meteor/client/views/admin/settings/SettingsPage.tsx +++ b/apps/meteor/client/views/admin/settings/SettingsPage.tsx @@ -2,7 +2,7 @@ import { Icon, SearchInput, CardGrid } from '@rocket.chat/fuselage'; import { useDebouncedValue } from '@rocket.chat/fuselage-hooks'; import { Page, PageHeader, PageScrollableContentWithShadow, PageBlockWithBorder } from '@rocket.chat/ui-client'; import type { TranslationKey } from '@rocket.chat/ui-contexts'; -import type { ChangeEvent, ReactElement } from 'react'; +import type { ChangeEvent } from 'react'; import { useCallback, useState } from 'react'; import { useTranslation } from 'react-i18next'; @@ -10,7 +10,7 @@ import SettingsGroupCard from './SettingsGroupCard'; import { useSettingsGroups } from './hooks/useSettingsGroups'; import GenericNoResults from '../../../components/GenericNoResults'; -const SettingsPage = (): ReactElement => { +const SettingsPage = () => { const { t } = useTranslation(); const [filter, setFilter] = useState(''); const handleChange = useCallback((e: ChangeEvent) => setFilter(e.currentTarget.value), []); diff --git a/apps/meteor/client/views/admin/settings/SettingsRoute.tsx b/apps/meteor/client/views/admin/settings/SettingsRoute.tsx index 145fb72e3ef3e..5ee2b8c39e8ec 100644 --- a/apps/meteor/client/views/admin/settings/SettingsRoute.tsx +++ b/apps/meteor/client/views/admin/settings/SettingsRoute.tsx @@ -1,12 +1,11 @@ import { useRouteParameter, useIsPrivilegedSettingsContext, useRouter } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import EditableSettingsProvider from './EditableSettingsProvider'; import SettingsGroupSelector from './SettingsGroupSelector'; import SettingsPage from './SettingsPage'; import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage'; -export const SettingsRoute = (): ReactElement => { +export const SettingsRoute = () => { const hasPermission = useIsPrivilegedSettingsContext(); const groupId = useRouteParameter('group'); const router = useRouter(); diff --git a/apps/meteor/client/views/admin/settings/SettingsSection/SettingsSection.tsx b/apps/meteor/client/views/admin/settings/SettingsSection/SettingsSection.tsx index 9a59aaffb2070..b2aca79c78234 100644 --- a/apps/meteor/client/views/admin/settings/SettingsSection/SettingsSection.tsx +++ b/apps/meteor/client/views/admin/settings/SettingsSection/SettingsSection.tsx @@ -2,7 +2,7 @@ import { isSetting, isSettingColor } from '@rocket.chat/core-typings'; import { AccordionItem, Box, Button, FieldGroup } from '@rocket.chat/fuselage'; import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import type { TranslationKey } from '@rocket.chat/ui-contexts'; -import type { ReactElement, ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -19,7 +19,7 @@ type SettingsSectionProps = { children?: ReactNode; }; -function SettingsSection({ groupId, hasReset = true, sectionName, currentTab, solo, help, children }: SettingsSectionProps): ReactElement { +function SettingsSection({ groupId, hasReset = true, sectionName, currentTab, solo, help, children }: SettingsSectionProps) { const { t } = useTranslation(); const editableSettings = useEditableSettings( diff --git a/apps/meteor/client/views/admin/settings/SettingsSection/SettingsSectionSkeleton.tsx b/apps/meteor/client/views/admin/settings/SettingsSection/SettingsSectionSkeleton.tsx index a171e65e0cb83..2ef75429f6ade 100644 --- a/apps/meteor/client/views/admin/settings/SettingsSection/SettingsSectionSkeleton.tsx +++ b/apps/meteor/client/views/admin/settings/SettingsSection/SettingsSectionSkeleton.tsx @@ -1,9 +1,8 @@ import { AccordionItem, Box, FieldGroup, Skeleton } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import SettingSkeleton from '../Setting/SettingSkeleton'; -function SettingsSectionSkeleton(): ReactElement { +function SettingsSectionSkeleton() { return ( }> diff --git a/apps/meteor/client/views/admin/settings/groups/BaseGroupPage.tsx b/apps/meteor/client/views/admin/settings/groups/BaseGroupPage.tsx index d3d8e1157fe82..31364b240df3b 100644 --- a/apps/meteor/client/views/admin/settings/groups/BaseGroupPage.tsx +++ b/apps/meteor/client/views/admin/settings/groups/BaseGroupPage.tsx @@ -1,4 +1,4 @@ -import type { ReactElement } from 'react'; +import type { ReactNode } from 'react'; import GenericGroupPage from './GenericGroupPage'; import TabbedGroupPage from './TabbedGroupPage'; @@ -7,7 +7,7 @@ import { useEditableSettingsGroupSections, useEditableSettingsGroupTabs } from ' type BaseGroupPageProps = { _id: string; i18nLabel: string; - headerButtons?: ReactElement; + headerButtons?: ReactNode; hasReset?: boolean; onClickBack?: () => void; }; diff --git a/apps/meteor/client/views/admin/settings/groups/GenericGroupPage.tsx b/apps/meteor/client/views/admin/settings/groups/GenericGroupPage.tsx index f471bb8e591f6..4eba78420536d 100644 --- a/apps/meteor/client/views/admin/settings/groups/GenericGroupPage.tsx +++ b/apps/meteor/client/views/admin/settings/groups/GenericGroupPage.tsx @@ -1,4 +1,4 @@ -import type { ReactElement, ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { memo } from 'react'; import SettingsGroupPage from '../SettingsGroupPage'; @@ -15,16 +15,7 @@ type GenericGroupPageProps = { onClickBack?: () => void; }; -function GenericGroupPage({ - _id, - i18nLabel, - sections, - tabs, - currentTab, - hasReset, - onClickBack, - ...props -}: GenericGroupPageProps): ReactElement { +function GenericGroupPage({ _id, i18nLabel, sections, tabs, currentTab, hasReset, onClickBack, ...props }: GenericGroupPageProps) { const solo = sections.length === 1; return ( diff --git a/apps/meteor/client/views/admin/settings/groups/OAuthGroupPage/CreateOAuthModal.tsx b/apps/meteor/client/views/admin/settings/groups/OAuthGroupPage/CreateOAuthModal.tsx index bb1ec945b9480..32324e24f1927 100644 --- a/apps/meteor/client/views/admin/settings/groups/OAuthGroupPage/CreateOAuthModal.tsx +++ b/apps/meteor/client/views/admin/settings/groups/OAuthGroupPage/CreateOAuthModal.tsx @@ -1,6 +1,6 @@ import { TextInput, Field, FieldLabel, FieldRow, FieldError, Box, FieldHint } from '@rocket.chat/fuselage'; import { GenericModal } from '@rocket.chat/ui-client'; -import { useId, type ReactElement } from 'react'; +import { useId } from 'react'; import { useForm } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -13,7 +13,7 @@ type CreateOAuthModalFields = { customOAuthName: string; }; -const CreateOAuthModal = ({ onConfirm, onClose }: CreateOAuthModalProps): ReactElement => { +const CreateOAuthModal = ({ onConfirm, onClose }: CreateOAuthModalProps) => { const { register, handleSubmit, diff --git a/apps/meteor/client/views/admin/settings/groups/OAuthGroupPage/OAuthGroupPage.tsx b/apps/meteor/client/views/admin/settings/groups/OAuthGroupPage/OAuthGroupPage.tsx index 67b8423d32b5f..8b9930a03b043 100644 --- a/apps/meteor/client/views/admin/settings/groups/OAuthGroupPage/OAuthGroupPage.tsx +++ b/apps/meteor/client/views/admin/settings/groups/OAuthGroupPage/OAuthGroupPage.tsx @@ -4,7 +4,6 @@ import { capitalize } from '@rocket.chat/string-helpers'; import { GenericModal } from '@rocket.chat/ui-client'; import { useToastMessageDispatch, useAbsoluteUrl, useMethod, useTranslation, useSetModal } from '@rocket.chat/ui-contexts'; import DOMPurify from 'dompurify'; -import type { ReactElement } from 'react'; import { memo, useEffect, useState } from 'react'; import CreateOAuthModal from './CreateOAuthModal'; @@ -17,7 +16,7 @@ type OAuthGroupPageProps = ISetting & { onClickBack?: () => void; }; -function OAuthGroupPage({ _id, onClickBack, ...group }: OAuthGroupPageProps): ReactElement { +function OAuthGroupPage({ _id, onClickBack, ...group }: OAuthGroupPageProps) { const sections = useEditableSettingsGroupSections(_id); const solo = sections.length === 1; const t = useTranslation(); diff --git a/apps/meteor/client/views/admin/settings/groups/TabbedGroupPage.tsx b/apps/meteor/client/views/admin/settings/groups/TabbedGroupPage.tsx index 3b8e47836f7b2..fa74e6366586b 100644 --- a/apps/meteor/client/views/admin/settings/groups/TabbedGroupPage.tsx +++ b/apps/meteor/client/views/admin/settings/groups/TabbedGroupPage.tsx @@ -1,6 +1,6 @@ import { Tabs, TabsItem } from '@rocket.chat/fuselage'; import type { TranslationKey } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; +import type { ReactNode } from 'react'; import { memo, useState, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -8,7 +8,7 @@ import GenericGroupPage from './GenericGroupPage'; import { useEditableSettingsGroupSections } from '../../EditableSettingsContext'; type TabbedGroupPageProps = { - headerButtons?: ReactElement; + headerButtons?: ReactNode; _id: string; i18nLabel: string; tabs: string[]; diff --git a/apps/meteor/client/views/admin/subscription/SubscriptionRoute.tsx b/apps/meteor/client/views/admin/subscription/SubscriptionRoute.tsx index 8d3f818463ca2..3df45d818b332 100644 --- a/apps/meteor/client/views/admin/subscription/SubscriptionRoute.tsx +++ b/apps/meteor/client/views/admin/subscription/SubscriptionRoute.tsx @@ -1,11 +1,10 @@ import { usePermission } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { memo } from 'react'; import SubscriptionPage from './SubscriptionPage'; import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage'; -const SubscriptionRoute = (): ReactElement => { +const SubscriptionRoute = () => { const canViewSubscription = usePermission('manage-cloud'); if (!canViewSubscription) { diff --git a/apps/meteor/client/views/admin/subscription/components/FeatureUsageCard.tsx b/apps/meteor/client/views/admin/subscription/components/FeatureUsageCard.tsx index e3efe6cbf6785..acee9ec21be92 100644 --- a/apps/meteor/client/views/admin/subscription/components/FeatureUsageCard.tsx +++ b/apps/meteor/client/views/admin/subscription/components/FeatureUsageCard.tsx @@ -1,5 +1,5 @@ import { Card, CardControls, CardTitle } from '@rocket.chat/fuselage'; -import type { ReactElement, ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { memo } from 'react'; import InfoTextIconModal from './InfoTextIconModal'; @@ -15,7 +15,7 @@ export type CardProps = { upgradeButton?: ReactNode; }; -const FeatureUsageCard = ({ children, card }: FeatureUsageCardProps): ReactElement => { +const FeatureUsageCard = ({ children, card }: FeatureUsageCardProps) => { const { title, infoText, upgradeButton } = card; return ( diff --git a/apps/meteor/client/views/admin/subscription/components/InfoTextIconModal.tsx b/apps/meteor/client/views/admin/subscription/components/InfoTextIconModal.tsx index d79e16f075a76..1db58b00d188c 100644 --- a/apps/meteor/client/views/admin/subscription/components/InfoTextIconModal.tsx +++ b/apps/meteor/client/views/admin/subscription/components/InfoTextIconModal.tsx @@ -1,7 +1,7 @@ import { IconButton } from '@rocket.chat/fuselage'; import { GenericModal } from '@rocket.chat/ui-client'; import { useSetModal } from '@rocket.chat/ui-contexts'; -import type { ReactElement, ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -10,7 +10,7 @@ type InfoTextIconModalProps = { infoText: ReactNode; }; -const InfoTextIconModal = ({ title, infoText }: InfoTextIconModalProps): ReactElement => { +const InfoTextIconModal = ({ title, infoText }: InfoTextIconModalProps) => { const setModal = useSetModal(); const { t } = useTranslation(); diff --git a/apps/meteor/client/views/admin/subscription/components/UpgradeButton.tsx b/apps/meteor/client/views/admin/subscription/components/UpgradeButton.tsx index b1cbbe7ad2042..5f41a13c20a98 100644 --- a/apps/meteor/client/views/admin/subscription/components/UpgradeButton.tsx +++ b/apps/meteor/client/views/admin/subscription/components/UpgradeButton.tsx @@ -1,6 +1,5 @@ import { Button } from '@rocket.chat/fuselage'; import type { ButtonProps } from '@rocket.chat/fuselage/dist/components/Button/Button'; -import type { ReactElement } from 'react'; import { memo } from 'react'; import { useExternalLink } from '../../../../hooks/useExternalLink'; @@ -14,7 +13,7 @@ const UpgradeButton = ({ }: Partial & { target: string; action: string; -}): ReactElement => { +}) => { const handleOpenLink = useExternalLink(); const url = useCheckoutUrl()({ target, action }); diff --git a/apps/meteor/client/views/admin/subscription/components/UsagePieGraph.tsx b/apps/meteor/client/views/admin/subscription/components/UsagePieGraph.tsx index 17326f8d489c0..f8f8088d6ef62 100644 --- a/apps/meteor/client/views/admin/subscription/components/UsagePieGraph.tsx +++ b/apps/meteor/client/views/admin/subscription/components/UsagePieGraph.tsx @@ -1,7 +1,7 @@ import type { DatumId } from '@nivo/pie'; import { Pie } from '@nivo/pie'; import { Box, Palette } from '@rocket.chat/fuselage'; -import type { ReactElement, CSSProperties, ReactNode } from 'react'; +import type { CSSProperties, ReactNode } from 'react'; import { useMemo, useCallback, memo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -28,7 +28,7 @@ type GraphData = Array<{ value: number; }>; -const UsagePieGraph = ({ used = 0, total = 0, label, color, size = 140 }: UsagePieGraphProps): ReactElement => { +const UsagePieGraph = ({ used = 0, total = 0, label, color, size = 140 }: UsagePieGraphProps) => { const { t } = useTranslation(); const parsedData = useMemo( (): GraphData => [ diff --git a/apps/meteor/client/views/admin/subscription/components/cards/ActiveSessionsCard.tsx b/apps/meteor/client/views/admin/subscription/components/cards/ActiveSessionsCard.tsx index ca7a229ae3295..3ee04644633f4 100644 --- a/apps/meteor/client/views/admin/subscription/components/cards/ActiveSessionsCard.tsx +++ b/apps/meteor/client/views/admin/subscription/components/cards/ActiveSessionsCard.tsx @@ -1,5 +1,4 @@ import { Box, Skeleton } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import { useActiveConnections } from '../../../../hooks/useActiveConnections'; @@ -23,7 +22,7 @@ const getLimits = ({ max, current }: { max: number; current: number }) => { }; }; -const ActiveSessionsCard = (): ReactElement => { +const ActiveSessionsCard = () => { const { t } = useTranslation(); const result = useActiveConnections(); diff --git a/apps/meteor/client/views/admin/subscription/components/cards/ActiveSessionsPeakCard.tsx b/apps/meteor/client/views/admin/subscription/components/cards/ActiveSessionsPeakCard.tsx index 404a547c19ab8..070e16511c8f0 100644 --- a/apps/meteor/client/views/admin/subscription/components/cards/ActiveSessionsPeakCard.tsx +++ b/apps/meteor/client/views/admin/subscription/components/cards/ActiveSessionsPeakCard.tsx @@ -1,5 +1,4 @@ import { Box, Skeleton } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import { useFormatDate } from '../../../../../hooks/useFormatDate'; @@ -9,7 +8,7 @@ import FeatureUsageCard from '../FeatureUsageCard'; import FeatureUsageCardBody from '../FeatureUsageCardBody'; import UpgradeButton from '../UpgradeButton'; -const ActiveSessionsPeakCard = (): ReactElement => { +const ActiveSessionsPeakCard = () => { const { t } = useTranslation(); const { data, isLoading } = useStatistics(); const formatDate = useFormatDate(); diff --git a/apps/meteor/client/views/admin/subscription/components/cards/AppsUsageCard/AppsUsageCard.tsx b/apps/meteor/client/views/admin/subscription/components/cards/AppsUsageCard/AppsUsageCard.tsx index 140b0b766d4c9..29d2c0883b0bd 100644 --- a/apps/meteor/client/views/admin/subscription/components/cards/AppsUsageCard/AppsUsageCard.tsx +++ b/apps/meteor/client/views/admin/subscription/components/cards/AppsUsageCard/AppsUsageCard.tsx @@ -1,6 +1,5 @@ import { Skeleton } from '@rocket.chat/fuselage'; import { ExternalLink } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import AppsUsageCardSection from './AppsUsageCardSection'; @@ -20,7 +19,7 @@ type AppsUsageCardProps = { marketplaceAppsLimit?: { value?: number; max: number }; }; -const AppsUsageCard = ({ privateAppsLimit, marketplaceAppsLimit }: AppsUsageCardProps): ReactElement => { +const AppsUsageCard = ({ privateAppsLimit, marketplaceAppsLimit }: AppsUsageCardProps) => { const { t } = useTranslation(); if (!privateAppsLimit || !marketplaceAppsLimit) { diff --git a/apps/meteor/client/views/admin/subscription/components/cards/CountMACCard.tsx b/apps/meteor/client/views/admin/subscription/components/cards/CountMACCard.tsx index a381310f880ec..d86353c5d42a9 100644 --- a/apps/meteor/client/views/admin/subscription/components/cards/CountMACCard.tsx +++ b/apps/meteor/client/views/admin/subscription/components/cards/CountMACCard.tsx @@ -1,11 +1,10 @@ import { Box, Icon } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import FeatureUsageCard from '../FeatureUsageCard'; import FeatureUsageCardBody from '../FeatureUsageCardBody'; -const CountMACCard = ({ macsCount }: { macsCount: number }): ReactElement => { +const CountMACCard = ({ macsCount }: { macsCount: number }) => { const { t } = useTranslation(); return ( diff --git a/apps/meteor/client/views/admin/subscription/components/cards/CountSeatsCard.tsx b/apps/meteor/client/views/admin/subscription/components/cards/CountSeatsCard.tsx index 05b14f2e3a58d..138df3c0e79b9 100644 --- a/apps/meteor/client/views/admin/subscription/components/cards/CountSeatsCard.tsx +++ b/apps/meteor/client/views/admin/subscription/components/cards/CountSeatsCard.tsx @@ -1,11 +1,10 @@ import { Box, Icon } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import FeatureUsageCard from '../FeatureUsageCard'; import FeatureUsageCardBody from '../FeatureUsageCardBody'; -const CountSeatsCard = ({ activeUsers }: { activeUsers: number }): ReactElement => { +const CountSeatsCard = ({ activeUsers }: { activeUsers: number }) => { const { t } = useTranslation(); return ( diff --git a/apps/meteor/client/views/admin/subscription/components/cards/FeaturesCard.tsx b/apps/meteor/client/views/admin/subscription/components/cards/FeaturesCard.tsx index c9e307d9eade9..65973237f1ae6 100644 --- a/apps/meteor/client/views/admin/subscription/components/cards/FeaturesCard.tsx +++ b/apps/meteor/client/views/admin/subscription/components/cards/FeaturesCard.tsx @@ -1,6 +1,5 @@ import { Box, Card, CardBody, CardControls, CardTitle, FramedIcon } from '@rocket.chat/fuselage'; import { useMediaQuery } from '@rocket.chat/fuselage-hooks'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import { PRICING_LINK } from '../../utils/links'; @@ -59,7 +58,7 @@ const getFeatureSet = (modules: string[], isEnterprise: boolean): FeatureSet[] = return featureSet.sort(({ success: a }, { success: b }) => (a === b ? 0 : a ? -1 : 1)); }; -const FeaturesCard = ({ activeModules, isEnterprise }: FeaturesCardProps): ReactElement => { +const FeaturesCard = ({ activeModules, isEnterprise }: FeaturesCardProps) => { const { t } = useTranslation(); const isSmall = useMediaQuery('(min-width: 1180px)'); diff --git a/apps/meteor/client/views/admin/subscription/components/cards/MACCard.tsx b/apps/meteor/client/views/admin/subscription/components/cards/MACCard.tsx index c3b8592f76f71..3dcf5bc376ee4 100644 --- a/apps/meteor/client/views/admin/subscription/components/cards/MACCard.tsx +++ b/apps/meteor/client/views/admin/subscription/components/cards/MACCard.tsx @@ -1,5 +1,4 @@ import { Palette } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import type { CardProps } from '../FeatureUsageCard'; @@ -8,15 +7,7 @@ import FeatureUsageCardBody from '../FeatureUsageCardBody'; import UpgradeButton from '../UpgradeButton'; import UsagePieGraph from '../UsagePieGraph'; -const MACCard = ({ - value = 0, - max, - hideManageSubscription, -}: { - value: number; - max: number; - hideManageSubscription?: boolean; -}): ReactElement => { +const MACCard = ({ value = 0, max, hideManageSubscription }: { value: number; max: number; hideManageSubscription?: boolean }) => { const { t } = useTranslation(); const pieGraph = { diff --git a/apps/meteor/client/views/admin/subscription/components/cards/PlanCard.tsx b/apps/meteor/client/views/admin/subscription/components/cards/PlanCard.tsx index 82e6f387ded30..0446dbea3403e 100644 --- a/apps/meteor/client/views/admin/subscription/components/cards/PlanCard.tsx +++ b/apps/meteor/client/views/admin/subscription/components/cards/PlanCard.tsx @@ -1,5 +1,4 @@ import type { ILicenseV3 } from '@rocket.chat/core-typings'; -import type { ReactElement } from 'react'; import PlanCardPremium from './PlanCard/PlanCardPremium'; import PlanCardTrial from './PlanCard/PlanCardTrial'; @@ -13,7 +12,7 @@ type PlanCardProps = { licenseLimits: LicenseLimits; }; -const PlanCard = ({ licenseInformation, licenseLimits }: PlanCardProps): ReactElement => { +const PlanCard = ({ licenseInformation, licenseLimits }: PlanCardProps) => { const isTrial = licenseInformation.trial; return isTrial ? ( diff --git a/apps/meteor/client/views/admin/subscription/components/cards/PlanCard/PlanCardCommunity.tsx b/apps/meteor/client/views/admin/subscription/components/cards/PlanCard/PlanCardCommunity.tsx index 2cb25fc4e5fee..786dff4772225 100644 --- a/apps/meteor/client/views/admin/subscription/components/cards/PlanCard/PlanCardCommunity.tsx +++ b/apps/meteor/client/views/admin/subscription/components/cards/PlanCard/PlanCardCommunity.tsx @@ -1,10 +1,9 @@ import { Box, Card, CardBody, Icon } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import PlanCardHeader from './PlanCardHeader'; -const PlanCardCommunity = (): ReactElement => { +const PlanCardCommunity = () => { const { t } = useTranslation(); return ( diff --git a/apps/meteor/client/views/admin/subscription/components/cards/PlanCard/PlanCardHeader.tsx b/apps/meteor/client/views/admin/subscription/components/cards/PlanCard/PlanCardHeader.tsx index db44784e6edcb..f86988480885a 100644 --- a/apps/meteor/client/views/admin/subscription/components/cards/PlanCard/PlanCardHeader.tsx +++ b/apps/meteor/client/views/admin/subscription/components/cards/PlanCard/PlanCardHeader.tsx @@ -1,7 +1,6 @@ import { CardTitle, Icon, Palette, CardHeader } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; -const PlanCardHeader = ({ name }: { name: string }): ReactElement => { +const PlanCardHeader = ({ name }: { name: string }) => { return ( diff --git a/apps/meteor/client/views/admin/subscription/components/cards/PlanCard/PlanCardPremium.tsx b/apps/meteor/client/views/admin/subscription/components/cards/PlanCard/PlanCardPremium.tsx index abf872e68cae6..e00dc6b6cabe3 100644 --- a/apps/meteor/client/views/admin/subscription/components/cards/PlanCard/PlanCardPremium.tsx +++ b/apps/meteor/client/views/admin/subscription/components/cards/PlanCard/PlanCardPremium.tsx @@ -1,7 +1,6 @@ import type { ILicenseV3 } from '@rocket.chat/core-typings'; import { Box, Card, CardBody, Icon, Skeleton } from '@rocket.chat/fuselage'; import { ExternalLink, useLicenseName } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import PlanCardHeader from './PlanCardHeader'; @@ -18,7 +17,7 @@ type PlanCardProps = { licenseLimits: LicenseLimits; }; -const PlanCardPremium = ({ licenseInformation, licenseLimits }: PlanCardProps): ReactElement => { +const PlanCardPremium = ({ licenseInformation, licenseLimits }: PlanCardProps) => { const { t } = useTranslation(); const { isSelfHosted, isLoading } = useIsSelfHosted(); const formatDate = useFormatDate(); diff --git a/apps/meteor/client/views/admin/subscription/components/cards/PlanCard/PlanCardTrial.tsx b/apps/meteor/client/views/admin/subscription/components/cards/PlanCard/PlanCardTrial.tsx index 57bb72e1e4f7e..9cfa82c8b75ee 100644 --- a/apps/meteor/client/views/admin/subscription/components/cards/PlanCard/PlanCardTrial.tsx +++ b/apps/meteor/client/views/admin/subscription/components/cards/PlanCard/PlanCardTrial.tsx @@ -2,7 +2,6 @@ import type { ILicenseV3 } from '@rocket.chat/core-typings'; import { Box, Card, CardBody, CardControls, CardRow, Tag } from '@rocket.chat/fuselage'; import { ExternalLink, useLicenseName } from '@rocket.chat/ui-client'; import { differenceInDays } from 'date-fns'; -import type { ReactElement } from 'react'; import { Trans, useTranslation } from 'react-i18next'; import PlanCardHeader from './PlanCardHeader'; @@ -13,7 +12,7 @@ type PlanCardProps = { licenseInformation: ILicenseV3['information']; }; -const PlanCardTrial = ({ licenseInformation }: PlanCardProps): ReactElement => { +const PlanCardTrial = ({ licenseInformation }: PlanCardProps) => { const { t } = useTranslation(); const planName = useLicenseName(); diff --git a/apps/meteor/client/views/admin/subscription/components/cards/SeatsCard.tsx b/apps/meteor/client/views/admin/subscription/components/cards/SeatsCard.tsx index d56e5eb5a3d69..1f455a6814254 100644 --- a/apps/meteor/client/views/admin/subscription/components/cards/SeatsCard.tsx +++ b/apps/meteor/client/views/admin/subscription/components/cards/SeatsCard.tsx @@ -1,5 +1,4 @@ import { Palette } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import type { CardProps } from '../FeatureUsageCard'; @@ -14,7 +13,7 @@ type SeatsCardProps = { hideManageSubscription?: boolean; }; -const SeatsCard = ({ value, max, hideManageSubscription }: SeatsCardProps): ReactElement => { +const SeatsCard = ({ value, max, hideManageSubscription }: SeatsCardProps) => { const { t } = useTranslation(); const pieGraph = { diff --git a/apps/meteor/client/views/admin/subscription/surface/UiKitSubscriptionLicense.tsx b/apps/meteor/client/views/admin/subscription/surface/UiKitSubscriptionLicense.tsx index 245b0dac12ec1..f19b90d7e008a 100644 --- a/apps/meteor/client/views/admin/subscription/surface/UiKitSubscriptionLicense.tsx +++ b/apps/meteor/client/views/admin/subscription/surface/UiKitSubscriptionLicense.tsx @@ -1,7 +1,7 @@ import { useDebouncedCallback } from '@rocket.chat/fuselage-hooks'; import { UiKitContext, bannerParser, UiKitComponent } from '@rocket.chat/fuselage-ui-kit'; import type { View } from '@rocket.chat/ui-kit'; -import type { ContextType, Dispatch, ReactElement } from 'react'; +import type { ContextType, Dispatch } from 'react'; import { useMemo } from 'react'; import type { SubscriptionLicenseLayout } from './UiKitSubscriptionLicenseSurface'; @@ -11,7 +11,7 @@ import { useUiKitActionManager } from '../../../../uikit/hooks/useUiKitActionMan import { useUiKitView } from '../../../../uikit/hooks/useUiKitView'; // TODO: move this to fuselage-ui-kit itself -bannerParser.mrkdwn = ({ text }): ReactElement => ; +bannerParser.mrkdwn = ({ text }) => ; type UiKitSubscriptionLicenseProps = { key: string; diff --git a/apps/meteor/client/views/admin/subscription/surface/UiKitSubscriptionLicenseSurface.tsx b/apps/meteor/client/views/admin/subscription/surface/UiKitSubscriptionLicenseSurface.tsx index 45883f4454791..d7918826bc47c 100644 --- a/apps/meteor/client/views/admin/subscription/surface/UiKitSubscriptionLicenseSurface.tsx +++ b/apps/meteor/client/views/admin/subscription/surface/UiKitSubscriptionLicenseSurface.tsx @@ -1,7 +1,7 @@ import { Margins } from '@rocket.chat/fuselage'; import { createSurfaceRenderer, Surface, FuselageSurfaceRenderer, renderTextObject } from '@rocket.chat/fuselage-ui-kit'; import type { CalloutBlock, ContextBlock, DividerBlock, ImageBlock, SectionBlock } from '@rocket.chat/ui-kit'; -import type { ReactElement, ReactNode } from 'react'; +import type { ReactNode } from 'react'; type SubscriptionLicenseSurfaceProps = { children?: ReactNode; @@ -11,7 +11,7 @@ type SubscriptionLicenseLayoutBlock = ContextBlock | DividerBlock | ImageBlock | export type SubscriptionLicenseLayout = SubscriptionLicenseLayoutBlock[]; -const SubscriptionLicenseSurface = ({ children }: SubscriptionLicenseSurfaceProps): ReactElement => ( +const SubscriptionLicenseSurface = ({ children }: SubscriptionLicenseSurfaceProps) => ( {children} diff --git a/apps/meteor/client/views/admin/users/AdminUserFormWithData.tsx b/apps/meteor/client/views/admin/users/AdminUserFormWithData.tsx index 8e599cc13796d..5ac84d9c55e92 100644 --- a/apps/meteor/client/views/admin/users/AdminUserFormWithData.tsx +++ b/apps/meteor/client/views/admin/users/AdminUserFormWithData.tsx @@ -1,7 +1,6 @@ import type { IRole, IUser, Serialized } from '@rocket.chat/core-typings'; import { Box, Callout } from '@rocket.chat/fuselage'; import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import AdminUserForm from './AdminUserForm'; @@ -16,7 +15,7 @@ type AdminUserFormWithDataProps = { roleError: Error | null; }; -const AdminUserFormWithData = ({ uid, onReload, context, roleData, roleError }: AdminUserFormWithDataProps): ReactElement => { +const AdminUserFormWithData = ({ uid, onReload, context, roleData, roleError }: AdminUserFormWithDataProps) => { const { t } = useTranslation(); const { data, isPending, isError, refetch } = useUserInfoQuery({ userId: uid }); diff --git a/apps/meteor/client/views/admin/users/AdminUserInfoActions.tsx b/apps/meteor/client/views/admin/users/AdminUserInfoActions.tsx index 868adbb2dd07f..36e916f47c9e3 100644 --- a/apps/meteor/client/views/admin/users/AdminUserInfoActions.tsx +++ b/apps/meteor/client/views/admin/users/AdminUserInfoActions.tsx @@ -1,6 +1,5 @@ import { ButtonGroup, IconButton } 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'; @@ -17,7 +16,7 @@ const AdminUserInfoActions = ({ tab, onChange, onReload, -}: AdminUserInfoActionsProps): ReactElement => { +}: AdminUserInfoActionsProps) => { const { t } = useTranslation(); const { actions: actionsDefinition, menuActions: menuOptions } = useAdminUserInfoActions({ username, @@ -48,7 +47,7 @@ const AdminUserInfoActions = ({ }, [t, menuOptions]); const actions = useMemo(() => { - const mapAction = ([key, { content, title, icon = 'kebab', onClick, disabled }]: [string, AdminUserAction]): ReactElement => ( + const mapAction = ([key, { content, title, icon = 'kebab', onClick, disabled }]: [string, AdminUserAction]) => ( ); return [...actionsDefinition.map(mapAction), menu].filter(Boolean); diff --git a/apps/meteor/client/views/admin/users/AdminUserInfoWithData.tsx b/apps/meteor/client/views/admin/users/AdminUserInfoWithData.tsx index 8ef62241df14f..118025907bdf1 100644 --- a/apps/meteor/client/views/admin/users/AdminUserInfoWithData.tsx +++ b/apps/meteor/client/views/admin/users/AdminUserInfoWithData.tsx @@ -4,7 +4,6 @@ import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import { ContextualbarContent } from '@rocket.chat/ui-client'; import { useSetting, useRolesDescription, useTranslation, useEndpoint } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import { useMemo } from 'react'; import AdminUserInfoActions from './AdminUserInfoActions'; @@ -22,7 +21,7 @@ type AdminUserInfoWithDataProps = { tab: AdminUsersTab; }; -const AdminUserInfoWithData = ({ uid, onReload, tab }: AdminUserInfoWithDataProps): ReactElement => { +const AdminUserInfoWithData = ({ uid, onReload, tab }: AdminUserInfoWithDataProps) => { const t = useTranslation(); const getRoles = useRolesDescription(); const approveManuallyUsers = useSetting('Accounts_ManuallyApproveNewUsers'); diff --git a/apps/meteor/client/views/admin/users/AdminUsersPage.tsx b/apps/meteor/client/views/admin/users/AdminUsersPage.tsx index cd244dde977a6..a8e5a0325f15e 100644 --- a/apps/meteor/client/views/admin/users/AdminUsersPage.tsx +++ b/apps/meteor/client/views/admin/users/AdminUsersPage.tsx @@ -16,7 +16,6 @@ import { } from '@rocket.chat/ui-client'; import { useRouteParameter, useTranslation, useRouter, useEndpoint } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import { useEffect, useMemo, useRef, useState } from 'react'; import { Trans } from 'react-i18next'; @@ -44,7 +43,7 @@ export type AdminUsersTab = 'all' | 'active' | 'deactivated' | 'pending'; export type UsersTableSortingOption = 'name' | 'username' | 'emails.address' | 'status' | 'active' | 'freeSwitchExtension'; -const AdminUsersPage = (): ReactElement => { +const AdminUsersPage = () => { const t = useTranslation(); const seatsCap = useSeatsCap(); diff --git a/apps/meteor/client/views/admin/users/AdminUsersRoute.tsx b/apps/meteor/client/views/admin/users/AdminUsersRoute.tsx index c1e90a35dd260..482080bc4ffa7 100644 --- a/apps/meteor/client/views/admin/users/AdminUsersRoute.tsx +++ b/apps/meteor/client/views/admin/users/AdminUsersRoute.tsx @@ -1,10 +1,9 @@ import { usePermission } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import AdminUsersPage from './AdminUsersPage'; import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage'; -const AdminUsersRoute = (): ReactElement => { +const AdminUsersRoute = () => { const canViewUserAdministration = usePermission('view-user-administration'); if (!canViewUserAdministration) { diff --git a/apps/meteor/client/views/admin/users/SeatsCapUsage/SeatsCapUsage.stories.tsx b/apps/meteor/client/views/admin/users/SeatsCapUsage/SeatsCapUsage.stories.tsx index 85d33149e11b8..08487583fa997 100644 --- a/apps/meteor/client/views/admin/users/SeatsCapUsage/SeatsCapUsage.stories.tsx +++ b/apps/meteor/client/views/admin/users/SeatsCapUsage/SeatsCapUsage.stories.tsx @@ -1,11 +1,9 @@ -import type { ReactElement } from 'react'; - import SeatsCapUsage from './SeatsCapUsage'; export default { component: SeatsCapUsage, }; -export const Example = (): ReactElement => ; -export const CloseToLimit = (): ReactElement => ; -export const ReachedLimit = (): ReactElement => ; +export const Example = () => ; +export const CloseToLimit = () => ; +export const ReachedLimit = () => ; diff --git a/apps/meteor/client/views/admin/users/SeatsCapUsage/SeatsCapUsage.tsx b/apps/meteor/client/views/admin/users/SeatsCapUsage/SeatsCapUsage.tsx index 63123aa3b05e0..6557db56cbd63 100644 --- a/apps/meteor/client/views/admin/users/SeatsCapUsage/SeatsCapUsage.tsx +++ b/apps/meteor/client/views/admin/users/SeatsCapUsage/SeatsCapUsage.tsx @@ -1,4 +1,3 @@ -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import { GenericResourceUsage } from '../../../../components/GenericResourceUsage'; @@ -8,7 +7,7 @@ type SeatsCapUsageProps = { members: number; }; -const SeatsCapUsage = ({ limit, members }: SeatsCapUsageProps): ReactElement => { +const SeatsCapUsage = ({ limit, members }: SeatsCapUsageProps) => { const { t } = useTranslation(); const percentage = Math.max(0, Math.min((100 / limit) * members, 100)); const seatsLeft = Math.max(0, limit - members); diff --git a/apps/meteor/client/views/admin/users/UsersTable/UsersTable.tsx b/apps/meteor/client/views/admin/users/UsersTable/UsersTable.tsx index e5caa47d1d1c3..8f752e0385af1 100644 --- a/apps/meteor/client/views/admin/users/UsersTable/UsersTable.tsx +++ b/apps/meteor/client/views/admin/users/UsersTable/UsersTable.tsx @@ -12,7 +12,7 @@ import { import type { usePagination, useSort } from '@rocket.chat/ui-client'; import type { TranslationKey } from '@rocket.chat/ui-contexts'; import { useRouter } from '@rocket.chat/ui-contexts'; -import type { ReactElement, Dispatch, SetStateAction, MouseEvent, KeyboardEvent } from 'react'; +import type { Dispatch, SetStateAction, MouseEvent, KeyboardEvent } from 'react'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -50,7 +50,7 @@ const UsersTable = ({ paginationData, sortData, isSeatsCapExceeded, -}: UsersTableProps): ReactElement | null => { +}: UsersTableProps) => { const { t } = useTranslation(); const router = useRouter(); const breakpoints = useBreakpoints(); diff --git a/apps/meteor/client/views/admin/users/UsersTable/UsersTableRow.tsx b/apps/meteor/client/views/admin/users/UsersTable/UsersTableRow.tsx index a3090c133c476..8e9d1c363989a 100644 --- a/apps/meteor/client/views/admin/users/UsersTable/UsersTableRow.tsx +++ b/apps/meteor/client/views/admin/users/UsersTable/UsersTableRow.tsx @@ -4,7 +4,7 @@ import { Box, Button } from '@rocket.chat/fuselage'; import type { DefaultUserInfo } from '@rocket.chat/rest-typings'; import { UserAvatar } from '@rocket.chat/ui-avatar'; import { GenericMenu, GenericTableRow, GenericTableCell } from '@rocket.chat/ui-client'; -import type { KeyboardEvent, MouseEvent, ReactElement } from 'react'; +import type { KeyboardEvent, MouseEvent } from 'react'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -29,16 +29,7 @@ type UsersTableRowProps = { showVoipExtension: boolean; }; -const UsersTableRow = ({ - user, - tab, - isMobile, - isLaptop, - isSeatsCapExceeded, - showVoipExtension, - onClick, - onReload, -}: UsersTableRowProps): ReactElement => { +const UsersTableRow = ({ user, tab, isMobile, isLaptop, isSeatsCapExceeded, showVoipExtension, onClick, onReload }: UsersTableRowProps) => { const { t } = useTranslation(); const { diff --git a/apps/meteor/client/views/admin/viewLogs/ViewLogsPage.stories.tsx b/apps/meteor/client/views/admin/viewLogs/ViewLogsPage.stories.tsx index 2db15fe723687..d3a4622b20e29 100644 --- a/apps/meteor/client/views/admin/viewLogs/ViewLogsPage.stories.tsx +++ b/apps/meteor/client/views/admin/viewLogs/ViewLogsPage.stories.tsx @@ -1,5 +1,4 @@ import type { Meta, StoryFn } from '@storybook/react'; -import type { ReactElement, ReactNode } from 'react'; import ViewLogsPage from './ViewLogsPage'; @@ -9,9 +8,7 @@ export default { layout: 'fullscreen', controls: { hideNoControlsWarning: true }, }, - decorators: [ - (fn: () => ReactNode): ReactElement =>
{fn()}
, - ], + decorators: [(fn) =>
{fn()}
], } satisfies Meta; export const Default: StoryFn = () => ; diff --git a/apps/meteor/client/views/admin/viewLogs/ViewLogsPage.tsx b/apps/meteor/client/views/admin/viewLogs/ViewLogsPage.tsx index c3f00c26f8553..399c85c0187e5 100644 --- a/apps/meteor/client/views/admin/viewLogs/ViewLogsPage.tsx +++ b/apps/meteor/client/views/admin/viewLogs/ViewLogsPage.tsx @@ -1,10 +1,9 @@ import { Page, PageHeader, PageContent } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import AnalyticsReports from './AnalyticsReports'; -const ViewLogsPage = (): ReactElement => { +const ViewLogsPage = () => { const { t } = useTranslation(); return ( diff --git a/apps/meteor/client/views/admin/viewLogs/ViewLogsRoute.tsx b/apps/meteor/client/views/admin/viewLogs/ViewLogsRoute.tsx index 3c01c926234a6..10b7fbf0c335b 100644 --- a/apps/meteor/client/views/admin/viewLogs/ViewLogsRoute.tsx +++ b/apps/meteor/client/views/admin/viewLogs/ViewLogsRoute.tsx @@ -1,10 +1,9 @@ import { usePermission } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import ViewLogsPage from './ViewLogsPage'; import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage'; -const ViewLogsRoute = (): ReactElement => { +const ViewLogsRoute = () => { const canViewLogs = usePermission('view-logs'); if (!canViewLogs) { diff --git a/apps/meteor/client/views/admin/workspace/DeploymentCard/DeploymentCard.tsx b/apps/meteor/client/views/admin/workspace/DeploymentCard/DeploymentCard.tsx index 2d9c6e5e224d8..e30cc3e721546 100644 --- a/apps/meteor/client/views/admin/workspace/DeploymentCard/DeploymentCard.tsx +++ b/apps/meteor/client/views/admin/workspace/DeploymentCard/DeploymentCard.tsx @@ -3,7 +3,6 @@ import { Button, Card, CardBody, CardControls, Margins } from '@rocket.chat/fuse import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import type { IInstance } from '@rocket.chat/rest-typings'; import { useSetModal } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -18,7 +17,7 @@ type DeploymentCardProps = { statistics: IStats; }; -const DeploymentCard = ({ serverInfo: { info, cloudWorkspaceId }, statistics, instances }: DeploymentCardProps): ReactElement => { +const DeploymentCard = ({ serverInfo: { info, cloudWorkspaceId }, statistics, instances }: DeploymentCardProps) => { const { t } = useTranslation(); const formatDateAndTime = useFormatDateAndTime(); const setModal = useSetModal(); diff --git a/apps/meteor/client/views/admin/workspace/MessagesRoomsCard/MessagesRoomsCard.tsx b/apps/meteor/client/views/admin/workspace/MessagesRoomsCard/MessagesRoomsCard.tsx index 52b6ea44dce4a..09afaed3fc771 100644 --- a/apps/meteor/client/views/admin/workspace/MessagesRoomsCard/MessagesRoomsCard.tsx +++ b/apps/meteor/client/views/admin/workspace/MessagesRoomsCard/MessagesRoomsCard.tsx @@ -1,6 +1,5 @@ import type { IStats } from '@rocket.chat/core-typings'; import { Card } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -12,7 +11,7 @@ type MessagesRoomsCardProps = { statistics: IStats; }; -const MessagesRoomsCard = ({ statistics }: MessagesRoomsCardProps): ReactElement => { +const MessagesRoomsCard = ({ statistics }: MessagesRoomsCardProps) => { const { t } = useTranslation(); return ( diff --git a/apps/meteor/client/views/admin/workspace/UsersUploadsCard/UsersUploadsCard.tsx b/apps/meteor/client/views/admin/workspace/UsersUploadsCard/UsersUploadsCard.tsx index 0137f2bd25782..e0095feb37cf4 100644 --- a/apps/meteor/client/views/admin/workspace/UsersUploadsCard/UsersUploadsCard.tsx +++ b/apps/meteor/client/views/admin/workspace/UsersUploadsCard/UsersUploadsCard.tsx @@ -2,7 +2,6 @@ import type { IStats } from '@rocket.chat/core-typings'; import { Button, Card, CardBody, CardControls, Margins } from '@rocket.chat/fuselage'; import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import { useRouter } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -16,7 +15,7 @@ type UsersUploadsCardProps = { statistics: IStats; }; -const UsersUploadsCard = ({ statistics }: UsersUploadsCardProps): ReactElement => { +const UsersUploadsCard = ({ statistics }: UsersUploadsCardProps) => { const { t } = useTranslation(); const formatMemorySize = useFormatMemorySize(); diff --git a/apps/meteor/client/views/admin/workspace/VersionCard/VersionCard.tsx b/apps/meteor/client/views/admin/workspace/VersionCard/VersionCard.tsx index 398bab1b684ad..0159713af544b 100644 --- a/apps/meteor/client/views/admin/workspace/VersionCard/VersionCard.tsx +++ b/apps/meteor/client/views/admin/workspace/VersionCard/VersionCard.tsx @@ -5,7 +5,7 @@ import type { SupportedVersions } from '@rocket.chat/server-cloud-communication' import { ExternalLink, useLicense, useLicenseName } from '@rocket.chat/ui-client'; import type { LocationPathname } from '@rocket.chat/ui-contexts'; import { useSetModal, useMediaUrl } from '@rocket.chat/ui-contexts'; -import type { ReactElement, ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { useMemo } from 'react'; import { Trans, useTranslation } from 'react-i18next'; @@ -28,7 +28,7 @@ type VersionCardProps = { serverInfo: IWorkspaceInfo; }; -const VersionCard = ({ serverInfo }: VersionCardProps): ReactElement => { +const VersionCard = ({ serverInfo }: VersionCardProps) => { const breakpoints = useBreakpoints(); const isExtraLargeOrBigger = breakpoints.includes('xl'); diff --git a/apps/meteor/client/views/admin/workspace/VersionCard/components/VersionCardActionButton.tsx b/apps/meteor/client/views/admin/workspace/VersionCard/components/VersionCardActionButton.tsx index 9c4478fa69c20..0f9431c6658c2 100644 --- a/apps/meteor/client/views/admin/workspace/VersionCard/components/VersionCardActionButton.tsx +++ b/apps/meteor/client/views/admin/workspace/VersionCard/components/VersionCardActionButton.tsx @@ -2,7 +2,7 @@ import { Button } from '@rocket.chat/fuselage'; import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import type { LocationPathname } from '@rocket.chat/ui-contexts'; import { useRouter } from '@rocket.chat/ui-contexts'; -import type { ReactElement, ReactNode } from 'react'; +import type { ReactNode } from 'react'; import { memo } from 'react'; type VersionCardActionButtonProps = @@ -15,7 +15,7 @@ type VersionCardActionButtonProps = label: ReactNode; }; -const VersionCardActionButton = (item: VersionCardActionButtonProps): ReactElement => { +const VersionCardActionButton = (item: VersionCardActionButtonProps) => { const router = useRouter(); const handleActionButton = useEffectEvent(() => { diff --git a/apps/meteor/client/views/admin/workspace/VersionCard/components/VersionCardActionItem.tsx b/apps/meteor/client/views/admin/workspace/VersionCard/components/VersionCardActionItem.tsx index 07cf878bfeb64..e202b0b389f34 100644 --- a/apps/meteor/client/views/admin/workspace/VersionCard/components/VersionCardActionItem.tsx +++ b/apps/meteor/client/views/admin/workspace/VersionCard/components/VersionCardActionItem.tsx @@ -1,6 +1,6 @@ import { Box, FramedIcon } from '@rocket.chat/fuselage'; import type { Keys } from '@rocket.chat/icons'; -import type { ReactElement, ReactNode } from 'react'; +import type { ReactNode } from 'react'; export type VersionActionItem = { danger?: boolean; @@ -10,7 +10,7 @@ export type VersionActionItem = { type VersionCardActionItemProps = VersionActionItem; -const VersionCardActionItem = ({ icon, label, danger }: VersionCardActionItemProps): ReactElement => { +const VersionCardActionItem = ({ icon, label, danger }: VersionCardActionItemProps) => { return ( diff --git a/apps/meteor/client/views/admin/workspace/WorkspaceRoute.tsx b/apps/meteor/client/views/admin/workspace/WorkspaceRoute.tsx index 30ec3ad36c9e3..b94629322292c 100644 --- a/apps/meteor/client/views/admin/workspace/WorkspaceRoute.tsx +++ b/apps/meteor/client/views/admin/workspace/WorkspaceRoute.tsx @@ -1,7 +1,6 @@ import { Callout, ButtonGroup, Button } from '@rocket.chat/fuselage'; import { Page, PageHeader, PageScrollableContentWithShadow } from '@rocket.chat/ui-client'; import { usePermission } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { memo, useState } from 'react'; import { useTranslation } from 'react-i18next'; @@ -11,7 +10,7 @@ import { useWorkspaceInfo } from '../../../hooks/useWorkspaceInfo'; import { downloadJsonAs } from '../../../lib/download'; import NotAuthorizedPage from '../../notAuthorized/NotAuthorizedPage'; -const WorkspaceRoute = (): ReactElement => { +const WorkspaceRoute = () => { const { t } = useTranslation(); const canViewStatistics = usePermission('view-statistics'); diff --git a/apps/meteor/client/views/audit/AuditLogPage.tsx b/apps/meteor/client/views/audit/AuditLogPage.tsx index 64cb206b47eb2..88ab91e870bb6 100644 --- a/apps/meteor/client/views/audit/AuditLogPage.tsx +++ b/apps/meteor/client/views/audit/AuditLogPage.tsx @@ -1,10 +1,9 @@ import { Page, PageHeader, PageContent } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import AuditLogTable from './components/AuditLogTable'; -const AuditLogPage = (): ReactElement => { +const AuditLogPage = () => { const { t } = useTranslation(); return ( diff --git a/apps/meteor/client/views/audit/SecurityLogsPage.tsx b/apps/meteor/client/views/audit/SecurityLogsPage.tsx index c75f27e60d7e0..a373274d26961 100644 --- a/apps/meteor/client/views/audit/SecurityLogsPage.tsx +++ b/apps/meteor/client/views/audit/SecurityLogsPage.tsx @@ -1,10 +1,9 @@ import { Page, PageHeader, PageContent } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import SecurityLogsTable from './components/SecurityLogsTable'; -const SecurityLogsPage = (): ReactElement => { +const SecurityLogsPage = () => { const { t } = useTranslation(); return ( diff --git a/apps/meteor/client/views/audit/components/AuditFiltersDisplay.tsx b/apps/meteor/client/views/audit/components/AuditFiltersDisplay.tsx index 97b757322c923..5c7b0e5bc3bc3 100644 --- a/apps/meteor/client/views/audit/components/AuditFiltersDisplay.tsx +++ b/apps/meteor/client/views/audit/components/AuditFiltersDisplay.tsx @@ -1,6 +1,5 @@ import type { IRoom, IUser } from '@rocket.chat/core-typings'; import { Box } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import { useTranslation } from 'react-i18next'; import { useFormatDate } from '../../../hooks/useFormatDate'; @@ -13,7 +12,7 @@ type AuditFiltersDisplayProps = { filters?: string; }; -const AuditFiltersDisplay = ({ users, room, startDate, endDate, filters }: AuditFiltersDisplayProps): ReactElement => { +const AuditFiltersDisplay = ({ users, room, startDate, endDate, filters }: AuditFiltersDisplayProps) => { const formatDate = useFormatDate(); const { t } = useTranslation(); diff --git a/apps/meteor/client/views/audit/components/AuditLogEntry.tsx b/apps/meteor/client/views/audit/components/AuditLogEntry.tsx index 92bab0535073e..1e7cf3ead9e19 100644 --- a/apps/meteor/client/views/audit/components/AuditLogEntry.tsx +++ b/apps/meteor/client/views/audit/components/AuditLogEntry.tsx @@ -3,7 +3,6 @@ import { Box } from '@rocket.chat/fuselage'; import { useMediaQuery } from '@rocket.chat/fuselage-hooks'; import { UserAvatar } from '@rocket.chat/ui-avatar'; import { GenericTableRow, GenericTableCell } from '@rocket.chat/ui-client'; -import type { ReactElement } from 'react'; import { memo, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -12,7 +11,7 @@ import { useFormatDateAndTime } from '../../../hooks/useFormatDateAndTime'; type AuditLogEntryProps = { value: IAuditLog }; -const AuditLogEntry = ({ value: { u, results, ts, _id, fields } }: AuditLogEntryProps): ReactElement => { +const AuditLogEntry = ({ value: { u, results, ts, _id, fields } }: AuditLogEntryProps) => { const formatDateAndTime = useFormatDateAndTime(); const { t } = useTranslation(); diff --git a/apps/meteor/client/views/audit/components/AuditLogTable.tsx b/apps/meteor/client/views/audit/components/AuditLogTable.tsx index 38a49e0b01976..a61d52922f9a6 100644 --- a/apps/meteor/client/views/audit/components/AuditLogTable.tsx +++ b/apps/meteor/client/views/audit/components/AuditLogTable.tsx @@ -2,7 +2,6 @@ import { Field, FieldLabel, FieldRow } from '@rocket.chat/fuselage'; import { GenericTable, GenericTableHeaderCell, GenericTableBody, GenericTableLoadingRow, GenericTableHeader } from '@rocket.chat/ui-client'; import { useTranslation, useMethod } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; -import type { ReactElement } from 'react'; import { useState } from 'react'; import AuditLogEntry from './AuditLogEntry'; @@ -11,7 +10,7 @@ import { createEndOfToday, createStartOfToday } from '../utils/dateRange'; import type { DateRange } from '../utils/dateRange'; import DateRangePicker from './forms/DateRangePicker'; -const AuditLogTable = (): ReactElement => { +const AuditLogTable = () => { const t = useTranslation(); const [dateRange, setDateRange] = useState(() => ({ diff --git a/apps/meteor/client/views/audit/components/AuditMessageList.tsx b/apps/meteor/client/views/audit/components/AuditMessageList.tsx index 607d34bc9b39e..5c5a897d9ee71 100644 --- a/apps/meteor/client/views/audit/components/AuditMessageList.tsx +++ b/apps/meteor/client/views/audit/components/AuditMessageList.tsx @@ -2,7 +2,6 @@ import type { IMessage } from '@rocket.chat/core-typings'; import { MessageDivider } from '@rocket.chat/fuselage'; import { MessageTypes } from '@rocket.chat/message-types'; import { useUserPreference } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; import { Fragment, memo } from 'react'; import RoomMessage from '../../../components/message/variants/RoomMessage'; @@ -14,7 +13,7 @@ type AuditMessageListProps = { messages: IMessage[]; }; -const AuditMessageList = ({ messages }: AuditMessageListProps): ReactElement => { +const AuditMessageList = ({ messages }: AuditMessageListProps) => { const formatDate = useFormatDate(); const showUserAvatar = !!useUserPreference('displayAvatars'); diff --git a/apps/meteor/client/views/audit/components/AuditResult.tsx b/apps/meteor/client/views/audit/components/AuditResult.tsx index f5903f96dbb0f..a570f9f3ef0e1 100644 --- a/apps/meteor/client/views/audit/components/AuditResult.tsx +++ b/apps/meteor/client/views/audit/components/AuditResult.tsx @@ -1,5 +1,4 @@ import type { IMessage } from '@rocket.chat/core-typings'; -import type { ReactElement } from 'react'; import { memo } from 'react'; import AuditMessageList from './AuditMessageList'; @@ -10,7 +9,7 @@ type AuditResultProps = { messages: IMessage[]; }; -const AuditResult = ({ className, messages }: AuditResultProps): ReactElement => { +const AuditResult = ({ className, messages }: AuditResultProps) => { if (messages.length === 0) { return ; } diff --git a/apps/meteor/client/views/audit/components/SecurityLogsTable.tsx b/apps/meteor/client/views/audit/components/SecurityLogsTable.tsx index f57cead3b005a..89f0a64bd1217 100644 --- a/apps/meteor/client/views/audit/components/SecurityLogsTable.tsx +++ b/apps/meteor/client/views/audit/components/SecurityLogsTable.tsx @@ -14,7 +14,7 @@ import { import { useEndpoint, useSetModal } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; import { format } from 'date-fns'; -import { useState, type ReactElement } from 'react'; +import { useState } from 'react'; import { useTranslation } from 'react-i18next'; import SecurityLogDisplayModal from './SecurityLogDisplayModal'; @@ -24,7 +24,7 @@ import GenericNoResults from '../../../components/GenericNoResults'; import type { DateRange } from '../utils/dateRange'; import { getTypeTranslation } from '../utils/getAppTypeTranslation'; -const SecurityLogsTable = (): ReactElement => { +const SecurityLogsTable = () => { const { t } = useTranslation(); const [setting, setSetting] = useState(''); diff --git a/apps/meteor/client/views/audit/components/forms/DateRangePicker.tsx b/apps/meteor/client/views/audit/components/forms/DateRangePicker.tsx index 7ee7cc6b79c53..da65923a97234 100644 --- a/apps/meteor/client/views/audit/components/forms/DateRangePicker.tsx +++ b/apps/meteor/client/views/audit/components/forms/DateRangePicker.tsx @@ -2,7 +2,7 @@ import { Box, InputBox, Margins } from '@rocket.chat/fuselage'; import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import { GenericMenu } from '@rocket.chat/ui-client'; import { startOfDay, endOfDay, startOfWeek, endOfWeek, startOfMonth, endOfMonth, subDays, subWeeks, subMonths, parseISO } from 'date-fns'; -import type { ReactElement, ComponentProps, SetStateAction, FormEvent } from 'react'; +import type { ComponentProps, SetStateAction, FormEvent } from 'react'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; @@ -124,7 +124,7 @@ type DateRangePickerProps = Omit, 'value' | 'onChange const minDate = (a: Date, b: Date) => (a.getTime() < b.getTime() ? a : b); -const DateRangePicker = ({ value, onChange, ...props }: DateRangePickerProps): ReactElement => { +const DateRangePicker = ({ value, onChange, ...props }: DateRangePickerProps) => { const dispatch = useEffectEvent((action: DateRangeAction): void => { const newRange = dateRangeReducer(value ?? { start: undefined, end: undefined }, action); onChange?.(newRange); diff --git a/apps/meteor/client/views/audit/components/forms/VisitorAutoComplete.tsx b/apps/meteor/client/views/audit/components/forms/VisitorAutoComplete.tsx index c5b3dd71927df..eceee2624a9f6 100644 --- a/apps/meteor/client/views/audit/components/forms/VisitorAutoComplete.tsx +++ b/apps/meteor/client/views/audit/components/forms/VisitorAutoComplete.tsx @@ -1,12 +1,12 @@ import { AutoComplete, Option } from '@rocket.chat/fuselage'; import { useEndpoint } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; -import type { ComponentProps, ReactElement } from 'react'; +import type { ComponentProps } from 'react'; import { memo, useMemo, useState } from 'react'; type VisitorAutoCompleteProps = Omit, 'filter'>; -const VisitorAutoComplete = ({ value, onChange, ...props }: VisitorAutoCompleteProps): ReactElement => { +const VisitorAutoComplete = ({ value, onChange, ...props }: VisitorAutoCompleteProps) => { const [filter, setFilter] = useState(''); const performVisitorSearch = useEndpoint('GET', '/v1/livechat/visitors.autocomplete'); diff --git a/apps/meteor/client/views/audit/components/tabs/DirectTab.tsx b/apps/meteor/client/views/audit/components/tabs/DirectTab.tsx index 5be7564fa6190..4c2ac9051f865 100644 --- a/apps/meteor/client/views/audit/components/tabs/DirectTab.tsx +++ b/apps/meteor/client/views/audit/components/tabs/DirectTab.tsx @@ -1,5 +1,4 @@ import { Field, FieldLabel, FieldRow, FieldError } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import type { UseFormReturn } from 'react-hook-form'; import { useController } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -11,7 +10,7 @@ type DirectTabProps = { form: UseFormReturn; }; -const DirectTab = ({ form: { control } }: DirectTabProps): ReactElement => { +const DirectTab = ({ form: { control } }: DirectTabProps) => { const { t } = useTranslation(); const { field: usersField, fieldState: usersFieldState } = useController({ diff --git a/apps/meteor/client/views/audit/components/tabs/OmnichannelTab.tsx b/apps/meteor/client/views/audit/components/tabs/OmnichannelTab.tsx index 15b504a45ee88..80b0e78d714cd 100644 --- a/apps/meteor/client/views/audit/components/tabs/OmnichannelTab.tsx +++ b/apps/meteor/client/views/audit/components/tabs/OmnichannelTab.tsx @@ -1,5 +1,4 @@ import { Field, FieldLabel, FieldRow, FieldError } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import type { UseFormReturn } from 'react-hook-form'; import { useController } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -12,7 +11,7 @@ type OmnichannelTabProps = { form: UseFormReturn; }; -const OmnichannelTab = ({ form: { control } }: OmnichannelTabProps): ReactElement => { +const OmnichannelTab = ({ form: { control } }: OmnichannelTabProps) => { const { t } = useTranslation(); const { field: visitorField, fieldState: visitorFieldState } = useController({ diff --git a/apps/meteor/client/views/audit/components/tabs/UsersTab.tsx b/apps/meteor/client/views/audit/components/tabs/UsersTab.tsx index 40cc292ad2bec..3c4d9e0e68cfe 100644 --- a/apps/meteor/client/views/audit/components/tabs/UsersTab.tsx +++ b/apps/meteor/client/views/audit/components/tabs/UsersTab.tsx @@ -1,5 +1,4 @@ import { Field, FieldLabel, FieldRow, FieldError } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; import type { UseFormReturn } from 'react-hook-form'; import { useController } from 'react-hook-form'; import { useTranslation } from 'react-i18next'; @@ -11,7 +10,7 @@ type UsersTabProps = { form: UseFormReturn; }; -const UsersTab = ({ form: { control } }: UsersTabProps): ReactElement => { +const UsersTab = ({ form: { control } }: UsersTabProps) => { const { t } = useTranslation(); const { field: usersField, fieldState: usersFieldState } = useController({ diff --git a/apps/meteor/client/views/banners/BannerRegion.tsx b/apps/meteor/client/views/banners/BannerRegion.tsx index b3e85c64d01a1..5c4417a28d3ae 100644 --- a/apps/meteor/client/views/banners/BannerRegion.tsx +++ b/apps/meteor/client/views/banners/BannerRegion.tsx @@ -1,4 +1,3 @@ -import type { ReactElement } from 'react'; import { useSyncExternalStore } from 'react'; import LegacyBanner from './LegacyBanner'; @@ -7,7 +6,7 @@ import { useUserBanners } from './hooks/useUserBanners'; import { withErrorBoundary } from '../../components/withErrorBoundary'; import * as banners from '../../lib/banners'; -const BannerRegion = (): ReactElement | null => { +const BannerRegion = () => { const payload = useSyncExternalStore(...banners.firstSubscription); useUserBanners(); diff --git a/apps/meteor/client/views/banners/UiKitBanner.tsx b/apps/meteor/client/views/banners/UiKitBanner.tsx index 6a4ec0977f488..523efd7a9eda8 100644 --- a/apps/meteor/client/views/banners/UiKitBanner.tsx +++ b/apps/meteor/client/views/banners/UiKitBanner.tsx @@ -3,7 +3,6 @@ import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import { UiKitContext, bannerParser, UiKitBanner as UiKitBannerSurfaceRender, UiKitComponent } from '@rocket.chat/fuselage-ui-kit'; import { useToastMessageDispatch } from '@rocket.chat/ui-contexts'; import type * as UiKit from '@rocket.chat/ui-kit'; -import type { ReactElement } from 'react'; import { useMemo } from 'react'; import MarkdownText from '../../components/MarkdownText'; @@ -12,7 +11,7 @@ import { useUiKitActionManager } from '../../uikit/hooks/useUiKitActionManager'; import { useUiKitView } from '../../uikit/hooks/useUiKitView'; // TODO: move this to fuselage-ui-kit itself -bannerParser.mrkdwn = ({ text }): ReactElement => ; +bannerParser.mrkdwn = ({ text }) => ; type UiKitBannerProps = { key: UiKit.BannerView['viewId']; // force re-mount when viewId changes diff --git a/apps/meteor/client/views/composer/AudioMessageRecorder/AudioMessageRecorder.tsx b/apps/meteor/client/views/composer/AudioMessageRecorder/AudioMessageRecorder.tsx index 543c975eda01a..211f2c2f84200 100644 --- a/apps/meteor/client/views/composer/AudioMessageRecorder/AudioMessageRecorder.tsx +++ b/apps/meteor/client/views/composer/AudioMessageRecorder/AudioMessageRecorder.tsx @@ -2,7 +2,6 @@ import type { IRoom } from '@rocket.chat/core-typings'; import { Box, Icon, Throbber } from '@rocket.chat/fuselage'; import { useEffectEvent } from '@rocket.chat/fuselage-hooks'; import { MessageComposerAction } from '@rocket.chat/ui-composer'; -import type { ReactElement } from 'react'; import { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; @@ -16,7 +15,7 @@ type AudioMessageRecorderProps = { isMicrophoneDenied?: boolean; }; -const AudioMessageRecorder = ({ rid, isMicrophoneDenied }: AudioMessageRecorderProps): ReactElement | null => { +const AudioMessageRecorder = ({ rid, isMicrophoneDenied }: AudioMessageRecorderProps) => { const { t } = useTranslation(); const [state, setState] = useState<'loading' | 'recording'>('recording'); diff --git a/apps/meteor/client/views/composer/EmojiPicker/EmojiPicker.tsx b/apps/meteor/client/views/composer/EmojiPicker/EmojiPicker.tsx index cef5d6c2fcd7c..74c9344f43713 100644 --- a/apps/meteor/client/views/composer/EmojiPicker/EmojiPicker.tsx +++ b/apps/meteor/client/views/composer/EmojiPicker/EmojiPicker.tsx @@ -39,7 +39,7 @@ const EmojiPicker = ({ reference, onClose, onPickEmoji }: EmojiPickerProps) => { const emojiContainerRef = useRef(null); const [isVisibleRef, isInputVisible] = useIsVisible(); - const textInputRef = useRef(); + const textInputRef = useRef(undefined); const mergedTextInputRef = useMergedRefs(isVisibleRef, textInputRef); @@ -186,7 +186,7 @@ const EmojiPicker = ({ reference, onClose, onPickEmoji }: EmojiPickerProps) => { }; return ( - } ref={emojiContainerRef}> + } ref={emojiContainerRef}> { return document.body; }; -const useDropdownPosition = (reference: RefObject, target: RefObject) => { +const useDropdownPosition = (reference: RefObject, target: RefObject) => { const innerContainer = getDropdownContainer(reference.current); const viewHeight = document.body.getBoundingClientRect().height; const refTop = reference.current?.getBoundingClientRect().top ?? 0; @@ -32,7 +32,7 @@ const useDropdownPosition = (reference: RefObject, target: RefObjec const maxHeight = useMemo(() => (placement === 'bottom-end' ? '482px' : `${refTop - 12}px`), [placement, refTop]); - const { style } = usePosition(reference, target, { + const { style } = usePosition(reference as RefObject, target as RefObject, { placement, container: innerContainer, }); @@ -44,7 +44,7 @@ const useDropdownPosition = (reference: RefObject, target: RefObjec type EmojiPickerDesktopDropdownProps = { children: ReactNode; - reference: RefObject; + reference: RefObject; }; /** diff --git a/apps/meteor/client/views/composer/EmojiPicker/EmojiPickerDropDown.tsx b/apps/meteor/client/views/composer/EmojiPicker/EmojiPickerDropDown.tsx index 7ec0d754428c1..14712b61aee30 100644 --- a/apps/meteor/client/views/composer/EmojiPicker/EmojiPickerDropDown.tsx +++ b/apps/meteor/client/views/composer/EmojiPicker/EmojiPickerDropDown.tsx @@ -7,7 +7,7 @@ import EmojiPickerDesktopDropdown from './EmojiPickerDesktopDropdown'; type EmojiPickerDropdownProps = { children: ReactNode; - reference: RefObject; + reference: RefObject; }; const EmojiPickerDropdown = forwardRef(function EmojiPickerDropdown( @@ -19,7 +19,7 @@ const EmojiPickerDropdown = forwardRef(function EmojiPickerDropdown + }> {children} ); diff --git a/apps/meteor/client/views/composer/EmojiPicker/ToneSelector/ToneSelector.tsx b/apps/meteor/client/views/composer/EmojiPicker/ToneSelector/ToneSelector.tsx index 810022e93ccea..ac5cd89882c11 100644 --- a/apps/meteor/client/views/composer/EmojiPicker/ToneSelector/ToneSelector.tsx +++ b/apps/meteor/client/views/composer/EmojiPicker/ToneSelector/ToneSelector.tsx @@ -1,15 +1,15 @@ import type { OptionType } from '@rocket.chat/fuselage'; import { IconButton, useCursor, PositionAnimated, Options } from '@rocket.chat/fuselage'; -import type { ReactElement } from 'react'; +import type { ReactNode } from 'react'; import { useMemo, useRef, useCallback, useEffect } from 'react'; import ToneItem from './ToneItem'; const ToneSelector = ({ tone, setTone }: { tone: number; setTone: (tone: number) => void }) => { const options = useMemo(() => { - const renderOption = (tone: number): ReactElement => ; + const renderOption = (tone: number) => ; - const statuses: Array<[value: number, label: ReactElement, selected: boolean]> = [ + const statuses: Array<[value: number, label: ReactNode, selected: boolean]> = [ [0, renderOption(0), tone === 0], [1, renderOption(1), tone === 1], [2, renderOption(2), tone === 2], diff --git a/apps/meteor/client/views/composer/VideoMessageRecorder/VideoMessageRecorder.tsx b/apps/meteor/client/views/composer/VideoMessageRecorder/VideoMessageRecorder.tsx index 6d59550e0ec0d..8a7131ab41fab 100644 --- a/apps/meteor/client/views/composer/VideoMessageRecorder/VideoMessageRecorder.tsx +++ b/apps/meteor/client/views/composer/VideoMessageRecorder/VideoMessageRecorder.tsx @@ -13,7 +13,7 @@ import { useChat } from '../../room/contexts/ChatContext'; type VideoMessageRecorderProps = { rid: IRoom['_id']; tmid?: IMessage['_id']; - reference: RefObject; + reference: RefObject; } & Omit, 'is'>; const videoContainerClass = css` @@ -114,7 +114,7 @@ const VideoMessageRecorder = ({ rid, tmid, reference }: VideoMessageRecorderProp }, [dispatchToastMessage, handleCancel, t]); return ( - + } placement='top-end'>