diff --git a/package.json b/package.json index 467bac84..3efd6d34 100755 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "frankerfacez", "author": "Dan Salvato LLC", - "version": "4.20.66", + "version": "4.20.67", "description": "FrankerFaceZ is a Twitch enhancement suite.", "license": "Apache-2.0", "scripts": { diff --git a/src/modules/chat/badges.jsx b/src/modules/chat/badges.jsx index 1c589554..9b91426c 100644 --- a/src/modules/chat/badges.jsx +++ b/src/modules/chat/badges.jsx @@ -162,7 +162,7 @@ export function generateBadgeCSS(badge, version, data, style, is_dark, badge_ver image, image_set, svg - })}`; + })}${data.css || ''}`; } @@ -464,8 +464,11 @@ export default class Badges extends Module { if ( ! container.dataset.roomId ) container = target.closest('[data-room-id]'); - const room_id = container?.dataset?.roomId, - room_login = container?.dataset?.room, + const ds = container?.dataset, + room_id = ds?.roomId, + room_login = ds?.room, + user_id = ds?.userId, + user_login = ds?.user, data = JSON.parse(target.dataset.badgeData); if ( data == null ) @@ -494,6 +497,11 @@ export default class Badges extends Module { } else if ( p === 'ffz' ) { const badge = this.badges[target.dataset.badge]; + if ( badge?.click_handler ) { + url = badge.click_handler(user_id, user_login, room_id, room_login, data, event); + break; + } + if ( badge?.click_url ) { url = badge.click_url; break; diff --git a/src/modules/main_menu/components/profile-manager.vue b/src/modules/main_menu/components/profile-manager.vue index 296a1913..bb993877 100644 --- a/src/modules/main_menu/components/profile-manager.vue +++ b/src/modules/main_menu/components/profile-manager.vue @@ -1,5 +1,40 @@