From 66702103ffc12b693fee55743ecb74bc916a6080 Mon Sep 17 00:00:00 2001 From: SirStendec Date: Mon, 19 Apr 2021 15:08:12 -0400 Subject: [PATCH] 4.20.91 * Added: Notice when FFZ fails to save settings because `localStorage` is full. * Added: Setting to move "Chat Identity" from the chat input box to the chat settings menu. (Closes #1025) * Fixed: Actually hide links when "Hide matching links for rich content." is enabled. (Closes #1019) * Fixed: Open the control center when clicking a markdown settings link without the control center open. * API Added: Toasts displayed by the `site.menu_button` module now support markdown. --- fontello.config.json | 6 + package.json | 2 +- res/font/ffz-fontello.eot | Bin 32112 -> 32844 bytes res/font/ffz-fontello.svg | 4 +- res/font/ffz-fontello.ttf | Bin 31928 -> 32660 bytes res/font/ffz-fontello.woff | Bin 19888 -> 20268 bytes res/font/ffz-fontello.woff2 | Bin 16568 -> 16880 bytes src/modules/chat/badges.jsx | 5 +- src/modules/chat/index.js | 11 +- src/modules/chat/rich_providers.js | 8 +- src/modules/main_menu/index.js | 3 + src/settings/index.js | 3 + src/settings/providers.js | 13 +- .../modules/chat/settings_menu.jsx | 181 +++++++++++------- .../css_tweaks/styles/hide-chat-identity.scss | 7 + .../twitch-twilight/modules/menu_button.jsx | 20 +- src/std-components/markdown.vue | 96 +--------- src/utilities/ffz-icons.js | 3 +- src/utilities/markdown.js | 96 ++++++++++ styles/fontello/ffz-fontello-codes.scss | 1 + styles/fontello/ffz-fontello-embedded.scss | 17 +- styles/fontello/ffz-fontello-ie7-codes.scss | 1 + styles/fontello/ffz-fontello-ie7.scss | 1 + styles/fontello/ffz-fontello.scss | 15 +- 24 files changed, 303 insertions(+), 190 deletions(-) create mode 100644 src/sites/twitch-twilight/modules/css_tweaks/styles/hide-chat-identity.scss create mode 100644 src/utilities/markdown.js diff --git a/fontello.config.json b/fontello.config.json index bc7f5056..4bfe01e2 100644 --- a/fontello.config.json +++ b/fontello.config.json @@ -773,6 +773,12 @@ "search": [ "threads" ] + }, + { + "uid": "399ef63b1e23ab1b761dfbb5591fa4da", + "css": "right-open", + "code": 59462, + "src": "fontawesome" } ] } \ No newline at end of file diff --git a/package.json b/package.json index 84dfa87e..d73e8aa8 100755 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "frankerfacez", "author": "Dan Salvato LLC", - "version": "4.20.90", + "version": "4.20.91", "description": "FrankerFaceZ is a Twitch enhancement suite.", "private": true, "license": "Apache-2.0", diff --git a/res/font/ffz-fontello.eot b/res/font/ffz-fontello.eot index 18c05f5724cc575711a9a783299070add402546d..a3d19d54804865cee60a6e3e6cfc654333a73436 100644 GIT binary patch delta 10313 zcmb7p4RBmpb>_YI{deo9|65XbOWk_vmaJ~cKl-t3%W}J0l5MFylKdyNXN=UAWm(1^ z%NpbH5U@0fWoA9VGCZIr!%wlG$j*}48A8Y;q$nU+DoagB$PR2s z2ph)xo%bwbL#SjWU!C*bJNMpm?m726=U%`06aMO&P)lo!eQ5O=wO_V|Ki%?7{-djJ zXN*rW#!k#%tSmpj-t-AP{}yA~C+DwTN#Z?zmcNNVb!V3sFP`rHmv`d%@9|i(Sb1z2 z?|pcF9aLYu@Wk1R{Bs{?%s9x{smXH-l{1MiH(h1y?6dgZe-1D74e2nRzl!I!a~H2% zTYU56oxi|~f5fEEUbr-0xfnSSV(i>|A@G%pm21oVpX$quEj@zge@h2`s?-Sb(-uKyVFAG4n4)BHVFjac0BI^%f5_*aP97J|=#>>+|eqzh7YV`^Ecy|A@K2FEi)YIxYPVWdUQW z8{1{UeXNFNl3%62_*vK}C}Yy<8>5U-V+R;}^KN5UrZ?a3Hg*W~*WJd(KtJj>HV*pV z+{Q|v-*OwnGQRn3x3Pyn|Hf@>0`$9XV{q%6-*?(7V^d)M!ENjaV?PMEjU5GTa2q=Y z8h0Bz4%*{3b^^5EHZ~19=QcJ2T5%hLn|^TKZR{lI@3@UU4EhG<|G^uu9)A46Kf8^c z0)?NbvA2Q#U$?PY(4V@EVWJ<#+{Q4`4-q)j*lEx|bsL)p{hHg@8PGp-8(Sbx-}&F- zb#ap=+gNix*4pUPWF~k?;)02Fj_+4P@lZ%so2(Yk)$QB!-M{_e4?b~dxFgeGAW%w* z%q2w1I+KL7&V)cLvsc-xPp+L`^aoV6VdD+Yys!?}Hf2goNSH@P9LQ{maY^E3#<^5s z5|^f;W+)g?)R^_Y+IRPmD3=6ZV=Bf~B}gM)I9p`0qR3??%SweQvN9Epgd=9g)YOEv zx9+J#BHt9K_sEh$7O;B;BtlV1ZM1$;cd@-a-xhBS)zuohrYaJzc~CIj7L5dak{Ypo zv;KOUvkjOSluG2481wzH)jb&L!|pl z{tMk0PFB`ctey-7IM$p?P-S!BA9?ub)S-jf&emiwpkd*U1%`R6Gtf;1Q!{BAL}Ihh zOkxvePulEpCVnZnoQ4=yi?cNtc7w@6$kSM4G0TK3Cd}Pte;>JKBJ|XuL;2A`uIUC` zO$O?kzHV?$($<+O$&xCs!NEc?JIXC95qx<_7QI+IjgT14z{ zrt(Dvni>Y1Cd!OiW-wzSzjvT7n(6Te_xSxjFO(UGe$4=;AlS*3!G<2b!#dFLP-96z z3BE4TKHw}GuJy7wkIRUV&oo@zLcxGdAgwV;x}m@^j4YRBR>4}zY^tNPB^(ZucZVB) zKkkIiO@t*A)3kgQFl=g|DL@X6H9gwdnQzaK7ijn4?@bv_fh@?TaOW0?lPh9P&DPhO zZcIYp&X477;$1AoimZ^|*GkJl{WVqN>YBk-SyScfI)>7?(6ED`BsrH=6i3HGK9Wi| zq$1&tAbI7}u~$!?%ukOM1|&&Av@3{S1qK?7dknthqy!J*SZ6}f#UjktWQm4VRcB+W zvrLuMiAOIiEqay(BAFc9qBeRob@6oUyFC}vxr5geO@X{UW}7xE9_W)>hd{% zy@Nb3SrQCWdKfo6d=XQ_fzDLABI%1v!3>IuDK*WRQma4*ZR+g&+^NoVTe>;bxHkr$ zZj_sc`RaPUhGLtSI%2?-@o~FuawgxcaTw2)70kuiGL(=dU0xzz0u+{*P*qWei_{8J zg*p|>Z+)PHxc=|;DCcWhS_2&sziI{p29`CF{Kjf&+zw#!_6JY_pb0c!%PJrN$N<9S zIf91CSU&TMk_`L*=LO4oB&t-hA?m9)bVR)x($r`+y0cvi_k?+`*@{32hkC3_sVDof zW0|7rinBWeb_XFXHazW9EGGrV-Q^5NGMS7&W16IXruF$fC5TBvreH@WZK{bS z_yfyE(59*mw9%?@bt>GP4Pp#aSDUS{`OUdc_ zMI?eoVmiiyjnP`k(1XUghDeR1hy9wQ$j~7tV(+7cox~d!M8lnvGrie9YBB=s> zDY+6X!>@|2B0@1@86z@)hs35vM>6Sje>&3_YNO5j$&RnLln_ma5c0?jcM}hV7`y6k zY&0p0e`L$WWQigjV=W>61(hXCRA9N7iZ*82NXYD54VF}Apu5?wBS1^|d!1J@rFwer zBq1=_SuIY&d=@UFFC?_ad88)^)@) z5aT+wl8{vdIEUY;RH34SD^t-(TPWNRp`v5o)>p7EC@o|85LSE*y8!>tSHeHn_fA@H z5EszPrb^?%?#8xILQ~@#!`s4qU>qH|P&jQR21rU(M_w4;eca6N^5*Uaf;xiadRnm6cgT6L>XYy>G{MSZ;k` z$G=99-8Or3WMNj%>!|qoTF<5JG%f|(8tMx;?K*ZjhxNclf6_h&4!(`PD9ZWqVPee2BUs| zbO((&*#B5&422rDBzL!`BM=A#%z)XNO13m7;<1LX2BrVJf6YgQ6&1&vP4xB9YAoy= zjG}VG+xsiGXq3KvW#`Bs(kIq8CH{c9Hj`aXGBpS*ASQQ$1LH$7PSa z?&lsa;@GQr*O_8qV;kJS{&Fg94N$6S&NwImv)uapP^0ySLw|y_igJr;Sf(OO5v(Y= z9cTq%qJkg-xc2PWHLzo-XQ(&W+Y=fz5Z+(h_r>m#2V;-#-~yoSV6A(Y5)RB0EK6dl zkRKW}TLIru>vsO{;#fc=pL-DDrh;fR7$DqzasSNfr}9m^xuHxS5KInw1?uzCiL5Y2 zRiO!#Kps>f{Y;Sz85I!MfLtqB1xeARB@|msGpHH>2+P{}Uo3?NsH3D92sKThq@>*R zb6wm2?Y`xFU3n%Njdw&Fni@jLR~vs{F!(B_Vt2kG9T9&BlQh=EQtbU3aV{Skw+$%T z%Y@E!u>v%QL$x&kk&e=H5qkw;$rn9_&``8Y6V>Ed>{?Bph~@j-Zb+T~PQTU%I--_} z#bT*g%8wM?>c4wB`0(&MqJ))WKr7rr+y&gAk6ag;ua|ec^_O1nDNnP9f5O9;-l}*!r|^Yu;T^63 z2@+Bvm{2yqAsu1E>_~osc?=IC+c=;Z2xm>#fLWCJvBju>z&|Ge)o`72eHujPvnWJ# zKCwT)cW}?H-k$DUFdFoy!>M4X4)w#oj#M88{IEO!;!M)c_OVj_PzTbeAH(kK#%VCc z6KTqXx2n_|OG@csYO3#6dB^4c49%nj%rw!o7ov z;sggqg&B0@&}79qJb854W&;X%d3b>_t>#H%jBbsi7L0TXnV zdAMidaA~BlcW~E0Z_l=^+0OP%5O*jwYSYGVqt?omOd#L*2sRRSsS_C3*2w5Ua}*l5 zLZNz;z*&)}tiL`SrgG??4|j9NLnuV~8YOPG25^%mCz-9734jP=lQoEKWG6UYC!l`0WZ zALlTv`TdnpAAXz)ZU2c6%+BT?nL1P>dBpx*LN~T=LFlC#1>%A346rk~vgSp$0w^NP z4J@VssMWCFHJrHNO=TKU!zzePg-snldU$-K7{x&`6EfREHBhB<`dd+m-G!-o*3Nd~ zLU)>BUMo2h87*NY03Ik+ytps%7_^)2n?|B(?io;_2)u6^OcKqQG|knSZ*_}1cka9; z{jK;sVr_&a^9e{JT={)fttPd%Nh4a3s@h*G|Fu-fzs)*(vJ;U?MFGY}>52S<&~uUK zfvo${=iYm3_1!C%P8=UQq+)Y?>ExgDqm-tV(@wPzv=KolfM^&IW91By%4kZYzKS*FN$Zj1e;KQ#8PrhHb7w zTE&$ZW^;;mr9vf`Q;R*&13T5}vgMce!Ij3ya4^u(h8qoCO>F$=l*&g-P*YQDv_(WN zQ}uGKSE#r>B-~m;R^WyKyaMHP@5YUZ@(iwo4j&jT<}#!WA2p+8~>ib~>HjlHL+Zv^A+Hfu5Xu_UP03 zr$PbYi_}Ma^=nYesMm2jvPRnJxGv;tu|^SXY7h}$G_n*9`lb518jqxldVMJlA0oby zi(GE=NMW6>^b1)2T;&<=II1cIq+?DT46}Eznf&n?4j=;dbpv@XAHgtKWJxadQiZp9 z!O66H2O@=2bt)kcUHFr)E?+vkFn_u-d+g}gfsXdpRMvxHSJ}Ch$9O#tW^h#uux$m| zcwxT46PpoCbv_{F?%AQQ*YBfBFuE}1<{I}bw6d^o-@g1HoiGVM*APaCOS;OEWV$W| z2p~>SS3L+&J?WlIiV7jR2m0Q^(hzOCD(V9-Gg%MYmhVbNan^*-X;T6B0rwb}PKh9! zfZx}P|3!$=kl5dm zTz!szPfUsriGPqH(tz|S>D%%r7mbtejJ_)-weMJej}2L z+=zT8@||dFbS3(7LuA!tFSp)k{h>K$ezvWUK9kWiXWDDppYQ12a$?I1o$tzaWIvMoOxKOBKj`{S_fYq5 z!9s);JIh`JaL|uH9e16*58Ut8)qL>$|KZ!Me?0#(-@fttZ$HoZSu1n#6~Pxb-n`f; zyq=Y%#dBA>E-f!Sy3w@U&#kG;QR~{}hgQv$nd-8oT=L9@6biFK(GC`qb905N2o(#} zv{bZ3@z}MbU1NeNR?gV+1$nux8ls;Nn1`=po3PNoUt{tVC!ZfmP(<^T$iop9DSv1@=R4bT}aYL zTU{NQi9r?UN`GxOH!^Q4ohf`RCT}HgVY2ErB@L6NX67bil_TXDvz#g??flUhe2b;* z{H88lwwAMvV)izi>8z8EN3&oiZDtlKwm5y(=JU|R);havBbOv~>xx$D@t{@zn40$F zZX0#1I8x|L-9~UYBY1N*E1JXio@=b#j}2kno_MTxwJzrjyir@jq!FxD%uJO#;r{wu zRfrM$Ol7#s_T?~NGHKTr$H<3ZuvE5>o{r$j=PaBb1Nj`~k}t??{+3y>{l&TDt+}M_ zhx%Q1AUA$&rYfHqF1OjW3+A;hJD3~aIW;qW)O{OE;X}~*5Xx0qpm=Xq17;yPV%Nc;wTO(lLUQhN4GkPuIYCw^6v&hizVS*mq-X7? zv$0kLOa!`yvt4#HSLH+-uy8~hb5)6GQ?4o#jpeEe(Ri+^5>4c)8qwy}TvaEgC08|w zW^?ehyOOp#hcz>k-8Mf(0oY~d?)wgl|v+J|}hM}vjr7-LF zTw}@7`z=ht!Xy-Hg@r^-SV*)D77|UvLZTU1NVFXm677J6M7O{|qMb01Xm>6-=xn8} zx#XPP&@q?9*5`BN-UHz2A5X{<*O&PJHh$k7ikUn4@ zFe}v>RXGnpK`g^~6=D3{M5{boK%vr4LPGUl?wzJ z9-t2f#?a>IoULMstv`FbF(?=3&X~3W?8c6eiBxK+Nw2iEuSCU)Gi4JDVe+4nS)S#@4Zj92iq!{95oM6&kDW`ZGN-9bZwz#-{uqa zwYEKxS-Ryh+ct78xn6r0h z?-y9z?6o=LaL(S7y#*8F z)wyTGA?ts>GpO_)1-%TId{0}faZuAJLI z1w`CQaPGT@NsiOIM@Y`$PLZ6$y^Z7?Zk8q;f!G{PN=$_&CFV3uO3XaT90YS_m4t{} zAR%JTk`OVAj$*^$&N+$^x8x{B+<8Ya;@<8kM%)EQG2$*diV^pyqZo0Qu*!q?+_daG z*{gYcx$N@$!LHD{lbl_^(__G9uq1QEWl828jtqSunXBl$_ujCNJ5NrJYc5MYo^V+b ze<#M->kj!VU{}GD#Jk+rB=K$t58WH^y7S}=h?Is8j`*6(lK7M8iMOQVuevOa_iHXo z0yiML@7{Rp&XXg46YT0fcfj|!uSxzXbj4d5@ISdM4S36CN#N<+ZLd?-*lO%H{!4BI zwI*^#xsbK>1zT#HytbJry4d&&?8`@Hs+_+cb>54(A!hT-Ri+iHjCB(Il`8W%%qD#i z!RU3~xZI04xUu1C8-HpFWyVu8^n7Nx+Ck4R=*)e=hRd;PJH2{I$AL-CKQ({Mk;Di3 Zsj|Ax7xt)%N?d#QJEo+_FvTW}2PI*4uzBkS}2p641_k&2{3e~bi%6>QXnCPq~Cv6 za-0AyQ_08wx%d9(od5if@Bh!ywflq@Ug65}y^MYKo(GhE>9H^7n;tMfw6e$;Kfo9} zGP5|neCXLv{0h&XU`%~*=8j8Am-#aui?LgCcut<5UYy%GbmHfD#w5aTmX~h3 z^rxFooM7x6o~5zni*w6A*pq#Nv3t6}{|@VMew4q{@(8Efo?#qs7{A6ur|nZkA*c3p_t!eOUNl#}n-J-!Cxwee#CiFR|+HKQQOlIwk(o+Gfea^(QeA{miZn z%lpKY7Yd9~V?^ImZEP>-2dj;Zfqtmk*gnuNR~s7#{cg1}Z0v>aRU6w6`tQ}oZUX&} zYGXHp{Gzb`13SYGb#6zC=tfVfV*DU#>O=Q~m6}tBp;8{-)a4Nyc7`R~y5k zFMhq+7#4l;8`Z{6fj(1hYzFk3)y8HSd(c%EEQnlS!V-s_=R*ylkR;bxS=Swh4wU0>tFm87rD4Ah6fWSmykqN?iS>hsN9yS&?{Z3zGOZX-(;p2SS^kNs+ z*tNIaclNYDpvaN6XIwJ^^d!9Y+G}UUkBBu)V=2~cZr+5|YdHidFhLZS;ZclB*bo;* zKFK&2OHAZqF=~W@0a=b&x7Xa;L#$jB_##uVq#}YFzRWR7l4WUykv73ACpe_T<6x0$YaA9syf%;bC1N<8RF|AVBq;(;74no|f?u{9K z5dPX|p@vHe*Mw2#Qn{qLqzc?sR5Y;ykK;_?Q!<3qbv8ki=_RH!y=d+n=!<50{J|Z5 zzt0U}UXDDYk6_G^5(B1Sm7v6%U2wj-76xUt60)xST&Qh8zY856kMUoZlKvkU` zs3pjt7UyRwC)(4^>BdxSXB;+Ni!~1OmAgz2xiv4e#(_km<902eq*dkEG?(YF76;tI zhJcC+)=>m(LXxx+xvT`3X?p{!u<-kN%cf^jQ=m2CH-Z6OPGsd?qbXxOzv-V>0AK;E z+5#oY09_H0Ei%9_w8dr=4u|0rAY3|1C@~&4Gr!Hr5c6+lESmwwQpvig&#P;2cO|6C z;cRqkiyH0;b1VL=?W9#ISXRZ*5Sc`D=sl6c+7D^SQ(tqV}X z8d$^edL9TgmXf@&(GwW663v4G%zR68J#R)J;)kC`0Mz^r#Eu4m*w#boxuHTUARFK` z+P7IyM>MX=>XKVmT$0S>C5Zr#A@GnGo0_7LrfgF-lWt7J>m#XXDu^GS2M}mxKHcbK zR!GMk7vv?RLS8h2>HeUPBD1DtDGeOO21K}wc%I3e%ag!=;*@zYnC>&e&BXbUmUrz1 z1Zs+=D~oV8c%UpSLK0CCFczSVNfu!}Mb_Z-G~*;@B=i7+kB(&0>Hc)4FVsv?d#UwX zn+ou%VfZ|ioA z^1J;#exDr4ru~LL6p8k9_lrF(nI@%?r+YJsm-kp*xkos&uH`!V3!At+%rup$+8j~_ z^AAn*i9 zK{#+&m+BxI%jIG;(i{rcMW~`tH$R0aqQng)!}(AS(UJRFNPi-dKpJ{C?y65d)Zq=$k&4K^!p zxz!6)b!r7ZpXnw$eq+n&M8&6hm0C!JLTtT@YD`xJs>iIu-CMA8>vH$6BS?Z9qdAf_ z^YU6MlpgL`+CuY^O9C4Nn05h}z_ELvizGQ&PAX9@E4H)*Tbg^w-?#TZ>~gB8up`L# zdWWOrjpEYli$ueHPJz3vZxLzu<9)juDHlp`XiAIZr_KbysNWy$ra7hl+cG1l_7J$d z8pIAmAP_JDMpG)esWH(IuM4XX`jP(od}JhwAI^$>J*16}t%DsMpTSF1dE@pbV6~gR z!nHXvS=`j|P%Zt+k4K|4;=ZjTyWqeCI$}zAg85k;>ol_tpOa6iM00XDpd=9BEKnDy z3kPdGs>J-SOK)%6)RXK91@%T(V<70$ zlwV*wB*xjMN*7csljJY6439<$=$ID-Fzp-!i#^@j2D*3k?CK5n_Jjs?#K0Z9ztmZ9As9!yxd8lk z9JYGW6C8{ngck+WdAkOUCS-!JHE;g7p_<38<485DM5Dm~LHOdH(#msY{dTU)M+*Xz zf^LDUV&ORY-gQzYMlw!GT)|N}rXhUnX zuD&jWe7Uxe*ZB&77d|{8{4Ih}W%Vq@-m})grQvZ~hmgHY(3mF7Ax*&i>LL(ML+Ok2 zJ>_OT<1w*wcCw@G#IzbWsD`)-|wwvMP*NSxM z$CO(;akNWuS&}F*%7P?AH*`oqd zdrnT2M4)>0LZW)=WlkPlhv?==#PBz@(m-MF-%MaJEG|*ZBNS*m3KuDpqS#eYo60EZ zkcQ;*8o@c61YrcIj044PyLe%Fba-Ivmabej(ZCMzLprj1&Dc3UdaF5a;JldNI%`P^ zstk<8NL^<76ilv4vUA9BX_Cu1{J1rtQp4ShyE$!;?mk59()!B26k+xc_kG-YU_6Ap zTMa}upP@?w>+x~(#_ad%czL3LGa1gl0$fWK6;)i&;a8{&7H~~MRl)*u!+qUK1r~F; zI1ZSgCFbI;;{M`De&^t}f!?03&Dr*rOb|CO9=UGqlW>Dv!2nK;j=+%-T8Nlm?i*QMlq3gBXqYG!jn@812*(VV zrhN0KoPj8t*dp8%K~Dj_aYT4iIbgK*g^VLieq5JuICd(3Dw0&T=%&Q-(TAAAut zb|Z_+jq$1aXxQtPImi4ypnVC;|@ptg?wWBoYl1APtEU zOEe^k)^8@Z)3IaQp+DyzB%~6?+3qU%a9f#C{ zR&sHiE$IrYrOGJa>g0dr1SpIS@7c9udr!I_XR~HMP9ceGH08JE4}ZCd!tA;-ZVa40 z`f+Nm{YTy_mdzv9_m4zOx)VU?aYU;QUFkqF6~{Ier8h1IVX)(X1fk@Hr~rn;hxU(; z3`MbOCS){+u&yo zNLWIWZd?KjL^B30aewK%NbPh1`KtIs;R|qw5tcL)7z=mgHVb*N!L|kS}or!@*8kfVZN|0#;B8T)&3<(8Kp%S-JP((vida#uWJew~ze` z-;bQdURxDyDt@3BFN?8L=E*vgW_}%&MlHZa#8Fz+mOY}I%1v5jszwoHI#I~#6fO^3 zM`{tMxIK9AL`FcGZ9OrD+iGX#v$)kcgsa#nbapelV#bS^bgiU_eXvQ23Ne%rQekTy z;uX2o2WM&n2H++~qMZm5n}Z)oD1<7|2}+;iKpi?LsU9R%6L*O>@*?~;n3KQ7joXTm z;b5S(8MhUh9AAq~VaWnSQx%U|fr~Olo2+pQ3hn_3hAMz|uIqpwQ0J0|>&0>j_dELw zqeEt9?z+~efD<)!(# znN!mzClBo_w6-**vMyAb^485f&exuvIlvQuJEu;Aj&X^%aR~40_4}y&+A(*qnk=fP zln>19-nPx`r?VdcAgU(HfD7aaxQwe{JYfv9xKU>Hq=jR`3Xv%-_v6J4xUof|bKYcLv-0{CMH>h>#^j1E% z_SoqLZe2UGvho=JwQx$fD%OdncuIU4<@r}-pL|CCiL#6%ccVJ0zC(RQ%WIG8+g;3c z&3(rG6VI&YM>WsZyjuH?+NZrq?_Yag@fCend@uMf2ks8M82o7PB%%lVvjWbvuBrt|H>+R^2H zZry*O&WB^5^D9oi+DFa$=!KgC$=Rg+ac5atAa3M&rT0_*tI!Ko=n=F zp?#zZbc}r2uA!$1Jk{W-!}ektpCe!Lvl5%RVock$LzU!}O46>y4mxaKZhW$|D$Nd; zo9&u814j1e#t)YI#t&8B##8tZbUp-ftIRuexU}l^LT}S~+nX(86Sk1fuX^ae8tazZ z6RoxFDFdIA&RXrM_$uv~n9#6#JB;EPD%dsFqqm2#S*Xc+>h|zTFvnJzFfv)Py+%Gc zV!L5P7bdFYlNC(&8J`b-S7Z77mC9;B$=VmQ@h0pq1et=_4m+G%8j=vrKoZcsb_+zI7p;(lXj?8h=(taN4jS-Pl0&2oQuj2d-A4Y9&Drf) zyB%(qgWDD04ON9c^hc<=Nww3)^Z-nV(7mo+93hcabzi<4sIhX8n1n2?} zADMvzoq|&$z|2ay>hf7lE4E}EysIH73{_?gTO696#U_NI>9{Rg_ubW;(}qT& zRt$0Y5gQWJ{KmajFeT3#nCR#uiSf9-H@41EL7uAJSM z-T3l`Nq6V${_GWKlvHKr4UA#`pb9_kz?9_pMR9_maH&u(;15)XAM#6z8F;-Su|oW1qBqGxjU z%GRvC1Mg?)y*-HDoZ}dH*olYvoIP-z{WLu|+-IB~ao_6ni1lpF-gcdJfgT*zb54&~ z7o8rlp3m9a*I9uYOZ4RME;~Kqz2NkS_hN2M#~&Nk^J6}1Yjd{PeBe$3H|x_Ybr)oE z1J=IE&uRCe f{5CJoAX|c^jGr}+z&-7s<*)sTExmh{${_YX@Q<>b diff --git a/res/font/ffz-fontello.svg b/res/font/ffz-fontello.svg index dbec2186..f7569219 100644 --- a/res/font/ffz-fontello.svg +++ b/res/font/ffz-fontello.svg @@ -1,7 +1,7 @@ -Copyright (C) 2020 by original authors @ fontello.com +Copyright (C) 2021 by original authors @ fontello.com @@ -146,6 +146,8 @@ + + diff --git a/res/font/ffz-fontello.ttf b/res/font/ffz-fontello.ttf index e704244ef357251567114a59672b7714473970d4..c5dedefc7db9d8393e739dff7e1f6c6056498165 100644 GIT binary patch delta 10244 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

;-0!&v9kCg)_ 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 WcOw&n%VyRTHU<|L0F)dm2LJ#}woc9f delta 19864 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 diff --git a/res/font/ffz-fontello.woff2 b/res/font/ffz-fontello.woff2 index e56d7e483e3fd98659860367d584f00a70babec4..14edc0eac4b3daa3175c7bc0b89e47d2aafbf116 100644 GIT binary patch literal 16880 zcmV(~K+nH-Pew8T0RR910738o4*&oF0DqJK06~-h0RR9100000000000000000000 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�&8ely^$$SxVomH8rMDR`&!KvbbljIg8?L& z|M*dpSm83!9du*;z1EMt4DadPWjZ{fBBvwHcS&;ZtkimEL^z^bx!7E;R2;~jiLI3i z>jE{GskhO4trq>z4+>|sGZa=*MW3U6>KeL5CFEVCOL0MaLl;>QX6l}aPfk<38d7ty zZq;!`Mzm+Ve%4ayr73(y^=TA8U@slO^=h`*Y_H{MT4G=QjuDRdB1Q3Cnj?NPWX4|Q zvEU5>j`*WcKCbp+7`F|h$4S%AGPu-59t@fjC-P;+gTdG#ABz^;8!VDM80;|cx{Q2T z@S#D;Ps5x@z1GqF2OC5fN(KR1vPxY*7%;*k9aB(HAG|cmMqD+m>KSyz3sLvSPgTh4 z@~Xv!wCaTgoI{Im7^w!kL6@uYdWHap3M#2%7sV7(L^baG7~vn2G+|y)=j2Z6-d2TR zXffsFQ;ItXeYaVp6jdNtUKC`aoDrI;D7}&)R3=$QfxGB>g1aK^NEV_WFHt_b1P7)P z8A#rm#l5edJE{<2LKK+gVl!W{Sskuq6*YsP2{xJqAuxAod{OTB*3<4P)uQAkRGb+S zW1`x4Q9|8;g}uvy%?A+5{~J=of<|Y2Ni=BDp~rv`6J{(}u?1liCux=!WmR{3{lRcF zo;1_he6d`uH{0F*a6Fwa*Y^HRi}@$*;NGAfrzX>5`-J%SDTnL zZC8O7hbuV&zyUx0Dhb-{Of3GkTK7w+WRlRr;({2)MTl8nMr(tT3;80!lJcPG#$^N1 z)pmk8Sfg@Ws@3)@HjBYqz)h0`+-7pz-}-rd;f0(P($-Sa*zc`bx6|VLoVLwK=Y?83wVjQp6ReIzbEo7hEx@MA) z-lUN10z50{@7c_S;ak&W4W>vspO!QxUk`7QI@KKZ?&wJypRTv1=^p*9Nb_xO27{%4H?4O2I55dgsC z|M-8_0;7Qc4Zk4&yng&|M!Zo*=ycvV{K8ovY|P9g8jShfMz+q(yfEU(f@k=x(jj#< v7#Pym+%q?$Z|u7k+=Q5(p2YNzw5e|-?Q|RSrW>Z?rn;B^>8UM&ADjUN6dV@_ literal 16568 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 diff --git a/src/modules/chat/badges.jsx b/src/modules/chat/badges.jsx index e11e93b4..fdd46326 100644 --- a/src/modules/chat/badges.jsx +++ b/src/modules/chat/badges.jsx @@ -558,7 +558,7 @@ export default class Badges extends Module { } - render(msg, createElement, skip_hide = false) { // eslint-disable-line class-methods-use-this + render(msg, createElement, skip_hide = false, skip_click = false) { // eslint-disable-line class-methods-use-this if ( ! msg.badges && ! msg.ffz_badges ) return null; @@ -769,7 +769,8 @@ export default class Badges extends Module { props['data-tooltip-type'] = 'badge'; props['data-badge-data'] = JSON.stringify(data.badges); - props.onClick = this.handleClick; + if ( ! skip_click ) + props.onClick = this.handleClick; if ( data.replaced ) props['data-replaced'] = data.replaced; diff --git a/src/modules/chat/index.js b/src/modules/chat/index.js index 6294cc95..70cd3e87 100644 --- a/src/modules/chat/index.js +++ b/src/modules/chat/index.js @@ -206,7 +206,7 @@ export default class Chat extends Module { }); this.settings.add('chat.rich.hide-tokens', { - default: true, + default: false, ui: { path: 'Chat > Appearance >> Rich Content', title: 'Hide matching links for rich content.', @@ -262,6 +262,13 @@ export default class Chat extends Module { } }); + this.settings.addUI('chat.filtering.pad-bottom', { + path: 'Chat > Filtering > Highlight', + sort: 1000, + component: 'setting-spacer', + top: '30rem' + }); + this.settings.add('chat.filtering.click-to-reveal', { default: false, ui: { @@ -1694,7 +1701,7 @@ export default class Chat extends Module { for(const token of tokens) { for(const provider of providers) if ( provider.test.call(this, token, msg) ) { - token.hidden = this.context.get('chat.rich.hide-tokens') && provider.hide_token; + token.hidden = provider.can_hide_token && (this.context.get('chat.rich.hide-tokens') || provider.hide_token); return provider.process.call(this, token); } } diff --git a/src/modules/chat/rich_providers.js b/src/modules/chat/rich_providers.js index 678bab96..4a5e5f9e 100644 --- a/src/modules/chat/rich_providers.js +++ b/src/modules/chat/rich_providers.js @@ -28,7 +28,7 @@ import {truncate} from 'utilities/object'; export const Links = { type: 'link', - hide_token: false, + can_hide_token: true, priority: -10, test(token) { @@ -77,7 +77,7 @@ export const Links = { export const Users = { type: 'user', - hide_token: false, + can_hide_token: true, test(token) { if ( token.type !== 'link' || (! this.context.get('chat.rich.all-links') && ! token.force_rich) ) @@ -190,7 +190,7 @@ export const Users = { export const Clips = { type: 'clip', - hide_token: false, + can_hide_token: true, test(token) { if ( token.type !== 'link' ) @@ -278,7 +278,7 @@ export const Clips = { export const Videos = { type: 'video', - hide_token: false, + can_hide_token: true, test(token) { return token.type === 'link' && VIDEO_URL.test(token.url) diff --git a/src/modules/main_menu/index.js b/src/modules/main_menu/index.js index 01d9d7c0..a3c3749b 100644 --- a/src/modules/main_menu/index.js +++ b/src/modules/main_menu/index.js @@ -298,6 +298,9 @@ export default class MainMenu extends Module { return; this.requestPage(path); + + if ( ! this.showing ) + this.emit('site.menu_button:clicked'); } diff --git a/src/settings/index.js b/src/settings/index.js index ba09a2c0..e0e8145c 100644 --- a/src/settings/index.js +++ b/src/settings/index.js @@ -99,6 +99,9 @@ export default class SettingsManager extends Module { this.provider = provider; this.log.info(`Using Provider: ${provider.constructor.name}`); provider.on('changed', this._onProviderChange, this); + provider.on('quota-exceeded', err => { + this.emit(':quota-exceeded', err); + }); provider.on('change-provider', () => { this.emit(':change-provider'); }); diff --git a/src/settings/providers.js b/src/settings/providers.js index b9f7ab4f..6f9dc206 100644 --- a/src/settings/providers.js +++ b/src/settings/providers.js @@ -262,7 +262,18 @@ export class LocalStorageProvider extends SettingsProvider { } this._cached.set(key, value); - localStorage.setItem(this.prefix + key, JSON.stringify(value)); + try { + localStorage.setItem(this.prefix + key, JSON.stringify(value)); + } catch(err) { + if ( this.manager ) + this.manager.log.error(`An error occurred while trying to save a value to localStorage for key "${this.prefix + key}"`); + + if ( /quota/i.test(err.toString()) ) + this.emit('quota-exceeded', err); + + throw err; + } + this.broadcast({type: 'set', key}); this.emit('set', key, value, false); } diff --git a/src/sites/twitch-twilight/modules/chat/settings_menu.jsx b/src/sites/twitch-twilight/modules/chat/settings_menu.jsx index 6bb97c5e..71d48f69 100644 --- a/src/sites/twitch-twilight/modules/chat/settings_menu.jsx +++ b/src/sites/twitch-twilight/modules/chat/settings_menu.jsx @@ -18,6 +18,16 @@ export default class SettingsMenu extends Module { this.inject('chat.badges'); this.inject('site.fine'); this.inject('site.web_munch'); + this.inject('site.css_tweaks'); + + this.settings.add('chat.input.hide-identity', { + default: false, + ui: { + path: 'Chat > Input >> Appearance', + title: 'Display "Chat Identity" in the chat settings menu rather than the input box.', + component: 'setting-check-box' + } + }); this.SettingsMenu = this.fine.define( 'chat-settings', @@ -35,6 +45,12 @@ export default class SettingsMenu extends Module { async onEnable() { this.on('i18n:update', () => this.SettingsMenu.forceUpdate()); this.chat.context.on('changed:chat.scroller.freeze', () => this.SettingsMenu.forceUpdate()); + this.chat.context.on('changed:chat.input.hide-identity', val => { + this.css_tweaks.toggle('hide-chat-identity', val); + this.SettingsMenu.forceUpdate(); + }); + + this.css_tweaks.toggle('hide-chat-identity', this.chat.context.get('chat.input.hide-identity')); const t = this, React = await this.web_munch.findModule('react'); @@ -101,71 +117,87 @@ export default class SettingsMenu extends Module { return val; } - cls.prototype.render = function() { - try { - if ( this.state.ffzPauseMenu ) { - if ( ! this.ffzSettingsClick ) - this.ffzSettingsClick = e => t.click(this, e); + cls.prototype.ffzRenderIdentity = function() { + if ( ! this.state || ! this.props || this.state.moderatorMode || this.state.chatAppearance || this.state.chatPause || this.state.followerMode || this.state.recentRaids || this.state.repliesAppearance || this.state.slowMode || this.props.isShowingChatFilterSettings || this.props.isShowingDeletedMessageDisplaySettings || ! this.props.isLoggedIn || ! this.props.onClickEditAppearance ) + return null; - if ( ! this.ffzPauseClick ) - this.ffzPauseClick = () => this.setState({ffzPauseMenu: ! this.state.ffzPauseMenu}); + if ( ! t.chat.context.get('chat.input.hide-identity') ) + return null; - return (

