From 8cfbc95821e98a249bfe454414dc7340b9e5ff0d Mon Sep 17 00:00:00 2001 From: SirStendec Date: Mon, 28 Oct 2019 01:06:02 -0400 Subject: [PATCH] 4.15.0 * Added: New appearance type for chat actions that includes both an icon and text. * Changed: The emote menu now displays channel avatars rather than sub badges. * Changed: Emotes unlocked via points or other methods will appear as unlocked on the Channel page of the emote menu, even if you aren't subscribed. * Changed: Display the number of months someone has been subscribed on the Founder badge. (Closes #694) * Removed: Setting to not automatically redirect to Squad Stream pages, as Twitch is no longer doing that. * Fixed: The emote menu now correctly groups emotes with no specific source channel. * Fixed: The emote menu should no longer display sets as `Set #Number`. * Fixed: The emote data module constantly trying to load data for a set that does not exist rather than storing that it does not exist. * Fixed: Cache emote set data from the emote menu for use with tool-tips. * Fixed: Clicking buttons in the FFZ Control Center's header now prevents dragging from starting. * Fixed: Remove several Fine instances that were not resolving to anything useful. * Fixed: Alignment of in-line mod actions. * Behind the Scenes: Started fresh work on custom viewer cards. --- fontello.config.json | 34 ++++ package-lock.json | 7 +- package.json | 4 +- res/font/ffz-fontello.eot | Bin 27428 -> 28556 bytes res/font/ffz-fontello.svg | 6 + res/font/ffz-fontello.ttf | Bin 27244 -> 28372 bytes res/font/ffz-fontello.woff | Bin 17092 -> 17880 bytes res/font/ffz-fontello.woff2 | Bin 14228 -> 14900 bytes .../chat/actions/components/edit-combo.vue | 42 ++++ .../chat/actions/components/preview-combo.vue | 3 + .../chat/actions/components/preview-text.vue | 4 +- src/modules/chat/actions/index.jsx | 2 +- src/modules/chat/actions/renderers.jsx | 28 +++ src/modules/chat/badges.jsx | 7 +- src/modules/chat/emotes.js | 37 +++- src/modules/logviewer/index.js | 2 +- .../main_menu/components/main-menu.vue | 5 +- src/modules/viewer_cards/card.vue | 191 +++++++++++------- src/modules/viewer_cards/get_ban_status.gql | 12 ++ src/modules/viewer_cards/get_card_viewer.gql | 79 ++++++++ src/modules/viewer_cards/get_user_info.gql | 50 ----- src/modules/viewer_cards/index.js | 42 +++- src/sites/twitch-twilight/modules/channel.js | 12 +- .../twitch-twilight/modules/channel_bar.jsx | 7 - .../modules/chat/emote_menu.jsx | 189 +++++++++-------- .../twitch-twilight/modules/chat/line.js | 2 +- .../twitch-twilight/modules/chat/scroller.js | 9 + .../modules/chat/sub_status.gql | 14 -- .../modules/css_tweaks/index.js | 4 +- src/sites/twitch-twilight/modules/layout.js | 27 +-- src/sites/twitch-twilight/styles/chat.scss | 17 ++ .../twitch-twilight/styles/mod_card.scss | 27 +-- src/utilities/ffz-icons.js | 5 +- styles/chat.scss | 4 + styles/fontello/ffz-fontello-codes.scss | 3 + styles/fontello/ffz-fontello-embedded.scss | 15 +- styles/fontello/ffz-fontello-ie7-codes.scss | 3 + styles/fontello/ffz-fontello-ie7.scss | 3 + styles/fontello/ffz-fontello.scss | 17 +- 39 files changed, 610 insertions(+), 303 deletions(-) create mode 100644 src/modules/chat/actions/components/edit-combo.vue create mode 100644 src/modules/chat/actions/components/preview-combo.vue create mode 100644 src/modules/viewer_cards/get_ban_status.gql create mode 100644 src/modules/viewer_cards/get_card_viewer.gql delete mode 100644 src/modules/viewer_cards/get_user_info.gql diff --git a/fontello.config.json b/fontello.config.json index 7ed1fa5a..d2f7c70f 100644 --- a/fontello.config.json +++ b/fontello.config.json @@ -635,6 +635,40 @@ "search": [ "reset player unclicked" ] + }, + { + "uid": "a3d0a62c5abd3e027103287c6702466f", + "css": "whispers", + "code": 59451, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M391.4 650L500 758.6 608.6 650H750V250H250V650H391.4ZM500 900L350 750C310 749.1 269.9 752 230.1 748 178.4 739 144.4 686.4 150 635.7 150.3 503.8 149.3 371.9 150.5 240 154.4 184 210.1 143.7 264.4 150 429.5 150.4 594.8 149.4 760 150.5 816 154.5 856.3 210.1 850 264.4 849.7 396.3 850.7 528.1 849.5 660 845.5 716 789.9 756.4 735.6 750H650L500 900Z", + "width": 1000 + }, + "search": [ + "whispers" + ] + }, + { + "uid": "bc61ebcf2f5d8d08b1e9e62167df7617", + "css": "cake", + "code": 61949, + "src": "fontawesome" + }, + { + "uid": "0048e3bf3ba4e1d92b331a59bec2d3dd", + "css": "channel-points", + "code": 59452, + "src": "custom_icons", + "selected": true, + "svg": { + "path": "M500 300A200 200 0 0 1 700 500H600A100 100 0 0 0 500 400ZM511.7 100.2A400 400 0 0 0 100 500 400 400 0 0 0 900 500 400 400 0 0 0 511.7 100.2ZM508.8 200.1A300 300 0 0 1 800 500 300 300 0 0 1 200 500 300 300 0 0 1 508.8 200.1Z", + "width": 1000 + }, + "search": [ + "channel-points" + ] } ] } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index c0c6f46e..915e8b7f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "frankerfacez", - "version": "4.14.6", + "version": "4.14.12", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -2296,9 +2296,8 @@ } }, "displacejs": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/displacejs/-/displacejs-1.3.2.tgz", - "integrity": "sha512-voRe/da7mfc/yncf0eGnCLB1vwioPHRS6Xv7xoNBXRUJeyq18usqwaxl9WCl5QWVAzEm/lfHxnRmx5w6UBZMkA==" + "version": "github:sirstendec/displace#38306dedc200e980fefe3a9b978700cc6d1f127b", + "from": "github:sirstendec/displace" }, "dns-equal": { "version": "1.0.0", diff --git a/package.json b/package.json index cf2830c9..c09ef69d 100755 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "frankerfacez", "author": "Dan Salvato LLC", - "version": "4.14.12", + "version": "4.15.0", "description": "FrankerFaceZ is a Twitch enhancement suite.", "license": "Apache-2.0", "scripts": { @@ -65,7 +65,7 @@ "@ffz/icu-msgparser": "^1.0.1", "crypto-js": "^3.1.9-1", "dayjs": "^1.8.15", - "displacejs": "^1.2.4", + "displacejs": "github:sirstendec/displace", "emoji-regex": "^8.0.0", "file-saver": "^2.0.1", "graphql": "^14.4.2", diff --git a/res/font/ffz-fontello.eot b/res/font/ffz-fontello.eot index 3f613f2bb93ec666cc68a1649c9643cfa1a0a4fa..679fcdeae6203c3854bef049f06dfe316c94d5f3 100644 GIT binary patch delta 1973 zcma)-Yfu|i6vxlGo83HEb`wZ8fshaaB!L9zBqXT;w>wG_{?RlmA-e*3@w zd(YXMz30y6#5^AQ8ihl<0Y08SA|woa^+E1P`kCSn0N4irgE=)@xV7zzW8|L&5I)S^ zw$~?ocJXO|o8F*#-_3;y^`Rq=4U<0yP*#}8&J<|eO8ym6)5NYjZvNtj?^WvF1<-eP zGN0Y2ka_Du9xbJRP}LzG2l4Zq$zM2o&q>}p~i+PrOZURf~~^HE8#|GGG?o@ zIfMRsA=rw^czZI%oUw${%Zv`iD6wEY9#qvwE{PXrWlyXs(8gmC{W15+bJOmK!XYv; zgYT*;K6a^aVHP>#+Cc7f?!USFPGvMhClZ#=aQCxCFo73haA3o!^1e*E4S;7ne~bLl>v!4>`uk0M3aeRBHkVh1OrC0PQ`8%jDlbD@%9wM-x4EZ ziR~RtV*eAjb|>Q_TRz`15>LisL!)Y6Z%;7T6zW}ne0^`IsV#F03na!8O&u6vSKcz) zuWEr>hPrcXB)&S!nnP>X9n(U!oc^xDKxFRd6>(RQr>)w_EpVG443n@A9)u_1p7efu z1+yx$VwKhMGG>-dve~2x2F6TiVyHSQZJaEL7S6I%i>XmTe#?| ziYPvpy)q_#pRF+K?|v~M`97hS|-^g zyUQjkG^r9v zT2dEQt`s)C8g6a&SgXZ~3ZG+B__Cqp|8s(D*5>BU^b3X>?qD^)Rqp&9$~gKg0ep7O z_3A%b`gI_Q!==#R@3>G>hK5Qzh92*JuBx-@&FWTnjr%3{y!&F!OP(6fLtdqJb?v+_ z>ie{Af8C$;zWTcxQVl;f4hD7x*9Z3pPXsT8CRhGkhUXHQ4vrqWXY>UDGdPSRbKbG{ z(0Tjhj+sJ!&y19t%uY||ceNCD@0i{@Q~Ghs8Qze~PUTCljc+g_;PNuaM|vvfYPa&@ E-)j53NdN!< delta 844 zcmX|#nV_Zik`2ttGJH()!&4WPQxZmSyOV3jF0}X39Ugl>b5i#11ABrve>rSN_7A@eoB2RnnYMN>3oHK5L^w>4gFH9h)&`9J{UwR2R6b215%

