1
0
Fork 0
mirror of https://github.com/FrankerFaceZ/FrankerFaceZ.git synced 2025-08-03 00:18:31 +00:00

4.0.0-rc13.15

* Fixed: Viewer Cards not opening when clicking usernames in chat. (Twitch renamed the method.)
* Fixed: BetterTTV compatibility regarding BetterTTV's "hat" emotes not appearing positioned correctly. (Fixes #553)
This commit is contained in:
SirStendec 2018-12-11 17:40:02 -05:00
parent f2700db821
commit 9117ac89d2
3 changed files with 24 additions and 10 deletions

View file

@ -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 = (<img
class={`${EMOTE_CLASS} ffz-tooltip${token.provider === 'ffz' ? ' ffz-emote' : token.provider === 'emoji' ? ' ffz-emoji' : ''}`}
@ -657,11 +666,16 @@ export const AddonEmotes = {
onClick={this.emotes.handleClick}
/>);
if ( ! ml )
return emote;
if ( ! ml ) {
if ( wrapped )
return emote;
return (<span data-a-target="emote-name">{emote}</span>);
}
return (<span
class={`${EMOTE_CLASS} modified-emote`}
data-a-target="emote-name"
data-provider={token.provider}
data-id={token.id}
data-set={token.set}