-
-
-
-
- -
-
-

- { t.i18n.t('chat.settings.pause', 'Pause Chat') } -

-
-
-
-
-
-
-

- { t.i18n.t('chat.settings.pause-explain', 'FrankerFaceZ overrides the behavior of Pause Chat entirely. Please use FFZ\'s Scrolling settings within the FFZ Control Center under Chat > Behavior.') } -

-
- -
-
-
+ const user = this.props.data?.currentUser, + raw_badges = this.props.data?.user?.self?.displayBadges; + + if ( ! user || ! user.login || ! Array.isArray(raw_badges) ) + return null; + + const is_intl = user.login && user.displayName && user.displayName.trim().toLowerCase() !== user.login, + color = t.parent.colors.process(user.chatColor), + badges = {}; + + for(const badge of raw_badges) { + if ( badge?.setID && badge.version ) + badges[badge.setID] = badge.version; + } + + return (
+
+

+ { t.i18n.t('chat.identity-menu', 'Chat Identity') } +

+
+
+
) + +
+
); + } + + cls.prototype.render = function() { + const out = old_render.call(this); + + try { + const children = out?.props?.children?.props?.children?.[1]?.props?.children?.props?.children; + if ( Array.isArray(children) ) { + const extra = this.ffzRenderIdentity(); + if ( extra ) + children.unshift(extra); } } catch(err) { t.log.error('Error rendering chat settings menu.', err); } - return old_render.call(this); + return out; } this.SettingsMenu.forceUpdate(); @@ -228,9 +260,10 @@ export default class SettingsMenu extends Module { }, this.badges.render({ user, badges, + ffz_badges: this.badges.getBadges(user.id, user.login, inst.props.channelID, inst.props.channelLogin), roomID: inst.props.channelID, roomLogin: inst.props.channelLogin - }, createElement, true)), + }, createElement, true, true)), {user.displayName || user.login} @@ -292,17 +325,25 @@ export default class SettingsMenu extends Module { } else if ( ! badge ) return; - cont.appendChild(
-

- {this.i18n.tList('chat.ffz-badge.about', '{title}: This badge appears globally for users with FrankerFaceZ.', { - title: {this.i18n.t('chat.ffz-badge.title', 'FrankerFaceZ Badge')} - })}{' '} - {this.i18n.tList('chat.ffz-badge.site', 'Please visit the {website} to change this badge.', { - website: ( - {this.i18n.t('chat.ffz-badge.site-link', 'FrankerFaceZ website')} - ) - })} -

+ const out = (
+
+

+ { this.i18n.t('chat.ffz-badge.title', 'FrankerFaceZ Badge') } +

+
+
+

+ { this.i18n.tList( + 'chat.ffz-badge.about', + 'This badge appears globally for users with FrankerFaceZ. Please visit the {website} to change this badge.', + { + website: ( + {this.i18n.t('chat.ffz-badge.site-link', 'FrankerFaceZ website')} + ) + } + ) } +

+
@@ -321,6 +362,12 @@ export default class SettingsMenu extends Module {
); + + const after = cont.querySelector('[data-test-selector="global-badges-test-selector"]')?.nextElementSibling; + if ( after ) + cont.insertBefore(out, after); + else + cont.appendChild(out); } diff --git a/src/sites/twitch-twilight/modules/css_tweaks/styles/hide-chat-identity.scss b/src/sites/twitch-twilight/modules/css_tweaks/styles/hide-chat-identity.scss new file mode 100644 index 00000000..8d4c673c --- /dev/null +++ b/src/sites/twitch-twilight/modules/css_tweaks/styles/hide-chat-identity.scss @@ -0,0 +1,7 @@ +.chat-input__badge-carousel { + display: none !important; +} + +.chat-input__textarea .tw-textarea { + padding-left: 1rem !important; +} \ No newline at end of file diff --git a/src/sites/twitch-twilight/modules/menu_button.jsx b/src/sites/twitch-twilight/modules/menu_button.jsx index 7aa22663..0d9fcf67 100644 --- a/src/sites/twitch-twilight/modules/menu_button.jsx +++ b/src/sites/twitch-twilight/modules/menu_button.jsx @@ -9,6 +9,7 @@ import {SiteModule} from 'utilities/module'; import {createElement, ClickOutside, setChildren} from 'utilities/dom'; import Twilight from 'site'; +import getMD from 'src/utilities/markdown'; export default class MenuButton extends SiteModule { @@ -257,6 +258,17 @@ export default class MenuButton extends SiteModule { this.on('i18n:changed-strings', this.update); this.on('i18n:update', this.update); this.on('addons:data-loaded', this.update); + + this.once('settings:quota-exceeded', () => { + this.addError( + 'site.menu_button.quota-exceeded', + 'Your local storage space for this website is full, and settings cannot be saved. Please backup your settings and switch to a higher capacity provider in [Data Management > Storage >> Provider](~data_management.storage.tabs.provider).', + 'ffz-i-attention', + true + ); + this.update(); + }); + this.on('settings:change-provider', () => { this.addError('site.menu_button.changed', 'The FrankerFaceZ settings provider has changed. Please refresh this tab to avoid strange behavior.' @@ -266,11 +278,12 @@ export default class MenuButton extends SiteModule { } - addError(i18n, text, icon = 'ffz-i-attention') { + addError(i18n, text, icon = 'ffz-i-attention', use_markdown = false) { this.addToast({ icon, text_i18n: i18n, - text + text, + markdown: use_markdown }); } @@ -425,7 +438,8 @@ export default class MenuButton extends SiteModule { { data.title_i18n ? this.i18n.tList(data.title_i18n, data.title, data) : data.title} ) : null } { data.text ? ( - { data.text_i18n ? this.i18n.tList(data.text_i18n, data.text, data) : data.text} + { data.markdown ? : null} + { data.markdown ? null : (data.text_i18n ? this.i18n.tList(data.text_i18n, data.text, data) : data.text)} ) : null }
) : null} { ! data.unclosable && (