From 5d1ad8a1837d3c71fd79ea80a552e404136f25ae Mon Sep 17 00:00:00 2001 From: Vipin Chaudhary Date: Wed, 27 Aug 2025 00:39:47 +0530 Subject: [PATCH] [WIKI-550] fix: emoji modal for touch device (#7651) * fix: emoji modal for touch device * refactor: editor from props * fix : update is touch device plugin --- packages/editor/src/core/extensions/emoji/emoji.ts | 6 ++++++ packages/editor/src/core/extensions/emoji/extension.ts | 4 ++-- packages/editor/src/core/extensions/emoji/suggestion.ts | 4 +--- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/editor/src/core/extensions/emoji/emoji.ts b/packages/editor/src/core/extensions/emoji/emoji.ts index 4ad201366..e2fba3fef 100644 --- a/packages/editor/src/core/extensions/emoji/emoji.ts +++ b/packages/editor/src/core/extensions/emoji/emoji.ts @@ -16,7 +16,9 @@ import Suggestion, { SuggestionOptions } from "@tiptap/suggestion"; import emojiRegex from "emoji-regex"; import { isEmojiSupported } from "is-emoji-supported"; // helpers +import { CORE_EXTENSIONS } from "@/constants/extension"; import { customFindSuggestionMatch } from "@/helpers/find-suggestion-match"; +import { getExtensionStorage } from "@/helpers/get-extension-storage"; declare module "@tiptap/core" { interface Commands { @@ -342,6 +344,10 @@ export const Emoji = Node.create({ }, addProseMirrorPlugins() { + const isTouchDevice = !!getExtensionStorage(this.editor, CORE_EXTENSIONS.UTILITY).isTouchDevice; + if (isTouchDevice) { + return []; + } return [ Suggestion({ editor: this.editor, diff --git a/packages/editor/src/core/extensions/emoji/extension.ts b/packages/editor/src/core/extensions/emoji/extension.ts index 7e35038cc..e9f715b31 100644 --- a/packages/editor/src/core/extensions/emoji/extension.ts +++ b/packages/editor/src/core/extensions/emoji/extension.ts @@ -3,7 +3,7 @@ import { gitHubEmojis, shortcodeToEmoji } from "@tiptap/extension-emoji"; import { MarkdownSerializerState } from "@tiptap/pm/markdown"; import { Node as ProseMirrorNode } from "@tiptap/pm/model"; import { Emoji } from "./emoji"; -import suggestion from "./suggestion"; +import { emojiSuggestion } from "./suggestion"; export const EmojiExtension = Emoji.extend({ addStorage() { @@ -25,6 +25,6 @@ export const EmojiExtension = Emoji.extend({ }, }).configure({ emojis: gitHubEmojis, - suggestion: suggestion, + suggestion: emojiSuggestion, enableEmoticons: true, }); diff --git a/packages/editor/src/core/extensions/emoji/suggestion.ts b/packages/editor/src/core/extensions/emoji/suggestion.ts index a0aa91688..ca0ab49ac 100644 --- a/packages/editor/src/core/extensions/emoji/suggestion.ts +++ b/packages/editor/src/core/extensions/emoji/suggestion.ts @@ -10,7 +10,7 @@ import { EmojiItem, EmojiList, EmojiListRef } from "./components/emojis-list"; const DEFAULT_EMOJIS = ["+1", "-1", "smile", "orange_heart", "eyes"]; -const emojiSuggestion: EmojiOptions["suggestion"] = { +export const emojiSuggestion: EmojiOptions["suggestion"] = { items: ({ editor, query }: { editor: Editor; query: string }): EmojiItem[] => { const { emojis } = getExtensionStorage(editor, CORE_EXTENSIONS.EMOJI); const { isSupported } = getExtensionStorage(editor, CORE_EXTENSIONS.EMOJI); @@ -116,5 +116,3 @@ const emojiSuggestion: EmojiOptions["suggestion"] = { }; }, }; - -export default emojiSuggestion;