diff --git a/apps/meteor/app/autotranslate/client/lib/actionButton.ts b/apps/meteor/app/autotranslate/client/lib/actionButton.ts deleted file mode 100644 index 4b12d7ec0017e..0000000000000 --- a/apps/meteor/app/autotranslate/client/lib/actionButton.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { AutoTranslate } from './autotranslate'; - -AutoTranslate.init(); diff --git a/apps/meteor/app/emoji/lib/rocketchat.ts b/apps/meteor/app/emoji/lib/rocketchat.ts index a72da9a1e88c6..07c5df1aa3c11 100644 --- a/apps/meteor/app/emoji/lib/rocketchat.ts +++ b/apps/meteor/app/emoji/lib/rocketchat.ts @@ -1,6 +1,6 @@ import type { TranslationKey } from '@rocket.chat/ui-contexts'; -export type EmojiPackage = { +type EmojiPackage = { emojiCategories: Array<{ key: string; i18n: TranslationKey }>; categoryIndex?: number; emojisByCategory: Record; @@ -15,34 +15,32 @@ export type EmojiPackage = { }; export type EmojiPackages = { - packages: { - [key: string]: EmojiPackage; - }; - list: { - [key: keyof NonNullable]: - | { - name?: string; - category: string; - emojiPackage: string; - shortnames: string[]; - uc_base: string; - uc_greedy: string; - uc_match: string; - uc_output: string; - aliases?: string[]; - aliasOf?: undefined; - extension?: string; - etag?: string; - unicode?: string; - } - | { - name?: undefined; - emojiPackage: string; - aliasOf: string; - extension?: undefined; - aliases?: undefined; - shortnames?: undefined; - etag?: string; - }; - }; + packages: Record; + list: Record< + string, + | { + name?: string; + category: string; + emojiPackage: string; + shortnames: string[]; + uc_base: string; + uc_greedy: string; + uc_match: string; + uc_output: string; + aliases?: string[]; + aliasOf?: undefined; + extension?: string; + etag?: string; + unicode?: string; + } + | { + name?: undefined; + emojiPackage: string; + aliasOf: string; + extension?: undefined; + aliases?: undefined; + shortnames?: undefined; + etag?: string; + } + >; }; diff --git a/apps/meteor/app/livechat-enterprise/client/views/livechatSideNavItems.ts b/apps/meteor/app/livechat-enterprise/client/views/livechatSideNavItems.ts index 6d9d9f31e24c7..2e811ad462bf3 100644 --- a/apps/meteor/app/livechat-enterprise/client/views/livechatSideNavItems.ts +++ b/apps/meteor/app/livechat-enterprise/client/views/livechatSideNavItems.ts @@ -1,5 +1,5 @@ +import { hasPermission, hasAtLeastOnePermission } from '../../../../client/lib/authorization'; import { registerOmnichannelSidebarItem } from '../../../../client/views/omnichannel/sidebarItems'; -import { hasPermission, hasAtLeastOnePermission } from '../../../authorization/client'; registerOmnichannelSidebarItem({ href: '/omnichannel/reports', diff --git a/apps/meteor/app/reactions/client/methods/setReaction.ts b/apps/meteor/app/reactions/client/methods/setReaction.ts index 093fdd9ea2b0c..a1e1000bd224e 100644 --- a/apps/meteor/app/reactions/client/methods/setReaction.ts +++ b/apps/meteor/app/reactions/client/methods/setReaction.ts @@ -1,9 +1,9 @@ import type { IMessage } from '@rocket.chat/core-typings'; +import { emoji } from '../../../../client/lib/emoji'; import { roomCoordinator } from '../../../../client/lib/rooms/roomCoordinator'; import { getUser, getUserId } from '../../../../client/lib/user'; import { Rooms, Subscriptions, Messages } from '../../../../client/stores'; -import { emoji } from '../../../emoji/client'; export const runOptimisticSetReaction = (reaction: string, messageId: IMessage['_id']): void => { if (!getUserId()) { diff --git a/apps/meteor/app/slashcommands-topic/client/topic.ts b/apps/meteor/app/slashcommands-topic/client/topic.ts index f28dddcafd9fb..95c3702439528 100644 --- a/apps/meteor/app/slashcommands-topic/client/topic.ts +++ b/apps/meteor/app/slashcommands-topic/client/topic.ts @@ -1,9 +1,9 @@ import type { SlashCommandCallbackParams } from '@rocket.chat/core-typings'; import { clientCallbacks } from '@rocket.chat/ui-client'; +import { hasPermission } from '../../../client/lib/authorization'; import { dispatchToastMessage } from '../../../client/lib/toast'; import { Rooms } from '../../../client/stores'; -import { hasPermission } from '../../authorization/client'; import { sdk } from '../../utils/client/lib/SDKClient'; import { slashCommands } from '../../utils/client/slashCommand'; diff --git a/apps/meteor/client/apps/orchestrator.ts b/apps/meteor/client/apps/orchestrator.ts index e376211b8260a..23b8dd619c2a3 100644 --- a/apps/meteor/client/apps/orchestrator.ts +++ b/apps/meteor/client/apps/orchestrator.ts @@ -6,8 +6,8 @@ import type { Serialized } from '@rocket.chat/core-typings'; import type { IAppExternalURL, ICategory } from './@types/IOrchestrator'; import { RealAppsEngineUIHost } from './RealAppsEngineUIHost'; -import { hasAtLeastOnePermission } from '../../app/authorization/client'; import { sdk } from '../../app/utils/client/lib/SDKClient'; +import { hasAtLeastOnePermission } from '../lib/authorization'; import { dispatchToastMessage } from '../lib/toast'; import type { App } from '../views/marketplace/types'; @@ -51,7 +51,7 @@ class AppClientOrchestrator { if ('apps' in result) { // TODO: chapter day: multiple results are returned, but we only need one - return result.apps as App[]; + return result.apps; } throw new Error('Invalid response from API'); } @@ -74,7 +74,7 @@ class AppClientOrchestrator { return { apps: [], error: 'Invalid response from API' }; } - const apps = (result as App[]).map((app: App) => { + const apps = result.map((app: App) => { const { latest, appRequestStats, price, pricingPlans, purchaseType, isEnterpriseOnly, modifiedAt, bundledIn, requestedEndUser } = app; return { ...latest, @@ -174,7 +174,7 @@ class AppClientOrchestrator { if (Array.isArray(result)) { // TODO: chapter day: multiple results are returned, but we only need one - return result as Serialized[]; + return result; } throw new Error('Failed to get categories'); } diff --git a/apps/meteor/client/components/MarkdownText.spec.tsx b/apps/meteor/client/components/MarkdownText.spec.tsx index d49005026f4dc..6310941b4ec0c 100644 --- a/apps/meteor/client/components/MarkdownText.spec.tsx +++ b/apps/meteor/client/components/MarkdownText.spec.tsx @@ -4,7 +4,7 @@ import dompurify from 'dompurify'; import MarkdownText, { supportedURISchemes } from './MarkdownText'; import '@testing-library/jest-dom'; -import { emoji } from '../../app/emoji/client/lib'; +import { emoji } from '../lib/emoji/lib'; import { getMarkdownParserLimit } from '../lib/getMarkdownParserLimit'; jest.mock('../lib/getMarkdownParserLimit'); diff --git a/apps/meteor/client/components/message/toolbar/useTranslateAction.ts b/apps/meteor/client/components/message/toolbar/useTranslateAction.ts index 30e7c5a929bda..f3f2441331040 100644 --- a/apps/meteor/client/components/message/toolbar/useTranslateAction.ts +++ b/apps/meteor/client/components/message/toolbar/useTranslateAction.ts @@ -2,8 +2,8 @@ import type { IMessage, ISubscription, IRoom } from '@rocket.chat/core-typings'; import { useEndpoint, usePermission, useSetting, useUser } from '@rocket.chat/ui-contexts'; import { useMemo } from 'react'; -import { AutoTranslate } from '../../../../app/autotranslate/client'; import type { MessageActionConfig } from '../../../../app/ui-utils/client/lib/MessageAction'; +import { AutoTranslate } from '../../../lib/autotranslate'; import { roomCoordinator } from '../../../lib/rooms/roomCoordinator'; import { Messages } from '../../../stores'; import { hasTranslationLanguageInAttachments, hasTranslationLanguageInMessage } from '../../../views/room/MessageList/lib/autoTranslate'; diff --git a/apps/meteor/client/components/message/toolbar/useViewOriginalTranslationAction.ts b/apps/meteor/client/components/message/toolbar/useViewOriginalTranslationAction.ts index b8958becaadc2..8b3eee6b04a4b 100644 --- a/apps/meteor/client/components/message/toolbar/useViewOriginalTranslationAction.ts +++ b/apps/meteor/client/components/message/toolbar/useViewOriginalTranslationAction.ts @@ -2,8 +2,8 @@ import type { IMessage, IRoom, ISubscription } from '@rocket.chat/core-typings'; import { useEndpoint, usePermission, useSetting, useUser } from '@rocket.chat/ui-contexts'; import { useMemo } from 'react'; -import { AutoTranslate } from '../../../../app/autotranslate/client'; import type { MessageActionConfig } from '../../../../app/ui-utils/client/lib/MessageAction'; +import { AutoTranslate } from '../../../lib/autotranslate'; import { roomCoordinator } from '../../../lib/rooms/roomCoordinator'; import { Messages } from '../../../stores'; import { hasTranslationLanguageInAttachments, hasTranslationLanguageInMessage } from '../../../views/room/MessageList/lib/autoTranslate'; diff --git a/apps/meteor/client/contexts/EmojiPickerContext.ts b/apps/meteor/client/contexts/EmojiPickerContext.ts index f8af547a25b36..d272155357810 100644 --- a/apps/meteor/client/contexts/EmojiPickerContext.ts +++ b/apps/meteor/client/contexts/EmojiPickerContext.ts @@ -1,6 +1,6 @@ import { createContext, useContext, useMemo } from 'react'; -import type { EmojiPickerItem, CategoriesIndexes } from '../../app/emoji/client'; +import type { EmojiPickerItem, CategoriesIndexes } from '../lib/emoji'; type EmojiPickerContextValue = { open: (ref: Element, callback: (emoji: string) => void) => void; diff --git a/apps/meteor/client/importPackages.ts b/apps/meteor/client/importPackages.ts index f6ebd11417721..be7223a4c61ca 100644 --- a/apps/meteor/client/importPackages.ts +++ b/apps/meteor/client/importPackages.ts @@ -1,6 +1,3 @@ -import '../app/authorization/client'; -import '../app/autotranslate/client'; -import '../app/emoji/client'; import '../app/gitlab/client'; import '../app/license/client'; import '../app/lib/client'; diff --git a/apps/meteor/app/authorization/client/hasPermission.ts b/apps/meteor/client/lib/authorization/hasPermission.ts similarity index 100% rename from apps/meteor/app/authorization/client/hasPermission.ts rename to apps/meteor/client/lib/authorization/hasPermission.ts diff --git a/apps/meteor/app/authorization/client/hasRole.ts b/apps/meteor/client/lib/authorization/hasRole.ts similarity index 100% rename from apps/meteor/app/authorization/client/hasRole.ts rename to apps/meteor/client/lib/authorization/hasRole.ts diff --git a/apps/meteor/app/authorization/client/index.ts b/apps/meteor/client/lib/authorization/index.ts similarity index 100% rename from apps/meteor/app/authorization/client/index.ts rename to apps/meteor/client/lib/authorization/index.ts diff --git a/apps/meteor/app/authorization/client/liveAuthorizationFunctions.ts b/apps/meteor/client/lib/authorization/liveAuthorizationFunctions.ts similarity index 76% rename from apps/meteor/app/authorization/client/liveAuthorizationFunctions.ts rename to apps/meteor/client/lib/authorization/liveAuthorizationFunctions.ts index db1981a884a9f..df8a18de0f064 100644 --- a/apps/meteor/app/authorization/client/liveAuthorizationFunctions.ts +++ b/apps/meteor/client/lib/authorization/liveAuthorizationFunctions.ts @@ -1,8 +1,8 @@ -import { PermissionsCachedStore } from '../../../client/cachedStores'; -import { userIdStore } from '../../../client/lib/user'; -import { Permissions, Roles, Subscriptions, Users } from '../../../client/stores'; -import type { AuthorizationDeps } from '../lib/createAuthorizationFunctions'; -import { createAuthorizationFunctions } from '../lib/createAuthorizationFunctions'; +import type { AuthorizationDeps } from '../../../app/authorization/lib/createAuthorizationFunctions'; +import { createAuthorizationFunctions } from '../../../app/authorization/lib/createAuthorizationFunctions'; +import { PermissionsCachedStore } from '../../cachedStores'; +import { Permissions, Roles, Subscriptions, Users } from '../../stores'; +import { userIdStore } from '../user'; // Bind the pure factory to live zustand store accessors. Each accessor reads // fresh state on every call, so non-React callers (services, lib code, startup diff --git a/apps/meteor/app/autotranslate/client/lib/autotranslate.ts b/apps/meteor/client/lib/autotranslate/autotranslate.ts similarity index 90% rename from apps/meteor/app/autotranslate/client/lib/autotranslate.ts rename to apps/meteor/client/lib/autotranslate/autotranslate.ts index d3207b9205930..1b941017c6896 100644 --- a/apps/meteor/app/autotranslate/client/lib/autotranslate.ts +++ b/apps/meteor/client/lib/autotranslate/autotranslate.ts @@ -2,16 +2,13 @@ import type { IRoom, ISubscription, ISupportedLanguage, ITranslatedMessage, Mess import { isTranslatedMessageAttachment } from '@rocket.chat/core-typings'; import mem from 'mem'; -import { PermissionsCachedStore } from '../../../../client/cachedStores'; -import { settings } from '../../../../client/lib/settings'; -import { getUserId, userIdStore } from '../../../../client/lib/user'; -import { Messages, Subscriptions, Users } from '../../../../client/stores'; -import { - hasTranslationLanguageInAttachments, - hasTranslationLanguageInMessage, -} from '../../../../client/views/room/MessageList/lib/autoTranslate'; -import { hasPermission } from '../../../authorization/client'; -import { sdk } from '../../../utils/client/lib/SDKClient'; +import { sdk } from '../../../app/utils/client/lib/SDKClient'; +import { PermissionsCachedStore } from '../../cachedStores'; +import { Messages, Subscriptions, Users } from '../../stores'; +import { hasTranslationLanguageInAttachments, hasTranslationLanguageInMessage } from '../../views/room/MessageList/lib/autoTranslate'; +import { hasPermission } from '../authorization'; +import { settings } from '../settings'; +import { getUserId, userIdStore } from '../user'; let userLanguage = 'en'; let username = ''; diff --git a/apps/meteor/app/autotranslate/client/index.ts b/apps/meteor/client/lib/autotranslate/index.ts similarity index 51% rename from apps/meteor/app/autotranslate/client/index.ts rename to apps/meteor/client/lib/autotranslate/index.ts index 9cd1038ce86ac..ccfebad9c94cd 100644 --- a/apps/meteor/app/autotranslate/client/index.ts +++ b/apps/meteor/client/lib/autotranslate/index.ts @@ -1,3 +1 @@ -import './lib/actionButton'; - -export { AutoTranslate, createAutoTranslateMessageStreamHandler } from './lib/autotranslate'; +export { AutoTranslate, createAutoTranslateMessageStreamHandler } from './autotranslate'; diff --git a/apps/meteor/client/lib/chats/data.ts b/apps/meteor/client/lib/chats/data.ts index 484e665ec6241..ca6c4944e061c 100644 --- a/apps/meteor/client/lib/chats/data.ts +++ b/apps/meteor/client/lib/chats/data.ts @@ -4,9 +4,9 @@ import { Random } from '@rocket.chat/random'; import { differenceInMinutes } from 'date-fns'; import type { DataAPI } from './ChatAPI'; -import { hasAtLeastOnePermission, hasPermission } from '../../../app/authorization/client'; import { sdk } from '../../../app/utils/client/lib/SDKClient'; import { Messages, Rooms, Subscriptions } from '../../stores'; +import { hasAtLeastOnePermission, hasPermission } from '../authorization'; import { settings } from '../settings'; import { getUserId } from '../user'; import { mapMessageFromApi } from '../utils/mapMessageFromApi'; @@ -165,7 +165,7 @@ export const createDataAPI = ({ rid, tmid }: { rid: IRoom['_id']; tmid: IMessage }; const pushEphemeralMessage = async (message: Omit): Promise => { - const fullMessage = { ...message, rid, ...(tmid && { tmid }) } as IMessage; + const fullMessage = { ...message, rid, ...(tmid && { tmid }) }; Messages.state.store(fullMessage); if (tmid) { diff --git a/apps/meteor/client/lib/chats/flows/processSetReaction.ts b/apps/meteor/client/lib/chats/flows/processSetReaction.ts index 9d5507c761df2..12001f2b39dc8 100644 --- a/apps/meteor/client/lib/chats/flows/processSetReaction.ts +++ b/apps/meteor/client/lib/chats/flows/processSetReaction.ts @@ -1,8 +1,8 @@ import type { IMessage } from '@rocket.chat/core-typings'; -import { emoji } from '../../../../app/emoji/client'; import { runOptimisticSetReaction } from '../../../../app/reactions/client/methods/setReaction'; import { sdk } from '../../../../app/utils/client/lib/SDKClient'; +import { emoji } from '../../emoji'; import { dispatchToastMessage } from '../../toast'; import type { ChatAPI } from '../ChatAPI'; diff --git a/apps/meteor/client/lib/chats/flows/processSlashCommand.ts b/apps/meteor/client/lib/chats/flows/processSlashCommand.ts index c2d4c3bce6ed4..25b0b92c00c07 100644 --- a/apps/meteor/client/lib/chats/flows/processSlashCommand.ts +++ b/apps/meteor/client/lib/chats/flows/processSlashCommand.ts @@ -2,10 +2,10 @@ import type { IMessage, SlashCommand } from '@rocket.chat/core-typings'; import { Random } from '@rocket.chat/random'; import { escapeHTML } from '@rocket.chat/tools'; -import { hasAtLeastOnePermission } from '../../../../app/authorization/client'; import { slashCommands } from '../../../../app/utils/client'; import { sdk } from '../../../../app/utils/client/lib/SDKClient'; import { t } from '../../../../app/utils/lib/i18n'; +import { hasAtLeastOnePermission } from '../../authorization'; import { settings } from '../../settings'; import type { ChatAPI } from '../ChatAPI'; diff --git a/apps/meteor/client/lib/customEmoji.ts b/apps/meteor/client/lib/customEmoji.ts index 777d1e16de916..4a9fff45c67e2 100644 --- a/apps/meteor/client/lib/customEmoji.ts +++ b/apps/meteor/client/lib/customEmoji.ts @@ -1,7 +1,7 @@ import type { IEmoji } from '@rocket.chat/core-typings'; import { escapeRegExp } from '@rocket.chat/tools'; -import { emoji, removeFromRecent, replaceEmojiInRecent } from '../../app/emoji/client'; +import { emoji, removeFromRecent, replaceEmojiInRecent } from './emoji'; import { getURL } from '../../app/utils/client'; const isSetNotNull = (fn: () => unknown) => { diff --git a/apps/meteor/app/emoji/client/emojiParser.ts b/apps/meteor/client/lib/emoji/emojiParser.ts similarity index 100% rename from apps/meteor/app/emoji/client/emojiParser.ts rename to apps/meteor/client/lib/emoji/emojiParser.ts diff --git a/apps/meteor/app/emoji/client/helpers.ts b/apps/meteor/client/lib/emoji/helpers.ts similarity index 100% rename from apps/meteor/app/emoji/client/helpers.ts rename to apps/meteor/client/lib/emoji/helpers.ts diff --git a/apps/meteor/app/emoji/client/index.ts b/apps/meteor/client/lib/emoji/index.ts similarity index 100% rename from apps/meteor/app/emoji/client/index.ts rename to apps/meteor/client/lib/emoji/index.ts diff --git a/apps/meteor/app/emoji/client/lib.ts b/apps/meteor/client/lib/emoji/lib.ts similarity index 91% rename from apps/meteor/app/emoji/client/lib.ts rename to apps/meteor/client/lib/emoji/lib.ts index 688ef40d8b652..fbefe228a2e59 100644 --- a/apps/meteor/app/emoji/client/lib.ts +++ b/apps/meteor/client/lib/emoji/lib.ts @@ -1,6 +1,6 @@ import { Emitter } from '@rocket.chat/emitter'; -import type { EmojiPackages } from '../lib/rocketchat'; +import type { EmojiPackages } from '../../../app/emoji/lib/rocketchat'; export const emojiEmitter = new Emitter<{ updated: void }>(); diff --git a/apps/meteor/app/emoji/client/types.ts b/apps/meteor/client/lib/emoji/types.ts similarity index 100% rename from apps/meteor/app/emoji/client/types.ts rename to apps/meteor/client/lib/emoji/types.ts diff --git a/apps/meteor/client/lib/rooms/roomCoordinator.tsx b/apps/meteor/client/lib/rooms/roomCoordinator.tsx index 63830a296630e..c43a4f37dee5b 100644 --- a/apps/meteor/client/lib/rooms/roomCoordinator.tsx +++ b/apps/meteor/client/lib/rooms/roomCoordinator.tsx @@ -1,7 +1,6 @@ import type { IRoom, RoomType, IUser, AtLeast, ValueOf, ISubscription } from '@rocket.chat/core-typings'; import type { RouteName } from '@rocket.chat/ui-contexts'; -import { hasPermission } from '../../../app/authorization/client'; import type { RoomSettingsEnum, RoomMemberActions, @@ -18,6 +17,7 @@ import RoomRoute from '../../views/room/RoomRoute'; import MainLayout from '../../views/root/MainLayout'; import { absoluteUrl } from '../absoluteUrl'; import { appLayout } from '../appLayout'; +import { hasPermission } from '../authorization'; class RoomCoordinatorClient extends RoomCoordinator { public add(roomConfig: IRoomTypeClientConfig, directives: Partial): void { diff --git a/apps/meteor/client/lib/utils/detectEmoji.ts b/apps/meteor/client/lib/utils/detectEmoji.ts index 13861279859b7..7b97f7536145a 100644 --- a/apps/meteor/client/lib/utils/detectEmoji.ts +++ b/apps/meteor/client/lib/utils/detectEmoji.ts @@ -1,4 +1,4 @@ -import { emoji } from '../../../app/emoji/client'; +import { emoji } from '../emoji'; export const detectEmoji = (text: string): { name: string; className: string; image?: string; content: string }[] => { const html = Object.values(emoji.packages) diff --git a/apps/meteor/client/lib/utils/renderEmoji.ts b/apps/meteor/client/lib/utils/renderEmoji.ts index 0dc4530def98e..4d0785f709887 100644 --- a/apps/meteor/client/lib/utils/renderEmoji.ts +++ b/apps/meteor/client/lib/utils/renderEmoji.ts @@ -1,4 +1,4 @@ -import { emoji } from '../../../app/emoji/client/lib'; +import { emoji } from '../emoji/lib'; const emojiList = emoji.list as Record; const emojiPackages = emoji.packages as Record; diff --git a/apps/meteor/client/lib/utils/renderMessageEmoji.ts b/apps/meteor/client/lib/utils/renderMessageEmoji.ts index 644187605ae7b..fcb9f7676c974 100644 --- a/apps/meteor/client/lib/utils/renderMessageEmoji.ts +++ b/apps/meteor/client/lib/utils/renderMessageEmoji.ts @@ -1,3 +1,3 @@ -import { emojiParser } from '../../../app/emoji/client/emojiParser'; +import { emojiParser } from '../emoji/emojiParser'; export const renderMessageEmoji = (html: string) => emojiParser(html); diff --git a/apps/meteor/client/providers/EmojiPickerProvider/EmojiPickerProvider.spec.tsx b/apps/meteor/client/providers/EmojiPickerProvider/EmojiPickerProvider.spec.tsx index 5c16e1f8353db..2de93c92a6389 100644 --- a/apps/meteor/client/providers/EmojiPickerProvider/EmojiPickerProvider.spec.tsx +++ b/apps/meteor/client/providers/EmojiPickerProvider/EmojiPickerProvider.spec.tsx @@ -15,7 +15,7 @@ jest.mock('@rocket.chat/fuselage-hooks', () => { }; }); -jest.mock('../../../app/emoji/client', () => ({ +jest.mock('../../lib/emoji', () => ({ emoji: { packages: { base: { emojisByCategory: { recent: [] } } } }, getFrequentEmoji: jest.fn(() => []), createEmojiListByCategorySubscription: jest.fn(() => { diff --git a/apps/meteor/client/providers/EmojiPickerProvider/EmojiPickerProvider.tsx b/apps/meteor/client/providers/EmojiPickerProvider/EmojiPickerProvider.tsx index a0cf63bbf683d..5c48c44c5215e 100644 --- a/apps/meteor/client/providers/EmojiPickerProvider/EmojiPickerProvider.tsx +++ b/apps/meteor/client/providers/EmojiPickerProvider/EmojiPickerProvider.tsx @@ -3,8 +3,8 @@ import type { ReactNode, ContextType } from 'react'; import { useState, useCallback, useMemo, useSyncExternalStore } from 'react'; import { useUpdateCustomEmoji } from './useUpdateCustomEmoji'; -import { emoji, getFrequentEmoji, createEmojiListByCategorySubscription } from '../../../app/emoji/client'; import { EmojiPickerContext } from '../../contexts/EmojiPickerContext'; +import { emoji, getFrequentEmoji, createEmojiListByCategorySubscription } from '../../lib/emoji'; import EmojiPicker from '../../views/composer/EmojiPicker'; const DEFAULT_ITEMS_LIMIT = 90; @@ -44,7 +44,9 @@ const EmojiPickerProvider = ({ children }: EmojiPickerProviderProps) => { const sortedFrequent = [...empty, ...frequentEmojis] .map(([emojiName, count]) => { - return (emojiName === emoji ? [emojiName, Math.min(count + 5, 100)] : [emojiName, Math.max(count - 1, 0)]) as [string, number]; + return emojiName === emoji + ? ([emojiName, Math.min(count + 5, 100)] as [string, number]) + : ([emojiName, Math.max(count - 1, 0)] as [string, number]); }) .sort(([, frequentA], [, frequentB]) => frequentB - frequentA); @@ -59,7 +61,7 @@ const EmojiPickerProvider = ({ children }: EmojiPickerProviderProps) => { addFrequentEmojis(_emoji); const recent = recentEmojis || []; - const pos = recent.indexOf(_emoji as never); + const pos = recent.indexOf(_emoji); if (pos !== -1) { recent.splice(pos, 1); diff --git a/apps/meteor/client/startup/audit.tsx b/apps/meteor/client/startup/audit.tsx index adda9f1477473..99af6ec2a7854 100644 --- a/apps/meteor/client/startup/audit.tsx +++ b/apps/meteor/client/startup/audit.tsx @@ -1,8 +1,8 @@ import type { ReactNode } from 'react'; import { lazy } from 'react'; -import { hasAllPermission } from '../../app/authorization/client'; import { appLayout } from '../lib/appLayout'; +import { hasAllPermission } from '../lib/authorization'; import { onToggledFeature } from '../lib/onToggledFeature'; import { router } from '../providers/RouterProvider'; import SettingsProvider from '../providers/SettingsProvider'; diff --git a/apps/meteor/client/startup/streamMessage/autotranslate.ts b/apps/meteor/client/startup/streamMessage/autotranslate.ts index 98913a16191db..110a1a99272be 100644 --- a/apps/meteor/client/startup/streamMessage/autotranslate.ts +++ b/apps/meteor/client/startup/streamMessage/autotranslate.ts @@ -1,7 +1,7 @@ import { clientCallbacks } from '@rocket.chat/ui-client'; -import { hasPermission } from '../../../app/authorization/client'; import { PermissionsCachedStore } from '../../cachedStores'; +import { hasPermission } from '../../lib/authorization'; import { settings } from '../../lib/settings'; import { Users } from '../../stores'; @@ -15,7 +15,7 @@ const applyAutoTranslateStreamHandler = () => { return; } - void import('../../../app/autotranslate/client').then(({ createAutoTranslateMessageStreamHandler }) => { + void import('../../lib/autotranslate').then(({ createAutoTranslateMessageStreamHandler }) => { const streamMessage = createAutoTranslateMessageStreamHandler(); clientCallbacks.remove('streamMessage', STREAM_HANDLER_ID); clientCallbacks.add('streamMessage', streamMessage, clientCallbacks.priority.HIGH - 3, STREAM_HANDLER_ID); diff --git a/apps/meteor/client/views/account/sidebarItems.tsx b/apps/meteor/client/views/account/sidebarItems.tsx index 14b06bbf04b81..fe2323a39bc64 100644 --- a/apps/meteor/client/views/account/sidebarItems.tsx +++ b/apps/meteor/client/views/account/sidebarItems.tsx @@ -1,6 +1,6 @@ import { defaultFeaturesPreview, FeaturePreviewBadge } from '@rocket.chat/ui-client'; -import { hasPermission, hasAtLeastOnePermission } from '../../../app/authorization/client'; +import { hasPermission, hasAtLeastOnePermission } from '../../lib/authorization'; import { createSidebarItems } from '../../lib/createSidebarItems'; import { settings } from '../../lib/settings'; diff --git a/apps/meteor/client/views/admin/sidebarItems.ts b/apps/meteor/client/views/admin/sidebarItems.ts index 4b1e35db68359..58f907c5f02c3 100644 --- a/apps/meteor/client/views/admin/sidebarItems.ts +++ b/apps/meteor/client/views/admin/sidebarItems.ts @@ -1,6 +1,6 @@ import { defaultFeaturesPreview } from '@rocket.chat/ui-client'; -import { hasPermission, hasAtLeastOnePermission, hasAllPermission } from '../../../app/authorization/client'; +import { hasPermission, hasAtLeastOnePermission, hasAllPermission } from '../../lib/authorization'; import { createSidebarItems } from '../../lib/createSidebarItems'; export const { diff --git a/apps/meteor/client/views/composer/EmojiPicker/CategoriesResult.tsx b/apps/meteor/client/views/composer/EmojiPicker/CategoriesResult.tsx index 2fc31475f569d..a1a259f99689f 100644 --- a/apps/meteor/client/views/composer/EmojiPicker/CategoriesResult.tsx +++ b/apps/meteor/client/views/composer/EmojiPicker/CategoriesResult.tsx @@ -7,7 +7,7 @@ import type { ListRange, VirtuosoHandle } from 'react-virtuoso'; import { Virtuoso } from 'react-virtuoso'; import EmojiCategoryRow from './EmojiCategoryRow'; -import type { EmojiPickerItem } from '../../../../app/emoji/client'; +import type { EmojiPickerItem } from '../../../lib/emoji'; export type CategoriesResultProps = { items: EmojiPickerItem[]; diff --git a/apps/meteor/client/views/composer/EmojiPicker/EmojiCategoryRow.tsx b/apps/meteor/client/views/composer/EmojiPicker/EmojiCategoryRow.tsx index 6b1378dd3b6ae..c7bb8127771ca 100644 --- a/apps/meteor/client/views/composer/EmojiPicker/EmojiCategoryRow.tsx +++ b/apps/meteor/client/views/composer/EmojiPicker/EmojiCategoryRow.tsx @@ -5,8 +5,8 @@ import { memo, type MouseEvent } from 'react'; import { useTranslation } from 'react-i18next'; import EmojiElement from './EmojiElement'; -import { isRowDivider, isLoadMore, CUSTOM_CATEGORY, CUSTOM_CATEGORY_CLASSNAME } from '../../../../app/emoji/client'; -import type { EmojiPickerItem } from '../../../../app/emoji/client'; +import { isRowDivider, isLoadMore, CUSTOM_CATEGORY, CUSTOM_CATEGORY_CLASSNAME } from '../../../lib/emoji'; +import type { EmojiPickerItem } from '../../../lib/emoji'; export type EmojiCategoryRowProps = { customItemsLimit: number; diff --git a/apps/meteor/client/views/composer/EmojiPicker/EmojiElement.tsx b/apps/meteor/client/views/composer/EmojiPicker/EmojiElement.tsx index 709be4581c299..2ad25cff61aad 100644 --- a/apps/meteor/client/views/composer/EmojiPicker/EmojiElement.tsx +++ b/apps/meteor/client/views/composer/EmojiPicker/EmojiElement.tsx @@ -4,8 +4,8 @@ import DOMPurify from 'dompurify'; import type { MouseEvent, AllHTMLAttributes } from 'react'; import { memo } from 'react'; -import type { EmojiItem } from '../../../../app/emoji/client'; import { usePreviewEmoji } from '../../../contexts/EmojiPickerContext'; +import type { EmojiItem } from '../../../lib/emoji'; export type EmojiElementProps = EmojiItem & { small?: boolean; onClick: (e: MouseEvent) => void } & Omit< AllHTMLAttributes, diff --git a/apps/meteor/client/views/composer/EmojiPicker/EmojiPicker.tsx b/apps/meteor/client/views/composer/EmojiPicker/EmojiPicker.tsx index 3919cde8ed9dd..dd33ffc9e1e5a 100644 --- a/apps/meteor/client/views/composer/EmojiPicker/EmojiPicker.tsx +++ b/apps/meteor/client/views/composer/EmojiPicker/EmojiPicker.tsx @@ -19,9 +19,9 @@ import EmojiPickerDropdown from './EmojiPickerDropDown'; import SearchingResult from './SearchingResult'; import ToneSelector from './ToneSelector'; import ToneSelectorWrapper from './ToneSelector/ToneSelectorWrapper'; -import { emoji, getCategoriesList, getEmojisBySearchTerm } from '../../../../app/emoji/client'; -import type { EmojiItem } from '../../../../app/emoji/client'; import { usePreviewEmoji, useEmojiPickerData } from '../../../contexts/EmojiPickerContext'; +import { emoji, getCategoriesList, getEmojisBySearchTerm } from '../../../lib/emoji'; +import type { EmojiItem } from '../../../lib/emoji'; import { useIsVisible } from '../../room/hooks/useIsVisible'; export type EmojiPickerProps = { diff --git a/apps/meteor/client/views/composer/EmojiPicker/EmojiPickerCategoryItem.tsx b/apps/meteor/client/views/composer/EmojiPicker/EmojiPickerCategoryItem.tsx index 06d6ed66320bb..582d248f4867c 100644 --- a/apps/meteor/client/views/composer/EmojiPicker/EmojiPickerCategoryItem.tsx +++ b/apps/meteor/client/views/composer/EmojiPicker/EmojiPickerCategoryItem.tsx @@ -2,7 +2,7 @@ import { IconButton } from '@rocket.chat/fuselage'; import type { AllHTMLAttributes } from 'react'; import { useTranslation } from 'react-i18next'; -import type { EmojiCategory } from '../../../../app/emoji/client'; +import type { EmojiCategory } from '../../../lib/emoji'; export type EmojiPickerCategoryItemProps = { category: EmojiCategory; diff --git a/apps/meteor/client/views/composer/EmojiPicker/SearchingResult.tsx b/apps/meteor/client/views/composer/EmojiPicker/SearchingResult.tsx index 8c1afbd551b22..f70a2832f42b2 100644 --- a/apps/meteor/client/views/composer/EmojiPicker/SearchingResult.tsx +++ b/apps/meteor/client/views/composer/EmojiPicker/SearchingResult.tsx @@ -7,7 +7,7 @@ import { VirtuosoGrid } from 'react-virtuoso'; import EmojiElement from './EmojiElement'; import SearchingResultWrapper from './SearchingResultWrapper'; -import type { EmojiItem } from '../../../../app/emoji/client'; +import type { EmojiItem } from '../../../lib/emoji'; /** * the `SearchingResults` is missing the previous loadMore function that was implemented before on the latest version of EmojiPicker using the Blaze Template. It can't be implemented because of the issue with react-virtuoso and the custom scrollbars, since its using virtual list its not gonna be an issue rendering bigger results for search diff --git a/apps/meteor/client/views/marketplace/sidebarItems.tsx b/apps/meteor/client/views/marketplace/sidebarItems.tsx index 34844f9f26616..73590c5448293 100644 --- a/apps/meteor/client/views/marketplace/sidebarItems.tsx +++ b/apps/meteor/client/views/marketplace/sidebarItems.tsx @@ -1,5 +1,5 @@ import MarketplaceRequestBadge from './components/MarketplaceRequestBadge'; -import { hasAtLeastOnePermission, hasPermission } from '../../../app/authorization/client'; +import { hasAtLeastOnePermission, hasPermission } from '../../lib/authorization'; import { createSidebarItems } from '../../lib/createSidebarItems'; import { links } from '../../lib/links'; diff --git a/apps/meteor/client/views/omnichannel/cannedResponses/components/CannedResponsesComposer/CannedResponsesComposer.spec.tsx b/apps/meteor/client/views/omnichannel/cannedResponses/components/CannedResponsesComposer/CannedResponsesComposer.spec.tsx index d30ea6e67a6a7..4525a0e9b5d32 100644 --- a/apps/meteor/client/views/omnichannel/cannedResponses/components/CannedResponsesComposer/CannedResponsesComposer.spec.tsx +++ b/apps/meteor/client/views/omnichannel/cannedResponses/components/CannedResponsesComposer/CannedResponsesComposer.spec.tsx @@ -2,8 +2,8 @@ import { useUserPreference } from '@rocket.chat/ui-contexts'; import { render, screen } from '@testing-library/react'; import CannedResponsesComposer from './CannedResponsesComposer'; -import { emoji } from '../../../../../../app/emoji/client'; import { useEmojiPicker } from '../../../../../contexts/EmojiPickerContext'; +import { emoji } from '../../../../../lib/emoji'; jest.mock('@rocket.chat/ui-contexts', () => ({ ...jest.requireActual('@rocket.chat/ui-contexts'), diff --git a/apps/meteor/client/views/omnichannel/cannedResponses/components/CannedResponsesComposer/CannedResponsesComposer.tsx b/apps/meteor/client/views/omnichannel/cannedResponses/components/CannedResponsesComposer/CannedResponsesComposer.tsx index 98f15cec3ee34..3de6921b1316c 100644 --- a/apps/meteor/client/views/omnichannel/cannedResponses/components/CannedResponsesComposer/CannedResponsesComposer.tsx +++ b/apps/meteor/client/views/omnichannel/cannedResponses/components/CannedResponsesComposer/CannedResponsesComposer.tsx @@ -13,9 +13,9 @@ import { memo, useCallback, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; import InsertPlaceholderDropdown from './InsertPlaceholderDropdown'; -import { emoji } from '../../../../../../app/emoji/client'; import { Backdrop } from '../../../../../components/Backdrop'; import { useEmojiPicker } from '../../../../../contexts/EmojiPickerContext'; +import { emoji } from '../../../../../lib/emoji'; export type CannedResponsesComposerProps = Omit, 'onChange'> & { onChange: (value: string) => void; diff --git a/apps/meteor/client/views/omnichannel/contactInfo/EditContactInfo.tsx b/apps/meteor/client/views/omnichannel/contactInfo/EditContactInfo.tsx index 1c9d7c92cbb52..8a6fd114ed085 100644 --- a/apps/meteor/client/views/omnichannel/contactInfo/EditContactInfo.tsx +++ b/apps/meteor/client/views/omnichannel/contactInfo/EditContactInfo.tsx @@ -22,9 +22,9 @@ import { useTranslation } from 'react-i18next'; import AdvancedContactModal from './AdvancedContactModal'; import { useCreateContact } from './hooks/useCreateContact'; import { useEditContact } from './hooks/useEditContact'; -import { hasAtLeastOnePermission } from '../../../../app/authorization/client'; import { useFormSubmitWithDirtyCheck } from '../../../hooks/useFormSubmitWithDirtyCheck'; import { useHasLicenseModule } from '../../../hooks/useHasLicenseModule'; +import { hasAtLeastOnePermission } from '../../../lib/authorization'; import { omnichannelQueryKeys } from '../../../lib/queryKeys'; import { ContactManagerInput } from '../additionalForms'; import { useCustomFieldsMetadata } from '../directory/hooks/useCustomFieldsMetadata'; diff --git a/apps/meteor/client/views/omnichannel/directory/chats/ChatInfo/RoomEdit/RoomEdit.tsx b/apps/meteor/client/views/omnichannel/directory/chats/ChatInfo/RoomEdit/RoomEdit.tsx index 3c343d2dd8800..bb2a490011a98 100644 --- a/apps/meteor/client/views/omnichannel/directory/chats/ChatInfo/RoomEdit/RoomEdit.tsx +++ b/apps/meteor/client/views/omnichannel/directory/chats/ChatInfo/RoomEdit/RoomEdit.tsx @@ -6,7 +6,7 @@ import { useQueryClient } from '@tanstack/react-query'; import { useCallback, useId } from 'react'; import { useController, useForm } from 'react-hook-form'; -import { hasAtLeastOnePermission } from '../../../../../../../app/authorization/client'; +import { hasAtLeastOnePermission } from '../../../../../../lib/authorization'; import { roomsQueryKeys } from '../../../../../../lib/queryKeys'; import { SlaPoliciesSelect, PrioritiesSelect } from '../../../../additionalForms'; import Tags from '../../../../components/Tags'; diff --git a/apps/meteor/client/views/omnichannel/sidebarItems.tsx b/apps/meteor/client/views/omnichannel/sidebarItems.tsx index 232e17b627f75..6c76e2de381bb 100644 --- a/apps/meteor/client/views/omnichannel/sidebarItems.tsx +++ b/apps/meteor/client/views/omnichannel/sidebarItems.tsx @@ -1,4 +1,4 @@ -import { hasAtLeastOnePermission, hasPermission } from '../../../app/authorization/client'; +import { hasAtLeastOnePermission, hasPermission } from '../../lib/authorization'; import { createSidebarItems } from '../../lib/createSidebarItems'; export const { diff --git a/apps/meteor/client/views/room/MessageList/hooks/useAutoTranslate.ts b/apps/meteor/client/views/room/MessageList/hooks/useAutoTranslate.ts index 4180dc46d3d1c..c916411d6dc33 100644 --- a/apps/meteor/client/views/room/MessageList/hooks/useAutoTranslate.ts +++ b/apps/meteor/client/views/room/MessageList/hooks/useAutoTranslate.ts @@ -2,7 +2,7 @@ import type { IMessage, ISubscription, ITranslatedMessage } from '@rocket.chat/c import { useSetting } from '@rocket.chat/ui-contexts'; import { useCallback, useMemo } from 'react'; -import { AutoTranslate } from '../../../../../app/autotranslate/client'; +import { AutoTranslate } from '../../../../lib/autotranslate'; import { roomCoordinator } from '../../../../lib/rooms/roomCoordinator'; import { hasTranslationLanguageInAttachments, hasTranslationLanguageInMessage } from '../lib/autoTranslate'; import { isOwnUserMessage } from '../lib/isOwnUserMessage'; diff --git a/apps/meteor/client/views/room/composer/messageBox/MessageBox.tsx b/apps/meteor/client/views/room/composer/messageBox/MessageBox.tsx index e2d10089c0973..b47de0e4d4578 100644 --- a/apps/meteor/client/views/room/composer/messageBox/MessageBox.tsx +++ b/apps/meteor/client/views/room/composer/messageBox/MessageBox.tsx @@ -21,8 +21,10 @@ import MessageBoxFormattingToolbar from './MessageBoxFormattingToolbar'; import MessageBoxHint from './MessageBoxHint'; import MessageBoxReplies from './MessageBoxReplies'; import MessageComposerFiles from './MessageComposerFiles'; +import { useDraft } from './hooks/useDraft'; +import { useMessageBoxAutoFocus } from './hooks/useMessageBoxAutoFocus'; +import { useMessageBoxPlaceholder } from './hooks/useMessageBoxPlaceholder'; import { handleSelectionWrapping } from './wrapSelection'; -import { emoji } from '../../../../../app/emoji/client'; import { createComposerAPI } from '../../../../../app/ui-message/client/messageBox/createComposerAPI'; import type { FormattingButton } from '../../../../../app/ui-message/client/messageBox/messageBoxFormatting'; import { formattingButtons } from '../../../../../app/ui-message/client/messageBox/messageBoxFormatting'; @@ -30,6 +32,7 @@ import { getImageExtensionFromMime } from '../../../../../lib/getImageExtensionF import { useFormatDateAndTime } from '../../../../hooks/useFormatDateAndTime'; import { useIsFederationEnabled } from '../../../../hooks/useIsFederationEnabled'; import type { ComposerAPI } from '../../../../lib/chats/ChatAPI'; +import { emoji } from '../../../../lib/emoji'; import { roomCoordinator } from '../../../../lib/rooms/roomCoordinator'; import { keyCodes } from '../../../../lib/utils/keyCodes'; import { Subscriptions } from '../../../../stores'; @@ -46,9 +49,6 @@ import { useAutoGrow } from '../RoomComposer/hooks/useAutoGrow'; import { useComposerBoxPopup } from '../hooks/useComposerBoxPopup'; import { useEnablePopupPreview } from '../hooks/useEnablePopupPreview'; import { useMessageComposerMergedRefs } from '../hooks/useMessageComposerMergedRefs'; -import { useDraft } from './hooks/useDraft'; -import { useMessageBoxAutoFocus } from './hooks/useMessageBoxAutoFocus'; -import { useMessageBoxPlaceholder } from './hooks/useMessageBoxPlaceholder'; const reducer = (_: unknown, event: ChangeEvent): boolean => { const { target } = event; diff --git a/apps/meteor/client/views/room/contextualBar/Threads/hooks/useNormalizedThreadTitleHtml.spec.ts b/apps/meteor/client/views/room/contextualBar/Threads/hooks/useNormalizedThreadTitleHtml.spec.ts index 2397f82024753..dfa6211448fe6 100644 --- a/apps/meteor/client/views/room/contextualBar/Threads/hooks/useNormalizedThreadTitleHtml.spec.ts +++ b/apps/meteor/client/views/room/contextualBar/Threads/hooks/useNormalizedThreadTitleHtml.spec.ts @@ -9,7 +9,7 @@ jest.mock('../../../../../../app/markdown/lib/markdown', () => ({ filterMarkdown: jest.fn((text: string) => text), })); -jest.mock('../../../../../../app/emoji/client/emojiParser', () => ({ +jest.mock('../../../../../lib/emoji/emojiParser', () => ({ emojiParser: jest.fn((text: string) => text), })); diff --git a/apps/meteor/client/views/room/contextualBar/Threads/hooks/useNormalizedThreadTitleHtml.ts b/apps/meteor/client/views/room/contextualBar/Threads/hooks/useNormalizedThreadTitleHtml.ts index 464ed18141d41..c855e2a246ac8 100644 --- a/apps/meteor/client/views/room/contextualBar/Threads/hooks/useNormalizedThreadTitleHtml.ts +++ b/apps/meteor/client/views/room/contextualBar/Threads/hooks/useNormalizedThreadTitleHtml.ts @@ -5,9 +5,9 @@ import { useUser, useSetting } from '@rocket.chat/ui-contexts'; import { useMemo } from 'react'; import { useTranslation } from 'react-i18next'; -import { emojiParser } from '../../../../../../app/emoji/client/emojiParser'; import { filterMarkdown } from '../../../../../../app/markdown/lib/markdown'; import { MentionsParser } from '../../../../../../app/mentions/lib/MentionsParser'; +import { emojiParser } from '../../../../../lib/emoji/emojiParser'; export const useNormalizedThreadTitleHtml = (mainMessage: IThreadMainMessage) => { const { t } = useTranslation(); diff --git a/apps/meteor/client/views/room/providers/ComposerPopupProvider.tsx b/apps/meteor/client/views/room/providers/ComposerPopupProvider.tsx index 6fd30bf68d293..bad3e022bb960 100644 --- a/apps/meteor/client/views/room/providers/ComposerPopupProvider.tsx +++ b/apps/meteor/client/views/room/providers/ComposerPopupProvider.tsx @@ -9,9 +9,11 @@ import { useMemo, useState } from 'react'; import type { ReactNode } from 'react'; import { useTranslation } from 'react-i18next'; -import { hasAtLeastOnePermission } from '../../../../app/authorization/client'; -import { emoji } from '../../../../app/emoji/client'; import { slashCommands } from '../../../../app/utils/client'; +import { normalizeUsername } from '../../../../lib/utils/normalizeUsername'; +import { hasAtLeastOnePermission } from '../../../lib/authorization'; +import { pipe } from '../../../lib/cachedStores/pipe'; +import { emoji } from '../../../lib/emoji'; import { cannedResponsesQueryKeys } from '../../../lib/queryKeys'; import { Messages, Subscriptions } from '../../../stores'; import ComposerBoxPopupCannedResponse from '../composer/ComposerBoxPopupCannedResponse'; @@ -26,8 +28,6 @@ import type { ComposerBoxPopupUserProps } from '../composer/ComposerBoxPopupUser import type { ComposerPopupContextValue, ComposerPopupOption } from '../contexts/ComposerPopupContext'; import { ComposerPopupContext, createMessageBoxPopupConfig } from '../contexts/ComposerPopupContext'; import useCannedResponsesQuery from './hooks/useCannedResponsesQuery'; -import { normalizeUsername } from '../../../../lib/utils/normalizeUsername'; -import { pipe } from '../../../lib/cachedStores/pipe'; const getToneRegexes = () => { const exactFinalTone = new RegExp('^tone[1-5](?:-[1-5])?:*$'); diff --git a/apps/meteor/client/views/root/hooks/loggedIn/useCustomEmoji.ts b/apps/meteor/client/views/root/hooks/loggedIn/useCustomEmoji.ts index 297e7c8bf6619..ffe36f755985c 100644 --- a/apps/meteor/client/views/root/hooks/loggedIn/useCustomEmoji.ts +++ b/apps/meteor/client/views/root/hooks/loggedIn/useCustomEmoji.ts @@ -2,8 +2,8 @@ import { useEndpoint } from '@rocket.chat/ui-contexts'; import { useQuery } from '@tanstack/react-query'; import { useEffect } from 'react'; -import { emoji } from '../../../../../app/emoji/client'; import { customRender } from '../../../../lib/customEmoji'; +import { emoji } from '../../../../lib/emoji'; export const useCustomEmoji = () => { const getCustomEmojis = useEndpoint('GET', '/v1/emoji-custom.list'); diff --git a/apps/meteor/client/views/root/hooks/useNativeEmoji.ts b/apps/meteor/client/views/root/hooks/useNativeEmoji.ts index 59533074b0596..5d9ffe09b197d 100644 --- a/apps/meteor/client/views/root/hooks/useNativeEmoji.ts +++ b/apps/meteor/client/views/root/hooks/useNativeEmoji.ts @@ -1,9 +1,9 @@ import { useUserPreference } from '@rocket.chat/ui-contexts'; import { useLayoutEffect } from 'react'; -import { emoji } from '../../../../app/emoji/client'; import { getEmojiConfig } from '../../../../app/emoji-native/lib/getEmojiConfig'; import { legacyEmojioneMap } from '../../../../app/emoji-native/lib/legacyEmojioneMap'; +import { emoji } from '../../../lib/emoji'; const config = getEmojiConfig(emoji); diff --git a/apps/meteor/tests/unit/app/emoji/helpers.spec.ts b/apps/meteor/tests/unit/app/emoji/helpers.spec.ts index 734557858b7f3..728e30637b779 100644 --- a/apps/meteor/tests/unit/app/emoji/helpers.spec.ts +++ b/apps/meteor/tests/unit/app/emoji/helpers.spec.ts @@ -1,9 +1,9 @@ import { expect } from 'chai'; import { describe, it, beforeEach, before } from 'mocha'; -import { getEmojisBySearchTerm, updateRecent, removeFromRecent, replaceEmojiInRecent } from '../../../../app/emoji/client/helpers'; -import { emoji } from '../../../../app/emoji/client/lib'; import { getEmojiConfig } from '../../../../app/emoji-native/lib/getEmojiConfig'; +import { getEmojisBySearchTerm, updateRecent, removeFromRecent, replaceEmojiInRecent } from '../../../../client/lib/emoji/helpers'; +import { emoji } from '../../../../client/lib/emoji/lib'; const registerNativeEmojis = () => { const config = getEmojiConfig(emoji);