diff --git a/package.json b/package.json index d5b2b4e3..68ed34f6 100755 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "frankerfacez", "author": "Dan Salvato LLC", - "version": "4.30.1", + "version": "4.31.0", "description": "FrankerFaceZ is a Twitch enhancement suite.", "private": true, "license": "Apache-2.0", diff --git a/src/modules/chat/badges.jsx b/src/modules/chat/badges.jsx index 4d0c5dd2..1ca672b4 100644 --- a/src/modules/chat/badges.jsx +++ b/src/modules/chat/badges.jsx @@ -412,50 +412,17 @@ export default class Badges extends Module { tip.add_class = 'ffz__tooltip--badges'; const show_previews = this.parent.context.get('tooltip.badge-images'); - let container = target.parentElement.parentElement; - if ( ! container.dataset.roomId ) - container = target.closest('[data-room-id]'); + const ds = this.getBadgeData(target); - const room_id = container?.dataset?.roomId, - room_login = container?.dataset?.room, - out = []; + const out = []; - let data; - if ( target.dataset.badgeData ) - data = JSON.parse(target.dataset.badgeData); - else { - const badge_idx = target.dataset.badgeIdx; - let message; - - if ( container.message ) - message = container.message; - else { - const fine = this.resolve('site.fine'); - - if ( fine ) { - message = container[fine.accessor]?.return?.stateNode?.props?.message; - if ( ! message ) - message = fine.searchParent(container, n => n.props?.message)?.props?.message; - if ( ! message ) - message = fine.searchParent(container, n => n.props?.node)?.props?.node?._ffz_message; - if ( ! message ) - message = fine.searchParent(container, n => n.props?.messageContext)?.props?.messageContext?.comment?._ffz_message; - } - } - - if ( message?._ffz_message) - message = message._ffz_message; - if ( message ) - data = message.ffz_badge_cache?.[badge_idx]?.[1]?.badges; - } - - if ( data == null ) + if ( ds.data == null ) return out; - for(const d of data) { + for(const d of ds.data) { const p = d.provider; if ( p === 'twitch' ) { - const bd = this.getTwitchBadge(d.badge, d.version, room_id, room_login), + const bd = this.getTwitchBadge(d.badge, d.version, ds.room_id, ds.room_login), global_badge = this.getTwitchBadge(d.badge, d.version, null, null, true) || {}; if ( ! bd ) continue; @@ -489,14 +456,6 @@ export default class Badges extends Module { {title} ); - /*out.push(e('div', {className: 'ffz-badge-tip'}, [ - show_previews && e('img', { - className: 'preview-image ffz-badge', - src: bd.image4x - }), - bd.title - ]));*/ - } else if ( p === 'ffz' ) { out.push(