From e5273b7a0997f19c122156d6fc8ace635cd8d14e Mon Sep 17 00:00:00 2001
From: ubermanu <e.vodor@gmail.com>
Date: Tue, 16 Mar 2021 22:29:41 +0100
Subject: [PATCH] remove duplicate code

---
 src/plugins/sib-reactions.js | 42 +-----------------------------------
 1 file changed, 1 insertion(+), 41 deletions(-)

diff --git a/src/plugins/sib-reactions.js b/src/plugins/sib-reactions.js
index 80d73ce..1d9ceba 100644
--- a/src/plugins/sib-reactions.js
+++ b/src/plugins/sib-reactions.js
@@ -308,47 +308,7 @@ converse.plugins.add('sib-reactions', {
     api.listen.on('getMessageActionButtons', (el, buttons) => {
       buttons.push({
         'i18n_text': __('React'),
-        'handler': () => {
-          const picker = new Picker();
-          el.appendChild(picker);
-
-          picker.addEventListener('emoji-click', function(e) {
-            const emoji = e.detail.unicode;
-            const emojis = getUserReactionEmojis(el.model);
-
-            // TODO: If it has the reaction from this user already, remove it? (config)
-            if (emojis?.includes(emoji)) {
-              console.warn('The emoji is already in the list', emoji, emojis);
-              picker.remove();
-              return;
-            }
-
-            emojis.push(emoji);
-            picker.remove();
-
-            sendReactionStanza(el.model, emojis);
-          });
-
-          // Focus the search input when the picker opens
-          const emojiSearch = picker.shadowRoot?.querySelector('.search');
-          emojiSearch?.focus();
-
-          // Close the picker if the ESC key is pressed
-          picker.addEventListener('keydown', ev => {
-            if (ev.key === 'Escape') {
-              picker.remove();
-            }
-          });
-
-          // Close the picker if clicked outside of it
-          setTimeout(() => {
-            document.addEventListener('click', ev => {
-              if (!picker.shadowRoot.contains(ev.composedPath()[0])) {
-                picker.remove();
-              }
-            });
-          });
-        },
+        'handler': ev => MessageMixin.openEmojiPicker.call(el, ev),
         'button_class': 'chat-msg__action-react',
         'icon_class': 'fa fa-smile',
         'name': 'react',
-- 
GitLab