diff --git a/src/main.js b/src/main.js
index 35f5f591..8533de44 100644
--- a/src/main.js
+++ b/src/main.js
@@ -149,7 +149,7 @@ ${typeof x[1] === 'string' ? x[1] : JSON.stringify(x[1], null, 4)}`
FrankerFaceZ.Logger = Logger;
const VER = FrankerFaceZ.version_info = {
- major: 4, minor: 0, revision: 0, extra: '-rc13.14',
+ major: 4, minor: 0, revision: 0, extra: '-rc13.15',
commit: __git_commit__,
build: __webpack_hash__,
toString: () =>
diff --git a/src/modules/chat/tokenizers.jsx b/src/modules/chat/tokenizers.jsx
index d00adae0..d515bd25 100644
--- a/src/modules/chat/tokenizers.jsx
+++ b/src/modules/chat/tokenizers.jsx
@@ -10,7 +10,7 @@ import {has, split_chars} from 'utilities/object';
import {TWITCH_EMOTE_BASE, REPLACEMENT_BASE, REPLACEMENTS} from 'utilities/constants';
-const EMOTE_CLASS = 'chat-line__message--emote',
+const EMOTE_CLASS = 'chat-image chat-line__message--emote',
LINK_REGEX = /([^\w@#%\-+=:~])?((?:(https?:\/\/)?(?:[\w@#%\-+=:~]+\.)+[a-z]{2,6}(?:\/[\w./@#%&()\-+=:?~]*)?))([^\w./@#%&()\-+=:?~]|\s|$)/g,
MENTION_REGEX = /([^\w@#%\-+=:~])?(@([^\u0000-\u007F]+|\w+)+)([^\w./@#%&()\-+=:?~]|\s|$)/g; // eslint-disable-line no-control-regex
@@ -595,7 +595,7 @@ export const CheerEmotes = {
// Addon Emotes
// ============================================================================
-const render_emote = (token, createElement) => {
+const render_emote = (token, createElement, wrapped) => {
const mods = token.modifiers || [], ml = mods.length,
emote = createElement('img', {
class: `${EMOTE_CLASS} ffz-tooltip${token.provider === 'ffz' ? ' ffz-emote' : token.provider === 'emoji' ? ' ffz-emoji' : ''}`,
@@ -614,17 +614,26 @@ const render_emote = (token, createElement) => {
}
});
- if ( ! ml )
- return emote;
+ if ( ! ml ) {
+ if ( wrapped )
+ return emote;
+
+ return createElement('span', {
+ attrs: {
+ 'data-a-target': 'emote-name'
+ }
+ }, [emote]);
+ }
return createElement('span', {
class: `${EMOTE_CLASS} modified-emote`,
attrs: {
+ 'data-a-target': 'emote-name',
'data-provider': token.provider,
'data-id': token.id,
'data-set': token.set
}
- }, [emote, mods.map(x => createElement('span', {key: x.text}, render_emote(x, createElement)))])
+ }, [emote, mods.map(x => createElement('span', {key: x.text}, render_emote(x, createElement, true)))])
}
@@ -639,7 +648,7 @@ export const AddonEmotes = {
}
},
- render(token, createElement) {
+ render(token, createElement, wrapped) {
const mods = token.modifiers || [], ml = mods.length,
emote = (
);
- if ( ! ml )
- return emote;
+ if ( ! ml ) {
+ if ( wrapped )
+ return emote;
+
+ return ({emote});
+ }
return ( event.ctrlKey ? this.usernameClickHandler(event) : t.viewer_cards.openCard(r, user, event);
+ this.ffz_user_click_handler = this.openViewerCard || this.usernameClickHandler; //event => event.ctrlKey ? this.usernameClickHandler(event) : t.viewer_cards.openCard(r, user, event);
let cls = `chat-line__message${show_class ? ' ffz--deleted-message' : ''}`,
out = (tokens.length || ! msg.ffz_type) ? [