1
0
Fork 0
mirror of https://github.com/FrankerFaceZ/FrankerFaceZ.git synced 2025-08-24 15:00:56 +00:00
* Added: Link Cards. As an option, you can open a preview card when clicking on links in chat. These preview cards function similarly to the existing tool-tip or rich embed options but can provide for enhanced interaction (e.g. an embedded video player), with potential for more in the future.
* Changed: When using a custom theme with a dark background, use lighter border colors.
* Changed: Draw the FFZ Control Center and other dialogs with rounded corners.
* Fixed: Issue when clicking certain global Twitch emotes preventing the emote card from appearing correctly.
* Fixed: Issue with URL/safety data not being loaded correctly from the link service when the overall result was an error.
* Fixed: Issue with link tool-tips still appearing, but with no content, when link tool-tips are disabled.
* Fixed: Issue where (re)subscription notices in chat for multiple-month-at-once subscriptions would not be displayed correctly.
* Fixed: Tool-tips not displaying correctly in chat pop-outs in some circumstances.
* Fixed: Incorrect border styles when the chat is in portrait mode.
* Experiment Added: Set up an MQTT-based PubSub system. Let's see how well this scales.
This commit is contained in:
SirStendec 2023-09-26 17:40:25 -04:00
parent d01f66c6f3
commit 98e5373e9a
36 changed files with 1554 additions and 92 deletions

View file

@ -165,21 +165,31 @@ export default class ChatLine extends Module {
const user = msg.user,
plan = msg.sub_plan || {},
tier = SUB_TIERS[plan.plan] || 1;
tier = SUB_TIERS[plan.plan] || 1,
multi = msg.sub_multi,
const sub_msg = this.i18n.tList('chat.sub.main', '{user} subscribed {plan}. ', {
user: e('span', {
role: 'button',
className: 'chatter-name',
onClick: inst.ffz_user_click_handler,
onContextMenu: this.actions.handleUserContext
}, e('span', {
className: 'tw-c-text-base tw-strong'
}, user.displayName)),
plan: plan.prime ?
this.i18n.t('chat.sub.twitch-prime', 'with Prime Gaming') :
this.i18n.t('chat.sub.plan', 'at Tier {tier}', {tier})
});
has_multi = (multi?.count ?? 0) > 1 && multi.tenure === 0;
const sub_msg = this.i18n.tList(
`chat.sub.main${has_multi ? '-multi' : ''}`,
`{user} subscribed {plan}${has_multi ? ' for {multi, plural, one {# month} other {# months}} in advance' : ''}. `,
{
user: e('span', {
role: 'button',
className: 'chatter-name',
onClick: inst.ffz_user_click_handler,
onContextMenu: this.actions.handleUserContext
}, e('span', {
className: 'tw-c-text-base tw-strong'
}, user.displayName)),
plan: plan.prime ?
this.i18n.t('chat.sub.twitch-prime', 'with Prime Gaming') :
this.i18n.t('chat.sub.plan', 'at Tier {tier}', {tier}),
multi: has_multi
? multi.count
: 1
}
);
if ( msg.sub_share_streak && msg.sub_streak > 1 ) {
sub_msg.push(this.i18n.t(