diff --git a/apps/meteor/client/components/Sidebar/SidebarNavigationItem.tsx b/apps/meteor/client/components/Sidebar/SidebarNavigationItem.tsx index 5ee687b9a374f..1a07cc1440dc4 100644 --- a/apps/meteor/client/components/Sidebar/SidebarNavigationItem.tsx +++ b/apps/meteor/client/components/Sidebar/SidebarNavigationItem.tsx @@ -1,6 +1,6 @@ import { Box, Icon, Tag } from '@rocket.chat/fuselage'; import type { Keys as IconName } from '@rocket.chat/icons'; -import type { ReactElement } from 'react'; +import type { ReactNode } from 'react'; import { memo } from 'react'; import SidebarGenericItem from './SidebarGenericItem'; @@ -13,7 +13,7 @@ type SidebarNavigationItemProps = { tag?: string; currentPath?: string; externalUrl?: boolean; - badge?: () => ReactElement; + badge?: () => ReactNode; }; const SidebarNavigationItem = ({ diff --git a/apps/meteor/client/hooks/useFileInput.ts b/apps/meteor/client/hooks/useFileInput.ts index 48b44645e786e..4283cf00f1431 100644 --- a/apps/meteor/client/hooks/useFileInput.ts +++ b/apps/meteor/client/hooks/useFileInput.ts @@ -5,7 +5,7 @@ import type { AllHTMLAttributes } from 'react'; import { useChat } from '../views/room/contexts/ChatContext'; export const useFileInput = (props: AllHTMLAttributes) => { - const fileInputRef = useRef(); + const fileInputRef = useRef(undefined); const chatContext = useChat(); const setupFileInput = useSafeRefCallback( diff --git a/apps/meteor/client/hooks/useRoomIcon.tsx b/apps/meteor/client/hooks/useRoomIcon.tsx index 6d090d7d8f66c..2956864853a49 100644 --- a/apps/meteor/client/hooks/useRoomIcon.tsx +++ b/apps/meteor/client/hooks/useRoomIcon.tsx @@ -7,7 +7,7 @@ import { ReactiveUserStatus } from '../components/UserStatus'; export const useRoomIcon = ( room: Pick, -): ComponentProps | ReactElement | null => { +): ComponentProps | ReactElement | null => { if (room.abacAttributes) { if (room.teamMain) { return { name: 'team-shield' }; diff --git a/apps/meteor/client/hooks/useSingleFileInput.ts b/apps/meteor/client/hooks/useSingleFileInput.ts index bda6c9a1f353d..75fef0e0f3df9 100644 --- a/apps/meteor/client/hooks/useSingleFileInput.ts +++ b/apps/meteor/client/hooks/useSingleFileInput.ts @@ -8,7 +8,7 @@ export const useSingleFileInput = ( maxSize?: number, onError?: () => void, ): [onClick: () => void, reset: () => void] => { - const ref = useRef(); + const ref = useRef(undefined); useEffect(() => { const fileInput = document.createElement('input'); diff --git a/apps/meteor/client/lib/appLayout.tsx b/apps/meteor/client/lib/appLayout.tsx index 845db4148b3f3..0f2fc6920b729 100644 --- a/apps/meteor/client/lib/appLayout.tsx +++ b/apps/meteor/client/lib/appLayout.tsx @@ -1,5 +1,5 @@ import { Emitter } from '@rocket.chat/emitter'; -import type { ReactElement } from 'react'; +import type { ReactNode } from 'react'; import { lazy } from 'react'; const ConnectionStatusBar = lazy(() => import('../components/connectionStatus/ConnectionStatusBar')); @@ -9,25 +9,23 @@ const ActionManagerBusyState = lazy(() => import('../components/ActionManagerBus const AppLayoutThemeWrapper = lazy(() => import('../components/AppLayoutThemeWrapper')); const CloudAnnouncementsRegion = lazy(() => import('../views/cloud/CloudAnnouncementsRegion')); -type AppLayoutDescriptor = ReactElement | null; - class AppLayoutSubscription extends Emitter<{ update: void }> { - private descriptor: AppLayoutDescriptor = null; + private descriptor: ReactNode = null; - getSnapshot = (): AppLayoutDescriptor => this.descriptor; + getSnapshot = (): ReactNode => this.descriptor; subscribe = (onStoreChange: () => void): (() => void) => this.on('update', onStoreChange); - setCurrentValue(descriptor: AppLayoutDescriptor): void { + setCurrentValue(descriptor: ReactNode): void { this.descriptor = descriptor; this.emit('update'); } - render(element: ReactElement): void { + render(element: ReactNode): void { this.setCurrentValue(element); } - wrap(element: ReactElement): ReactElement { + wrap(element: ReactNode): ReactNode { return ( diff --git a/apps/meteor/client/lib/createSidebarItems.ts b/apps/meteor/client/lib/createSidebarItems.ts index d8541620aa203..868a2ed6d6768 100644 --- a/apps/meteor/client/lib/createSidebarItems.ts +++ b/apps/meteor/client/lib/createSidebarItems.ts @@ -1,6 +1,6 @@ import type { Keys as IconName } from '@rocket.chat/icons'; import type { LocationPathname } from '@rocket.chat/ui-contexts'; -import type { ReactElement } from 'react'; +import type { ReactNode } from 'react'; import { GO_ROCKET_CHAT_PREFIX } from './links'; @@ -13,7 +13,7 @@ export type Item = { pathSection?: string; name?: string; externalUrl?: boolean; - badge?: () => ReactElement; + badge?: () => ReactNode; }; export type SidebarDivider = { divider: boolean; i18nLabel: string }; export type SidebarItem = Item | SidebarDivider; diff --git a/apps/meteor/client/lib/normalizeThreadMessage.tsx b/apps/meteor/client/lib/normalizeThreadMessage.tsx index 7f13803d2f80a..067a23f6aedfe 100644 --- a/apps/meteor/client/lib/normalizeThreadMessage.tsx +++ b/apps/meteor/client/lib/normalizeThreadMessage.tsx @@ -1,12 +1,11 @@ import type { IMessage } from '@rocket.chat/core-typings'; import { Markup } from '@rocket.chat/gazzodown'; import { parse } from '@rocket.chat/message-parser'; -import type { ReactElement } from 'react'; import { filterMarkdown } from '../../app/markdown/lib/markdown'; import GazzodownText from '../components/GazzodownText'; -export function normalizeThreadMessage({ ...message }: Readonly>): ReactElement | null { +export function normalizeThreadMessage({ ...message }: Readonly>) { if (message.msg) { message.msg = filterMarkdown(message.msg); delete message.mentions;