Skip to content
Snippets Groups Projects
Unverified Commit b79fff54 authored by Martin Schoeler's avatar Martin Schoeler Committed by GitHub
Browse files

refactor: remove meteor startup & autorun from emojione (#34989)

parent 2921a6aa
No related branches found
No related tags found
No related merge requests found
import { useUserPreference } from '@rocket.chat/ui-contexts';
import { useEffect } from 'react';
import { emoji } from '../../../emoji/client';
import { getEmojiConfig } from '../../lib/getEmojiConfig';
import { isSetNotNull } from '../../lib/isSetNotNull';
const config = getEmojiConfig();
export const useEmojiOne = () => {
const convertAsciiToEmoji = useUserPreference<boolean>('convertAsciiEmoji', true);
emoji.packages.emojione = config.emojione as any;
if (emoji.packages.emojione) {
emoji.packages.emojione.sprites = config.sprites;
emoji.packages.emojione.emojisByCategory = config.emojisByCategory;
emoji.packages.emojione.emojiCategories = config.emojiCategories as any;
emoji.packages.emojione.toneList = config.toneList;
emoji.packages.emojione.render = config.render;
emoji.packages.emojione.renderPicker = config.renderPicker;
// RocketChat.emoji.list is the collection of emojis from all emoji packages
for (const [key, currentEmoji] of Object.entries(config.emojione.emojioneList)) {
currentEmoji.emojiPackage = 'emojione';
emoji.list[key] = currentEmoji;
if (currentEmoji.shortnames) {
currentEmoji.shortnames.forEach((shortname: string) => {
emoji.list[shortname] = currentEmoji;
});
}
}
}
useEffect(() => {
if (emoji.packages.emojione) {
// Additional settings -- ascii emojis
const ascii = async (): Promise<void> => {
if ((await isSetNotNull(() => emoji.packages.emojione)) && emoji.packages.emojione) {
if (typeof convertAsciiToEmoji === 'boolean') {
emoji.packages.emojione.ascii = convertAsciiToEmoji;
} else {
emoji.packages.emojione.ascii = true;
}
}
};
void ascii();
}
}, [convertAsciiToEmoji]);
};
import './lib';
import './emojione-sprites.css';
import { Meteor } from 'meteor/meteor';
import { emoji } from '../../emoji/client';
import { getUserPreference } from '../../utils/client';
import { getEmojiConfig } from '../lib/getEmojiConfig';
import { isSetNotNull } from '../lib/isSetNotNull';
const config = getEmojiConfig();
emoji.packages.emojione = config.emojione as any;
if (emoji.packages.emojione) {
emoji.packages.emojione.sprites = config.sprites;
emoji.packages.emojione.emojisByCategory = config.emojisByCategory;
emoji.packages.emojione.emojiCategories = config.emojiCategories as any;
emoji.packages.emojione.toneList = config.toneList;
emoji.packages.emojione.render = config.render;
emoji.packages.emojione.renderPicker = config.renderPicker;
// RocketChat.emoji.list is the collection of emojis from all emoji packages
for (const [key, currentEmoji] of Object.entries(config.emojione.emojioneList)) {
currentEmoji.emojiPackage = 'emojione';
emoji.list[key] = currentEmoji;
if (currentEmoji.shortnames) {
currentEmoji.shortnames.forEach((shortname: string) => {
emoji.list[shortname] = currentEmoji;
});
}
}
// Additional settings -- ascii emojis
Meteor.startup(() => {
Tracker.autorun(async () => {
if ((await isSetNotNull(() => emoji.packages.emojione)) && emoji.packages.emojione) {
if (await isSetNotNull(() => getUserPreference(Meteor.userId() as string, 'convertAsciiEmoji'))) {
emoji.packages.emojione.ascii = await getUserPreference(Meteor.userId() as string, 'convertAsciiEmoji');
} else {
emoji.packages.emojione.ascii = true;
}
}
});
});
}
......@@ -9,6 +9,7 @@ import { useSettingsOnLoadSiteUrl } from './hooks/useSettingsOnLoadSiteUrl';
import { useAnalytics } from '../../../app/analytics/client/loadScript';
import { useDolphin } from '../../../app/dolphin/client/hooks/useDolphin';
import { useDrupal } from '../../../app/drupal/client/hooks/useDrupal';
import { useEmojiOne } from '../../../app/emoji-emojione/client/hooks/useEmojiOne';
import { useGitHubEnterpriseAuth } from '../../../app/github-enterprise/client/hooks/useGitHubEnterpriseAuth';
import { useGitLabAuth } from '../../../app/gitlab/client/hooks/useGitLabAuth';
import { useLivechatEnterprise } from '../../../app/livechat-enterprise/hooks/useLivechatEnterprise';
......@@ -35,6 +36,7 @@ const AppLayout = () => {
useAnalyticsEventTracking();
useLoadRoomForAllowedAnonymousRead();
useNotifyUser();
useEmojiOne();
useRedirectToSetupWizard();
useSettingsOnLoadSiteUrl();
useLivechatEnterprise();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment