aboutsummaryrefslogtreecommitdiff
path: root/src/emojiPlugin.tsx
diff options
context:
space:
mode:
Diffstat (limited to 'src/emojiPlugin.tsx')
-rw-r--r--src/emojiPlugin.tsx36
1 files changed, 19 insertions, 17 deletions
diff --git a/src/emojiPlugin.tsx b/src/emojiPlugin.tsx
index a408ed7..e23ac37 100644
--- a/src/emojiPlugin.tsx
+++ b/src/emojiPlugin.tsx
@@ -16,26 +16,28 @@ const emojiPlugin = (emojiFileNames: string[]) => () => {
const emoji = match[0]?.replaceAll(':', '') || '';
const src = emojiFileNames.find(fileName => fileName.match(`${emoji}.*`));
- const beforeNode = {
- type: 'text',
- value: text.slice(0, match.index),
- }
-
- const emojiNode = {
- type: 'element',
- tagName: 'emoji',
- children: [{
+ if (src) {
+ const beforeNode = {
type: 'text',
- value: src,
- }],
- }
+ value: text.slice(0, match.index),
+ }
+
+ const emojiNode = {
+ type: 'element',
+ tagName: 'emoji',
+ children: [{
+ type: 'text',
+ value: src,
+ }],
+ }
+
+ const afterNode = {
+ type: 'text',
+ value: text.slice(match.index + emoji?.length + 2),
+ }
- const afterNode = {
- type: 'text',
- value: text.slice(match.index + emoji?.length + 2),
+ parent.children.splice(nodeIndex, 1, ...[beforeNode, emojiNode, afterNode])
}
-
- parent.children.splice(nodeIndex, 1, ...[beforeNode, emojiNode, afterNode])
}
}