#OR$@MDZw84vjlefiv*SQlmvU}pAuBjGZIt-v2+Rc(dH$>0AC?i zD!~Do2@-%W6>E{;5bctnhHjUjmVPJ!UoIAv;4uA5f+O^A369bW67XluWo}PY-0T=V zA;EF_odostdkOf}<~~Sxds~z5m1ra7CFxqSQ*SWGM}XDP&a|axLyC2a^=7Uk wH=gIWRokxGBDQ$Gm)R1(#i?C8Q?6&aXU&haK+CvL9j$LwtGiZfcUw*W0NGmc6#xJL diff --git a/res/font/ffz-fontello.svg b/res/font/ffz-fontello.svg index ecd8ffa5..07bd45d2 100644 --- a/res/font/ffz-fontello.svg +++ b/res/font/ffz-fontello.svg @@ -124,6 +124,10 @@ + + + + @@ -166,6 +170,8 @@ + + diff --git a/res/font/ffz-fontello.ttf b/res/font/ffz-fontello.ttf index 33b335c8d8d96f934a33b3793c147e8d0fd7e26e..987a77ed75d481ddbcedff349b00d0bf0b8cace4 100644 GIT binary patch delta 1959 zcma)-U2qds6vxlKo84^E?QRm1O-hYw(iW2@>DV?+p&$xqi?pOIErbwSDO;lD z%aI{|!2`442R)PCaH)y~L)U*cR@lJ2ifK{k(Yry@eQyTC9>fajBg?fERz2QT`9?$C{mJG0kwy8lOb`78IH-nXvdtw?ARfX1 zy@wE{6HlFB4GeLV0>i*+Re?#d7{K5!s;(-NOL)xX%oaT>2dnMzh`G{i4|siCpn=4r zP4NV^M`Ct2)!SsfNCQ5yPf=dHDcqQlT#+(=BTMqc8*v`LH0BJ+3?URv@8^m_4&BV% zm>`UPi9d5Db7$`9Qz_M8eZu@%<{3H-Jh&kOPpvpr+LcN+09{q(ak>=fINeHTauJ@fnnIQTo70z+JrzbnU2R3g6R|EZxQ%Yh0+WHY z2T9mXY`!MHZ-HN=HmhB>%i(w|9*Z^w`~klntzEY2IX&l9eY7b-$zQSlb+Jt?wLg)&vYHK=|9bML0Q`?w&nEGSuVzn(KMDKohqFYe|)eL3J zy8dW$n%31US$aebRdc%Aay_BRE6q_yp2e-&!b~x%AqXR|8=iw#;ECj3tA(0mNj6DJ zX$dt*yky`NPDd$EcuEx80y86tf|22=#BV6qvy2Wu5d``dI;bq$Q_eDKw+k{>{^5xi zp5OQEp2v3WR7Quhn=%{I8`cjEt{do2^{nZ7;J$nFi#ys{qfHIEw@4}oElPT4Mjq-sYJAjR)<-V(OD}U z)hl#7Et%ev)28)3wwlHzmwABfEvr!am;pBx2 zCebAl-e?p>lSvdycq0)^r6v&%h?68yGw+S^I!OzVSdIv;Vyw}KU2WJUjMgV^6t4uS zeLvVx=Q1r6EEbP#b?}zKl4v)p;odBHhbe$rL$+V7Stnkz1N!k+Ic_f}r_ zd3=voC8~a{?)7g8EDP)n91Gm687cnN^iA$v+rr>OKj=Tfkre48{gayqz99BpBM*(| pvX6|5nUVC^SaxfDZrej++s6xc4W4Cnne=G3Fh96ra@A0U@GoxbxETNd delta 836 zcmX| z;RN7n3n=P*`|4fBQlN^_U~X^OPhS1 zx4lQjNI9Elf!Zm*M`=&bR8IqqJ2`&H&kj>qe~fW*ey%?d>?!!<+W5{6CK6XVyV{hz zwOx5U%STRl8Blsu@!qTfmwOo7ZYTjyS*2&4@i3rUSG&4{#r5VTz|C0yO1USZ)>}twH$mhak8Zq7VAbRso&D+rn z7mHn!;2f<;P)&D8P(weHfG-$}N^qY3E5QYNS%Qo7ngsk|am$fp#m(yIhy<7DFA~(# zUnSs|i+_{w_Igc^ioz=;Md{(XM!mtBcsu58Nh@1Is-A}cW+J;6{##R<4hxqy-n67W zaXYmYcVB5_PkBaR#zaQcvfVOaEwnz&+?Q3I70s^7p11YyO|c)e59T;?61jdym7~`& o=1AmunJxKkT;a*)Qa#h@TAqjBv`h(YSoy4VwAO@Qx7yAB0MR-1cmMzZ diff --git a/res/font/ffz-fontello.woff b/res/font/ffz-fontello.woff index 997fba360935b8cce042ad54993cf372b9fc1adc..9ca90fdb8fedf915bcbdbd74d23482a3152745d9 100644 GIT binary patch delta 15750 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 Ce;~>L delta 14957 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 diff --git a/res/font/ffz-fontello.woff2 b/res/font/ffz-fontello.woff2 index 0971425a760ecb599c214273e91c0651c7773156..39df3502a0a83b060b13c41a29cbaed07fc2da3a 100644 GIT binary patch literal 14900 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 literal 14228 zcmV;FH*3guPew8T0RR9105_BX4*&oF0BURi05>=Q0RR9100000000000000000000 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 diff --git a/src/modules/chat/actions/components/edit-combo.vue b/src/modules/chat/actions/components/edit-combo.vue new file mode 100644 index 00000000..91b03c25 --- /dev/null +++ b/src/modules/chat/actions/components/edit-combo.vue @@ -0,0 +1,42 @@ + + + \ No newline at end of file diff --git a/src/modules/chat/actions/components/preview-combo.vue b/src/modules/chat/actions/components/preview-combo.vue new file mode 100644 index 00000000..2d6569e2 --- /dev/null +++ b/src/modules/chat/actions/components/preview-combo.vue @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/src/modules/chat/actions/components/preview-text.vue b/src/modules/chat/actions/components/preview-text.vue index 2f6aef43..04df4429 100644 --- a/src/modules/chat/actions/components/preview-text.vue +++ b/src/modules/chat/actions/components/preview-text.vue @@ -1,5 +1,3 @@ \ No newline at end of file diff --git a/src/modules/chat/actions/index.jsx b/src/modules/chat/actions/index.jsx index 485c3691..ee655ddc 100644 --- a/src/modules/chat/actions/index.jsx +++ b/src/modules/chat/actions/index.jsx @@ -177,7 +177,7 @@ export default class Actions extends Module { default: [ {v: {action: 'friend'}}, - {v: {action: 'whisper', appearance: {type: 'text', text: 'Whisper', button: true}}}, + {v: {action: 'whisper', appearance: {type: 'combo', icon: '', text: 'Whisper', button: true}}}, {v: {type: 'space'}}, {v: {action: 'card_menu'}}, {v: {type: 'new-line'}}, diff --git a/src/modules/chat/actions/renderers.jsx b/src/modules/chat/actions/renderers.jsx index 159cec37..2a3c95d1 100644 --- a/src/modules/chat/actions/renderers.jsx +++ b/src/modules/chat/actions/renderers.jsx @@ -48,6 +48,34 @@ export const icon = { } +// ============================================================================ +// Text + Icon +// ============================================================================ + +export const combo = { + title: 'Text and Icon', + title_i18n: 'setting.actions.appearance.combo', + + colored: true, + editor: () => import(/* webpackChunkName: 'main-menu' */ './components/edit-combo.vue'), + + load(data) { + if ( data.icon && data.icon.startsWith('ffz-fa') ) + loadFontAwesome(); + + return true; + }, + + component: () => import(/* webpackChunkName: 'main-menu' */ './components/preview-combo.vue'), + + render(data, createElement, color) { + return ( + {data.text} + ) + } +} + + // ============================================================================ // Image // ============================================================================ diff --git a/src/modules/chat/badges.jsx b/src/modules/chat/badges.jsx index bb9e1923..c0bb0a5c 100644 --- a/src/modules/chat/badges.jsx +++ b/src/modules/chat/badges.jsx @@ -288,6 +288,11 @@ export default class Badges extends Module { title, count: d.data }); + } else if ( d.badge === 'founder' ) { + title = this.i18n.t('badges.founder.months', '{title}\n(Subscribed for {count,number} Month{count,en_plural})', { + title, + count: d.data + }); } } @@ -371,7 +376,7 @@ export default class Badges extends Module { else slot = last_slot++; - const data = dynamic_data[badge_id], + const data = dynamic_data[badge_id] || (badge_id === 'founder' && dynamic_data['subscriber']), urls = badge_id === 'moderator' && custom_mod && room && room.data && room.data.mod_urls, badges = []; diff --git a/src/modules/chat/emotes.js b/src/modules/chat/emotes.js index 1b1c8ce7..6f906a02 100644 --- a/src/modules/chat/emotes.js +++ b/src/modules/chat/emotes.js @@ -13,7 +13,7 @@ import GET_EMOTE from './emote_info.gql'; const MOD_KEY = IS_OSX ? 'metaKey' : 'ctrlKey'; -const EXTRA_INVENTORY = [33563]; +//const EXTRA_INVENTORY = [33563]; const MODIFIERS = { 59847: { @@ -64,7 +64,7 @@ export default class Emotes extends Module { this.inject('settings'); this.inject('experiments'); - this.twitch_inventory_sets = new Set(EXTRA_INVENTORY); + this.twitch_inventory_sets = new Set; //(EXTRA_INVENTORY); this.__twitch_emote_to_set = new Map; this.__twitch_set_to_channel = new Map; @@ -127,7 +127,7 @@ export default class Emotes extends Module { onEnable() { // Just in case there's a weird load order going on. - this.on('site:enabled', this.loadTwitchInventory); + // this.on('site:enabled', this.loadTwitchInventory); this.style = new ManagedStyle('emotes'); @@ -146,7 +146,7 @@ export default class Emotes extends Module { this.socket.on(':command:follow_sets', this.updateFollowSets, this); this.loadGlobalSets(); - this.loadTwitchInventory(); + //this.loadTwitchInventory(); } @@ -788,6 +788,21 @@ export default class Emotes extends Module { } + setTwitchEmoteSet(emote_id, set_id) { + if ( isNaN(emote_id) || ! isFinite(emote_id) ) + return; + + this.__twitch_emote_to_set.set(emote_id, set_id); + } + + setTwitchSetChannel(set_id, channel) { + if ( isNaN(set_id) || ! isFinite(set_id) ) + return; + + this.__twitch_set_to_channel.set(set_id, channel); + } + + getTwitchEmoteSet(emote_id, callback) { const tes = this.__twitch_emote_to_set; @@ -869,6 +884,9 @@ export default class Emotes extends Module { return data; } catch(err) { + if ( err === 'No known Twitch emote set with that ID.' ) + return null; + tes.delete(set_id); } } @@ -896,6 +914,15 @@ export default class Emotes extends Module { if ( callback ) callback(data); - }).catch(() => tes.delete(set_id)); + }).catch(err => { + if ( err === 'No known Twitch emote set with that ID.' ) { + if ( callback ) + callback(null); + + return; + } + + tes.delete(set_id) + }); } } \ No newline at end of file diff --git a/src/modules/logviewer/index.js b/src/modules/logviewer/index.js index 27afef41..901776b6 100644 --- a/src/modules/logviewer/index.js +++ b/src/modules/logviewer/index.js @@ -59,7 +59,7 @@ export default class Logviewer extends Module { if ( ! card.channel || ! card.user ) return; - card.lv_topic = `logs-${card.channel.login}-${card.channel.user}`; + card.lv_topic = `logs-${card.channel.login}-${card.user.login}`; this.lv_socket.subscribe(card, card.lv_topic); } diff --git a/src/modules/main_menu/components/main-menu.vue b/src/modules/main_menu/components/main-menu.vue index 78f09b54..28513617 100644 --- a/src/modules/main_menu/components/main-menu.vue +++ b/src/modules/main_menu/components/main-menu.vue @@ -219,7 +219,10 @@ export default { this.displace = displace(this.$el, { handle: this.$el.querySelector('header'), highlightInputs: true, - constrain: true + constrain: true, + ignoreFn(event) { + return event.target.closest('button') != null + } }); }) }, diff --git a/src/modules/viewer_cards/card.vue b/src/modules/viewer_cards/card.vue index 140f0340..a8392bc8 100644 --- a/src/modules/viewer_cards/card.vue +++ b/src/modules/viewer_cards/card.vue @@ -1,96 +1,115 @@