[Perf] Emoji Tooltip: Some optimizations

This commit is contained in:
Alexander Zinchuk 2021-07-15 03:02:48 +03:00
parent db8c183a25
commit 02c91fb760

View File

@ -4,6 +4,7 @@ import {
import { EDITABLE_INPUT_ID } from '../../../../config'; import { EDITABLE_INPUT_ID } from '../../../../config';
import { IS_SINGLE_COLUMN_LAYOUT } from '../../../../util/environment'; import { IS_SINGLE_COLUMN_LAYOUT } from '../../../../util/environment';
import { MEMO_EMPTY_ARRAY } from '../../../../util/memo';
import { import {
EmojiData, EmojiModule, EmojiRawData, uncompressEmoji, EmojiData, EmojiModule, EmojiRawData, uncompressEmoji,
} from '../../../../util/emoji'; } from '../../../../util/emoji';
@ -47,7 +48,7 @@ export default function useEmojiTooltip(
const [byName, setByName] = useState<Record<string, Emoji[]>>({}); const [byName, setByName] = useState<Record<string, Emoji[]>>({});
const [shouldForceInsertEmoji, setShouldForceInsertEmoji] = useState(false); const [shouldForceInsertEmoji, setShouldForceInsertEmoji] = useState(false);
const [filteredEmojis, setFilteredEmojis] = useState<Emoji[]>([]); const [filteredEmojis, setFilteredEmojis] = useState<Emoji[]>(MEMO_EMPTY_ARRAY);
const recentEmojis = useMemo( const recentEmojis = useMemo(
() => { () => {
@ -118,9 +119,9 @@ export default function useEmojiTooltip(
return; return;
} }
const code = getEmojiCode(html); const code = html.includes(':') && getEmojiCode(html);
if (!code) { if (!code) {
setFilteredEmojis([]); setFilteredEmojis(MEMO_EMPTY_ARRAY);
unmarkIsOpen(); unmarkIsOpen();
return; return;
} }