From ba9cc637d37e14f1a36b1e03737767ab9622629f Mon Sep 17 00:00:00 2001 From: Diego Mello Date: Wed, 31 Oct 2018 15:40:08 -0300 Subject: [PATCH] [NEW] Room header layout (#521) --- .../src/main/res/drawable-hdpi/hashtag.png | Bin 0 -> 222 bytes .../app/src/main/res/drawable-hdpi/lock.png | Bin 0 -> 559 bytes .../src/main/res/drawable-hdpi/mention.png | Bin 0 -> 981 bytes .../src/main/res/drawable-mdpi/hashtag.png | Bin 0 -> 142 bytes .../app/src/main/res/drawable-mdpi/lock.png | Bin 0 -> 408 bytes .../src/main/res/drawable-mdpi/mention.png | Bin 0 -> 618 bytes .../src/main/res/drawable-xhdpi/hashtag.png | Bin 0 -> 224 bytes .../app/src/main/res/drawable-xhdpi/lock.png | Bin 0 -> 659 bytes .../src/main/res/drawable-xhdpi/mention.png | Bin 0 -> 1462 bytes .../src/main/res/drawable-xxhdpi/hashtag.png | Bin 0 -> 313 bytes .../app/src/main/res/drawable-xxhdpi/lock.png | Bin 0 -> 954 bytes .../src/main/res/drawable-xxhdpi/mention.png | Bin 0 -> 2249 bytes .../src/main/res/drawable-xxxhdpi/hashtag.png | Bin 0 -> 390 bytes .../src/main/res/drawable-xxxhdpi/lock.png | Bin 0 -> 1181 bytes .../src/main/res/drawable-xxxhdpi/mention.png | Bin 0 -> 3242 bytes app/containers/RoomTypeIcon.js | 4 +- app/containers/Typing.js | 60 ------- app/sagas/messages.js | 13 +- app/views/CreateChannelView.js | 9 +- app/views/RoomMembersView/index.js | 13 +- app/views/RoomView/Header/index.js | 162 ++++++++++++++++++ app/views/RoomView/ListView.js | 2 - app/views/RoomView/index.js | 17 +- app/views/RoomsListView/index.js | 19 +- app/views/index.js | 2 + .../Contents.json | 6 +- .../Icons/hashtag.imageset/hashtag.png | Bin 0 -> 142 bytes .../Icons/hashtag.imageset/hashtag@2x.png | Bin 0 -> 224 bytes .../Icons/hashtag.imageset/hashtag@3x.png | Bin 0 -> 313 bytes .../Contents.json | 6 +- .../Icons/lock.imageset/lock.png | Bin 0 -> 408 bytes .../Icons/lock.imageset/lock@2x.png | Bin 0 -> 659 bytes .../Icons/lock.imageset/lock@3x.png | Bin 0 -> 954 bytes .../Icons/mention.imageset/Contents.json | 23 +++ .../Icons/mention.imageset/mention.png | Bin 0 -> 618 bytes .../Icons/mention.imageset/mention@2x.png | Bin 0 -> 1462 bytes .../Icons/mention.imageset/mention@3x.png | Bin 0 -> 2249 bytes .../Cell Subscription Hashtag.png | Bin 115 -> 0 bytes .../Cell Subscription Hashtag@2x.png | Bin 144 -> 0 bytes .../Cell Subscription Hashtag@3x.png | Bin 184 -> 0 bytes .../Cell Subscription Lock.png | Bin 195 -> 0 bytes .../Cell Subscription Lock@2x.png | Bin 348 -> 0 bytes .../Cell Subscription Lock@3x.png | Bin 481 -> 0 bytes 43 files changed, 216 insertions(+), 120 deletions(-) create mode 100644 android/app/src/main/res/drawable-hdpi/hashtag.png create mode 100644 android/app/src/main/res/drawable-hdpi/lock.png create mode 100644 android/app/src/main/res/drawable-hdpi/mention.png create mode 100644 android/app/src/main/res/drawable-mdpi/hashtag.png create mode 100644 android/app/src/main/res/drawable-mdpi/lock.png create mode 100644 android/app/src/main/res/drawable-mdpi/mention.png create mode 100644 android/app/src/main/res/drawable-xhdpi/hashtag.png create mode 100644 android/app/src/main/res/drawable-xhdpi/lock.png create mode 100644 android/app/src/main/res/drawable-xhdpi/mention.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/hashtag.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/lock.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/mention.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/hashtag.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/lock.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/mention.png delete mode 100644 app/containers/Typing.js create mode 100644 app/views/RoomView/Header/index.js rename ios/RocketChatRN/Images.xcassets/Icons/{subscription_lock.imageset => hashtag.imageset}/Contents.json (63%) create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/hashtag.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/hashtag@2x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/hashtag@3x.png rename ios/RocketChatRN/Images.xcassets/Icons/{subscription_hashtag.imageset => lock.imageset}/Contents.json (62%) create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/lock.imageset/lock.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/lock.imageset/lock@2x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/lock.imageset/lock@3x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/Contents.json create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/mention.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/mention@2x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/mention@3x.png delete mode 100644 ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Cell Subscription Hashtag.png delete mode 100644 ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Cell Subscription Hashtag@2x.png delete mode 100644 ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Cell Subscription Hashtag@3x.png delete mode 100644 ios/RocketChatRN/Images.xcassets/Icons/subscription_lock.imageset/Cell Subscription Lock.png delete mode 100644 ios/RocketChatRN/Images.xcassets/Icons/subscription_lock.imageset/Cell Subscription Lock@2x.png delete mode 100644 ios/RocketChatRN/Images.xcassets/Icons/subscription_lock.imageset/Cell Subscription Lock@3x.png diff --git a/android/app/src/main/res/drawable-hdpi/hashtag.png b/android/app/src/main/res/drawable-hdpi/hashtag.png new file mode 100644 index 0000000000000000000000000000000000000000..946eae13499bc4e1fa0696a973ae76668c6877ac GIT binary patch literal 222 zcmeAS@N?(olHy`uVBq!ia0vp^5+KaM1|%Pp+x`GjEa{HEjtmSN`?>!lvI6;2JzX3_ zJb05+9GJPMtuy-f{ri2%2?oN(lRceEZbX`>YQ#9bni&vsxxx60ZURfIV%79#euI{VO1`gNjY>y7>98zod<(XYI>o_B~hUTJOZ2PANUTv!Q zan*QHw!)Nko}vDq6{NN@*m@cKSnSv$sPckoajIZdN5Tj9(@H%Gj^Yx(BzYNhg{odS T-r}?YI*`HB)z4*}Q$iB}r@T*z literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-hdpi/lock.png b/android/app/src/main/res/drawable-hdpi/lock.png new file mode 100644 index 0000000000000000000000000000000000000000..60f2bc365ecb82573cb6f0965d960803ddcd9d82 GIT binary patch literal 559 zcmV+~0?_@5P)?{TK?#7wZJ=S~pf^;q*LDW|aX5O`*iAVtl zybgsJDS4;tq*-Tlt>PmEq?Eyh_dE|3m^AB*u2p=nSk*cl0f9NX{d!2W$^hM-X9PSd zIBupLbkglQ#yKjmP8Z{zu1BM6&R%fL;6ENH+#;e_AR`zo)Z8GRWT=hNCbx<43q)F! zB>rnWIDuM#+Hzes=LVJko4IQ3+jQyyUDNUt{1?#M9c%x$D7Gznu;nd^JZSW)$kOL> xLEptsZFhQ002ovPDHLkV1l;r_T2yg literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-hdpi/mention.png b/android/app/src/main/res/drawable-hdpi/mention.png new file mode 100644 index 0000000000000000000000000000000000000000..637ac5dc304b7c2d43bea4572337e4ced4c144c2 GIT binary patch literal 981 zcmV;`11kK9P)mkT`>1R#wi;fjY#CV3;GJ?F=0vf&#%Y<9$p`s`eZ{ z{L8#Y|7IBI?(WM9goBR=U=ycfNFkm*URD0WDUb-ab$JUlQ6muSU?U%rm8+z(vh<_P z7c(H9gMWG`s=Rqa=GrsG#l<0;aiQnn;GpZ%__rHuq*jb@BzbluE?dx~CE|H=jk}`G z#xLd>b)>GPvxhTBwNYIMMb<Aj{D3`miqkvx}lSr+aQoDzXZw+Li4Br0#~=slsQ^?TBEiv>@~Phi2db=;|EqvyjK zPK&h2O5Fsubt>s|X+`Ol8uwA|nD{ZuLEk1qKI)vZRF3=v7MzAqli?;ZjtVSI5$Qb2 z7u_y1M21URF@8*1rgak!m>(@`o2T-~Sey!PTD$MurEvHyJD1A%6bFq#(WMJSw=xrI zs5tCoisT$tvFle7lp8j|aU|E}g@D#LWo2f}J5Rr|$KM_zn=w{U1y5{T;*&_58DS^V zowS%PUM;cQIT@A%X0pkSmZZ z@7z&aI7JjKp6r(Rkv`{cnB-Jl^9}1`K8zxt%pP}8#=mAbk5@#ivaCkXl%Xly%$dn@xztWG$t@jT z?tjYXkc$$Rn;0R~P3-0>r*Vl6Nj0oYf%{W`^fRVyok_>59(VbLWv>cR>ht-MzyI)` z)Cjpq@Doto^SF;b6`C<1Kuf3hp1A`Mmb~mle!decj9eCMZIp9Y%UkiLEUx*4mV%E( zAVO_D{TnGT?Xxc&S$>K8X(`HucZLB$n2TpB(7~Ot-!RN^WugwP<87JCjj@mUCTosW z7+&E|JhKeg42!??;lY0yuno=i*@8e{IgO)>`E21n`pq_tdG00000NkvXXu0mjf Diige( literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-mdpi/hashtag.png b/android/app/src/main/res/drawable-mdpi/hashtag.png new file mode 100644 index 0000000000000000000000000000000000000000..890f02c737654c36e30de82988a79e0f89689d35 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6<8o-U3d z7J|tM4osiL*V`~3@^I4d$@%1?p>^UxKn{cQtjVSe`gSxPHk9}zvYX+kQch#b8iv_6 nNA)C38yXW$WDN`g=I}9W;MJ1u+S@P@Xdr{9tDnm{r-UW|19mB2 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-mdpi/lock.png b/android/app/src/main/res/drawable-mdpi/lock.png new file mode 100644 index 0000000000000000000000000000000000000000..f0d911fdba94b2446e3387f1b77e05b3ec59d310 GIT binary patch literal 408 zcmV;J0cZY+P)Y5S`i6TpA&bU~8F5Fls0M1yAq@#E+zjKO(h%!>BP3 zPEh}YVBrVaS*fjHVPU1Y>~rSA>aqfx9`1~+uhk^nh;0bXk}p0Vxnc0L3HC8 z-ruc-*W-3GP8@W4d)DGg_%#4``Y2XTwQ;}vB#YzTSvmgd-xK43eY4&O!&gUuuTWUrsct-`Szmt;-vE|-m%ShZ5dNQMsDozqp&V2i;4$j%V+OWriXz&w-r0OOp=J85ih zUM4eOLK&bYv|(BkR30TcK%9i4yqe5OcZLO0kMYb>y%uWQevHFzRIvkln;M)=Ov%4| z{|gW~2T3kWOD@dYZ<{Ed*}U!)ARx$#ld+zaEWQD*HhmO_1eP2C0000{( zZ)R2YtX8Xa_{-NHm(A>wiXErfL_ewOtC6FFFN($D_cTP)m!)T`GhS?7Mb*SwPW1!r z-s~iFMd-|l)~c0KGr{c!SbVyAPgUwr%v(NpKMaDOi4)I86b)#n`@lqMW>UX4S9(Z& z9Dpywu%hawsW+uv-w|n0{BDEDL?hqJ7QD*CN_lBuV@Q!-k zxQuRiZ+M_|7Y{x{spahOkugWY;+m0m0^aO&*OAd}+&8!>`yE?A>XYSBL&+ zM2Ly8i6S}CZ)AM%a^ij=(_@Z9!ao0n=sFBxV{L6X(NXs1&x6!M?RLA5dX#V$_d#te zH_Moh$CA&TU~TLGNsM_wDRB@41ZN%8JcgFE(Zct5__{N_{IX?0BZXZyZhS!TStys8#1?7GM+kpFyI3dc^^#IB1m9ptQUjfXaV;CZvlI z@TZXa1vID<&R%`DZvYzherE(g`(=yYxiFe-lB0Bh-#*C`)KjwGT>t<807*qoM6N<$ Ef_h&fPyhe` literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xhdpi/hashtag.png b/android/app/src/main/res/drawable-xhdpi/hashtag.png new file mode 100644 index 0000000000000000000000000000000000000000..70a5b3f63cf4585307e7952defb483aca69359b7 GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%LiNo-U3d z5uC{>2N<8}#u-k2Xzwf)F>7LCSWu3O72nc`*3PTvTSCocS>0s~q?mdhTyAAIK0|stM89sF_j=~qL zoWe`z3r=S|GA(7wEBOx^5~T++IC|QkM0LV}%Lg)mXdcK+;mjgPH N!PC{xWt~$(69A)lODzBZ literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xhdpi/lock.png b/android/app/src/main/res/drawable-xhdpi/lock.png new file mode 100644 index 0000000000000000000000000000000000000000..7522c451590b5be90c8eeb8a6345b811bd68eb11 GIT binary patch literal 659 zcmV;E0&M+>P)xk&`mc_il)>3E0T6)VOZf0?~ z`F0TClW?-KnT6A}TmqV{<;M=;4G@)-m}wD@48hZCIQ}jZ$BQQlXfAx7as=&UA>8D- ze?ka;N}j-81HuXRM&dYwFkPK_uo%zv`k4Y+tM?6ZOqtgcH9sikqR^$MW}B=}M*mk%^P$qH6Dii_9MoLa8{23%ASA?&E1*Csd!gFc>D073kn zr$b)>fBp}L53l2`OaXfZq+tI`Dsc|*Ie#6=os~|GTpb*YcDrtvAecXm0%z?kQhY+Q&)$HijF+%EqR2QK} zatm}WY7tRRl{S^${sbeW1|d4}U3AMAU6!x-rS- zu@RMmf(T+-sT5zSh#<5-Qi|O+?<}!tsQ9R&{uKj?)}lzDq9phNC9P@PduKe~+?|`* z?QTr^xUf6tp7WhKXJ*bhb1sP$K8J_LZxumshZa<;wXTCY5zUa$vmzGzrmMB-yOm5y z%K>MH$8QmV|Af#YsfD;{DIK10T9B9&vG~DEYt#2jVIf=6fq{W{Yx5$%hXg&&tBn;+ zMs$X>o&ir2)d{U@TsiMbpoMIIO6KT9v3 z>}+ZJs#I|~??*<)?^1bxl6P{0nNP}{nRIHet6Stixb6BF1F-U`>UiRz*4E^&uEI*` z;o-^k=luEiSZ_1`6vxvx_c$U4Ou%XX2b?)pUKLMlxme@YSvaxa&wm;21kHIAzu5+6 z+=3A8Oe5g(*!I?z$}7(fjc*j%e?Tj`-slsZCMiG4v^D*R_rby3CSQmqsp5Sd9gV+X zA$%OkAn$*H1r}@}KEgB%^E^0-RO5i#-_`!uGZ2!yhV~89C3(r5aWqC^5mgy$;@UjOhJ>%o>>`V_^iuTOB@H=L6Ao_!^Z?O0@kZA;v0M#yJVT3!vGqunZ3dx?FPt~9zBCA29(F4oux%Q~Mt)k@y3@JcOQ zEG`(dO*I5tVXI3aMehYn-Y~UE>moT`qDzczhe3EAYbCF2@k%XYm!$p) zY~HEbk&#KWTV-GotAN1;gu)OSiliaIHDa9+lemiO4tFwm_&&##YH0V5;vd@AbNTtQ z1(4_D^U>p^QJu9Ik^tN{19rR|9FYAPHUM9*`o-DhQ`qmeNt;*+|4YHBLn zjRF&Q4yWpByt0Eii5`xN$TS#*W&&jKgYruBH}acEpUC!)_PWOb8a&8C44pL-Xi@*| zsp-C4E|Kh_xoU_~Y^x!3@E|iVB0eyh zhaHVc(VzmogNw~}@EAAGs9%_>4~-jM4;qv(3%G$~P=Gl2XF-lK%LksUfIJn!>NOT%d^j~uw14T&{YZj1^MIu!P% zjX`{6iw$U_(8-ijx|F=g0ZfWsjXRqc3kEi$jY4C2DGip+6&-;qD0IfJF%J%|xGi_* z`aim?15moq4-=)-Bb;}eB+1>K>Fpm}umeyufhm^pX=bkU!WUG*B1e25AL)*Za=vA6J2eG%)Sf Q0000007*qoM6N<$g1Pg{Q~&?~ literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxhdpi/hashtag.png b/android/app/src/main/res/drawable-xxhdpi/hashtag.png new file mode 100644 index 0000000000000000000000000000000000000000..8017c826304b7c6fdc8f5b684dbc397f44b40c3d GIT binary patch literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmUKs7M+SzC{oH>NS%Lfyo-U3d z8LV$-IC3>9inP>T+PceabyHaBvM863?iW&by${dbZEhp!GoxPBs?Xy7As+ypaDL4n4DEFn(KjC}svzX^YgeYNe%uJ@%k z-%OoU`+Hx7^}GD-$9EqSpJyMOo?zDelr!hn+Drb1bth`xFYEX%z3IS-(&=ya*KlSs zdvqF@Djo0<|0u?&qPonDWyVXTdrA#Uj$G+rFpfPE%`#!i3@O2cW!)98V>vuKS6-9^ zvGx5O-aB!m`5S+Fw*_QKT;+!2t_^cHJlAK6b9(dfDd!)C*g4s&rYu=43-mjKr>mdK II;Vst0I6JsApigX literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxhdpi/lock.png b/android/app/src/main/res/drawable-xxhdpi/lock.png new file mode 100644 index 0000000000000000000000000000000000000000..72797f8812e7631f573c073982f7a8ef046cd5c5 GIT binary patch literal 954 zcmV;r14aCaP)>wHzqHX}i($4YBSi+r|+s<^#NSe%SdY<2T z-FxS@McAf?h;TCV;;5=p7=VreK_?-0YVb(31PDt^y;Bs-55~@XKt$S(&{!`BC$3CP zWrtLNTb%SkM|cQ}3c&55cyxjbVORH0T?I@|&m1Xj6jR*F9ycj)@VP)!aCor4@1q-k z&Bt{CsdToV6Mx1N*yT33o&e%+PU76~Ky=y-j;jKaQ`t+T(!;6&5m)uK&qn%QAZo2< zj|yH+#G{X@*~oM?7cf4VJI=du7KnmYKwL(I2N(#v9FFzPiTYG#riV(UULv@{C3T28 zoklEjr6)!PBX2FbDuS8{$YfrJ){DR9Ie~Tyrh@nPwzZ6f!{HT+P7vht`L-V`>vuq< ztAe;p;?I`g?(SIZh#6=xv{<678tu3M-khh*Kmi4Bm}Rx{ zG7MR)O1O@eP%fA2SY21Y89)%fCgPC;`W`SSYGb(Lm`dlq5YT?nv$aLp7l}lcMVX9t zG=a5(+GTd;o6MVflh-iI7_(-4SxmEy#ycv2FrZ(`3;+lV2EHCff+dY9iQ%XKP)m{* z57>@Z5>GBd36?CT#M@B;3Mdvkr21}=VlFZ)SxnJqleQ$bsc4i>zkr>dl;u5;%*-5u zQfbPV7>0;c^S7-6AAuW2J9iwv3!2!|bVX4X`O;{-)CB_ZM6B<#7{zj#LsIvsM2AHq z1~Rh$xMs`MLT2SsR&JP~X$t3NhV%D;xg-CZZ}-`CM-C;ZYhM$15uap42{CAM)rxv^3)TihF3k*N0R6=uB06~ZWLzO^wQr_@O$S+_g cmyZ_vFaLxDW)Ts;^#A|>07*qoM6N<$g2f!gdH?_b literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxhdpi/mention.png b/android/app/src/main/res/drawable-xxhdpi/mention.png new file mode 100644 index 0000000000000000000000000000000000000000..29defc2cd2336da6addb8683f0b618c7abb8153b GIT binary patch literal 2249 zcmV;)2sZbLP)8b7sz*b7pQyjPtLrZ{rM?a#t!L&(m6+&BGJP!&0dK zIXdxmDz)^x@tl%QcCg+}o6gt6#}+Cl7rE_ zl_@7=fYzFNGTA05axd2RM!-(xsfsy>$c4e5!0@-)Tbr_gbum|YOl$*s`ZnAQ*LV?1 z&n`c7JSvpm16O;zJ=OTPIFeNxuy*anS;yR5rxyCwhzS&t_zbk&P-edtG$b_b_jpN9 zC!wdo=;?sxXf3WsD?M81KN7UP#!1}2V#U(`gh(a9sto8|n{808*Z}3vw@2YE$8W17 zvFWT@xh0uQ{%F&q`U3+4Q%8PNi~j`2ks?9Cq~29jT@_1Nab7)&LyT zmz36z*fJ2GaKe

_t`hD6uQ85cg-(9n>x z2OsbL;NW25o9_<1hS0joADi7t$oZwtM3Dhw(dKjez{1}slvRKEabHM>_LJ*;)!Mpr$c$}TE=AOlWAkgA37>~om(RrTsDd{X4z`re zEq1c=4d7VZ(>Jgit)F3$85dL=Z7|uS;orn6Wa$>T-0Y&*p3fPaZTstLMHd$3=(cU! zY7ZPd{BQ8i#A=V!I*C7qjo|2nF?Se)G4`JJRB{eluk7#*=uWS12BzO)+zG#5VBm6X zZ{NT&rSz-V=8Mbm85;cgdnxHJQme0zYq8hIOS%WqW{rVO+nveofRTQlfYL1;cQ>zR zx_<_c`tLIWY#k>l14p&I$~}GA=Ut^ZOIM{lkHx$!;|dC#Ez%T7mS$eo#jJQ&!LwV6g97IQt1a=|Z&xwbLPQ7v4qu}FEMfk}yp54W`3nJ?mk!s-70_og4sjlP2X zk_?h6L#z{Or$x*OV;t5Q-Lz+bcNxLPj{OuDW(FwLdIxq?zrxO7e(>q%+EYzW8@N^#4?kgDoR4JY)9P4ysR4LFsugU8y()lys-K6rOToNNfl&vbgXk+_4R=$$*wqhPH zWNcieKI_D~`FvwKOTNQmCGBhAZl5Wl!=bW3q7inR0$g2>WpE}&tK;^$EZy|kth?k3 zxKBn0gO>7NpM{eYfNKo`7nRKsK5tk`wqr6M*+i|xIW`>bhjnA!5sJl>0HYRV4d4uG z^J81L+i;vdqV?Zxew?Fv8!qaHbYtD6A~D%!)It`edz)^`1A{~G`quPgw_5(!mO%x4 zt__F#Vcl5w{2>l={!U?%`mn8<)Kn{_7DsHPzy&-2hX5|jY!nIiQX7udCv}m{kDC9G z4Oi2bBt_tM#jgkD1i7ljVe%6I65y@n_{-5yiCkyXksE%n;c#E#kk~i?lO;d**+^u$ zvOB;fF?jYE8PrgBafUT;we6V9ya2zWh68X2AnnewQLa!|$^2U-p8E>FIfZWN9+$)g ziayIL4+@B?dMty5m>6Kzbaem@0l84bLQ7GsV{HotUamvYsgfSX|OQ0fcp@Y|Z?zaTpk z=PU`i+YFssN6IB_spPx&po zx8VUiYQ0`rBF}-y+0&6~?qDc?2DpbOZf^L;it%$_9*X{-4Mk=7Bvzv_a3-QfJPPx& z49oHuD_fIqATT@zBA3f$f2@36jl9<|`8&W$pYBV&QNpy?&AG0tS7Qlp0i^JB* zPmI5}ohWGl8*wI{*LmK!zakeh1Mqu1e_SwdzSRx;a}8q2;#MHyI?0W2K%Gb@zCr&c-SI9j_o zH4Tw%8a|9q$4%%uBu&1^`0k6k>DRhiIR!-`K77afRc(M7_Edc6=CIw~nyg2pt5`}H zJxuGbf!lvNA9*+IqS; zhEy=Vonnvz z%(&J{{A&4ro9OJ5zwX-jZr^H}DRD0Ld*%AO-Mhu2>+k$Zo_zVkGy}_>Mc1BON#{Qi zcq@~a#bW173H;ZbHgK{@Hhr0 eE%Ox>)$t9y)fWBnUfjTdW$<+Mb6Mw<&;$U2Se$$1Y2m-~R#vdGWHc>5t z)-9q%(7HubP?}TbOf5{&WiBjgk+=~eDheTsn54oVre@yhTpRp*_r96?-Wz|O*VUVI z&O6_CzH{Dv_c{!)Rr-4nkMF@GYd|!QGGIZ5EQkO>4iAWvWSb=0B!KY(0<8aRDD-7D zs6jqK;_>+Q**|#EG_e@~su3|KJc^}I95oE+E!qmVLZQ%HzIf(DNEMt4FPKi65xVah z@3iXu%i{TDFm|;hV04lY>193-K6oxbG#Wqfm*G=}Smgn~#S{SJTNs=UhePicjqa}u z_bC=L+A1m(Fo#v-EoE6)VzipDR1$p(>Ose4-D3_Lf-;8@}ab*m?j z01;{+a(%fiaxg_J{&QeBL5m%KzNxtwL&L0eTKnqRt9&C)Ya9cM6tue!-W%*-)l{iT_RB$MKKFDfayZSn)deQ z@dcZM3s(XR3=9+{e$I{)*?m%MTD%Nk=R4Y(UP@yGj;@EXBPO!jcIyd=`l-CMsH(oc zepZkoCzGo+;K#4I%XY={u9pO$Mzwg(oZrLmr4BulRl>132bn(?yWPs3V7~(e#rs=Z>k}e>Hk;!KNTz15NQ(y; zE#78C+!oKt^BkF6qoQIs2hK(0%f;qs0x~%yaVGmg2dA8ZpmF=(IOF5`eL^{1sKW^@cs9 z3$JZ%8%{Qmjs&1h%W+B0u}I6Q&k~<&b0+tgD3J{(QTT$*kpMJudlxb+xuE0g;F6Dd zxs+l^IAtTDEWpsvP(Zp}MSPzP(5>HO?1MN5mi^}@_R6fv0wfaC((^qsxzrhf#q z0A7#bM$4xsV54=+YrfLAfDDLUb)%7R(;=CEE$yAr*c*BiRjY8&kAR9=evH)<;K#12 z)TAdsMJ+$Z>Iv{;S5<1#6QH7&A7k|d__3=hHR%aZQOl39dIJ2|Rh63b1gNOx$5=f9 ze(b7BO?m=U)beAjo&Y~~Ri!57FGlG5_X_%njP+}C71TV%(w8C?s;QL)px*{n63`u0 vp!FKB*MRlfnbqQ@Ct$UdUavTtegggh@B&qutC*TS00000NkvXXu0mjf%`z*; literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxxhdpi/mention.png b/android/app/src/main/res/drawable-xxxhdpi/mention.png new file mode 100644 index 0000000000000000000000000000000000000000..14b2374d41c9cf1bc2fc914eb940bcbbc339b036 GIT binary patch literal 3242 zcmV;b3{~@qP)t(rz5Qd&hSQ4$iV&=&d;@F&JcLvgA6M~mu!sx%_FNDviJVuI9`emE@w zf1Q1|JN>=A+w<=1?s@m_ASNT(GxO%XH}Acfc{B5NjL6)b?8A&6Ay9DmkJ^7MqZ7)%&lLvO`vT6`9@NJ9dyIlYHDiIJ_sBr1sT8?^;GgV zf{B$5jurrzC!ypY7#DwJTzR81%>IfsJYhj`6yZb4MpEovCiI7x;GctWzA%*^;f$Y( zhNBw`nGJyraG>MR3QYH-7{vt+>9YWgbU%!h6{WY%<0W;ddc5G{i9Yzkc(j_R*TRRe)k?#cK zYB$ctj8l{+nj2yV-P+w?z6@Y=-kJE3u8U{fn823~VyZvCbjjkMFJHbq<&IMt=;_m^ z!)MQ5`U;lDb8sH>+_)+Ve_>mF>{&m9;L89l9o;*B$mN(0ce7rNeQB{Itj=esc7pN6G%6LvFm%uEH#;zeDE@45BM z6{UWv<&f6^FuGs${vo_Z#il0?4vHXbat=SHTHYi2sm3@DG!ye@Y*7Aj&LSAhGZidW(E~O#M{y0;ZDfLPOp@-WXd~Du)LzK4VM|8HcHIC4B|E$grD$GOVpFu}G^5Uv1vF z@k6f{((+7ri|y8|C84@d8jmx5zj(8UIPY|7ID;mN}UU;JTWI4q9q>03p3|#snf6+ z9$zfMa#fO&GaY5 zBo_6#zx~iYKz=z1WjNd#x^@xFFaSkw|NX)B8mp%0Jy{WDzqS%iRX%%RU>D}CbL2U@ zgxOk)8`>!^9$AB&K>LZ-&crL4F1p|dJlD7v9~n+DiIJqf2fF2gvl!AE(wU;o#uA{= zwH3i&f=Et~8y}DyUF)>5t3-9YYlnpC_-hP0Bwcml&ZBtI}BS<~V>whv0&VjiTo!lnZ z-E^Wa)Qb6uS|aduH66vkFBNrjKfY;aVv-1g*FN8O2B@<4(yK`0Cx$; zCw5&`A__fDa43s!bq<&ZfPxv0raWJb9Jsy#qC!T+!D~>41+6RDml-xX<3ptl;$6Y| z#MH`uQ*5v)$zgwMo#WJJ2v$*@A}UcBg>AC{M&z2VceNflGRG$y2O7~54@W~5fPq`) z)n$4IVWqOz^tj5o9z_6g`IzD*3BHpTpQh&Z^vnGPuvCFUUAZA{1)0W38AB2So;yPPPxLAC*w`A z*Q~I7%W^x@Kg;ot;8?xXF~#F2Bf4^&30R*fWw`apY++)j1E5uBevemiiM!C0;{7;g@r zjyG+2iD*nG$mkKGe4v39m(jBnLiC%+s*zCTXJNFHUNjj+#Tp1$Yy2^>Ca?0~MLc7% zNB_k_p^cacu9r0^T@8MZLvDIp<*Gc4)3dEH_OdBk&Hy+MjL{=Rv%$>4Y$r`^v+gG+ zBiz5F`t$gdyc>qFJ4QbYvN#4Ucn~k*N#N$X$1mUs?IURWPXJa1Dk-nB+4Z1>tuhI) z$uylmjZI3KDUqyNQtZXdSu3|W>wJhSd}q9V^NUvH3D0H#0vu>R^eZ?G+BPhS56+14 zPh*z2PCW~vXOZHDnb4V75B?9xF$7wEnIkptp@WtDany^k@i0PXaX9cVf~W0z3}ycU zx}%j5z7MjyUYr~TnC_p)y$nI{&d%S>7Gm@hh;ol_^n)bH2^(4rnk4becGZS zy~d(-X93;PMOOomM)Z^fPH6+yh_sGGgkEEPTxNo&0mul(`#QY6rLsN22!gfZ^!PH) z33++g>84-J)d|XCPRFORvW$h+eHj3w%yC1T7LTP1Rn&{lmjO)TkMg;^DMP9AKn9@B z{r+HrUYF1Vi(*cX)E~tpMkd5#*n=NMRaHaEuBN(J$v(RUHUJ5ABY!eu#1t-G`V9SK z1}m=yQG|zabD4bI!TA^qmEGH1yYVu~Qfw;70MseHy)EiTQ { } if (type === 'c') { - return ; + return ; } - return ; + return ; }; RoomTypeIcon.propTypes = { diff --git a/app/containers/Typing.js b/app/containers/Typing.js deleted file mode 100644 index 10836a1d7..000000000 --- a/app/containers/Typing.js +++ /dev/null @@ -1,60 +0,0 @@ -import React from 'react'; -import PropTypes from 'prop-types'; -import { - View, StyleSheet, Text, Keyboard, LayoutAnimation -} from 'react-native'; -import { connect } from 'react-redux'; -import I18n from '../i18n'; - -const styles = StyleSheet.create({ - typing: { - transform: [{ scaleY: -1 }], - fontWeight: 'bold', - paddingHorizontal: 15, - height: 25 - }, - emptySpace: { - height: 5 - } -}); - -@connect(state => ({ - username: state.login.user && state.login.user.username, - usersTyping: state.room.usersTyping -})) -export default class Typing extends React.Component { - shouldComponentUpdate(nextProps) { - const { usersTyping } = this.props; - return usersTyping.join() !== nextProps.usersTyping.join(); - } - - componentWillUpdate() { - LayoutAnimation.easeInEaseOut(); - } - - onPress = () => { - Keyboard.dismiss(); - } - - get usersTyping() { - const { usersTyping, username } = this.props; - const users = usersTyping.filter(_username => username !== _username); - return users.length ? `${ users.join(', ') } ${ users.length > 1 ? I18n.t('are_typing') : I18n.t('is_typing') }` : ''; - } - - render() { - const { usersTyping } = this; - - if (!usersTyping) { - return ; - } - - return ( this.onPress()}>{usersTyping}); - } -} - - -Typing.propTypes = { - username: PropTypes.string, - usersTyping: PropTypes.array -}; diff --git a/app/sagas/messages.js b/app/sagas/messages.js index c244960bc..01bda80c2 100644 --- a/app/sagas/messages.js +++ b/app/sagas/messages.js @@ -75,20 +75,13 @@ const handleTogglePinRequest = function* handleTogglePinRequest({ message }) { } }; -const goRoom = function* goRoom({ rid, name }) { +const goRoom = function* goRoom({ rid }) { yield Navigation.popToRoot('RoomsListView'); Navigation.push('RoomsListView', { component: { name: 'RoomView', passProps: { rid - }, - options: { - topBar: { - title: { - text: name - } - } } } }); @@ -99,10 +92,10 @@ const handleReplyBroadcast = function* handleReplyBroadcast({ message }) { const { username } = message.u; const subscriptions = database.objects('subscriptions').filtered('name = $0', username); if (subscriptions.length) { - yield goRoom({ rid: subscriptions[0].rid, name: subscriptions[0].name }); + yield goRoom({ rid: subscriptions[0].rid }); } else { const room = yield RocketChat.createDirectMessage(username); - yield goRoom({ rid: room.rid, name: username }); + yield goRoom({ rid: room.rid }); } yield delay(500); yield put(replyInit(message, false)); diff --git a/app/views/CreateChannelView.js b/app/views/CreateChannelView.js index 41f6f76cf..be205630a 100644 --- a/app/views/CreateChannelView.js +++ b/app/views/CreateChannelView.js @@ -125,20 +125,13 @@ export default class CreateChannelView extends LoggedView { const msg = error.reason || I18n.t('There_was_an_error_while_action', { action: I18n.t('creating_channel') }); showErrorAlert(msg); } else { - const { rid, name } = result; + const { rid } = result; await Navigation.dismissModal(componentId); Navigation.push('RoomsListView', { component: { name: 'RoomView', passProps: { rid - }, - options: { - topBar: { - title: { - text: name - } - } } } }); diff --git a/app/views/RoomMembersView/index.js b/app/views/RoomMembersView/index.js index b33d6da0d..abfba5553 100644 --- a/app/views/RoomMembersView/index.js +++ b/app/views/RoomMembersView/index.js @@ -115,10 +115,10 @@ export default class RoomMembersView extends LoggedView { try { const subscriptions = database.objects('subscriptions').filtered('name = $0', item.username); if (subscriptions.length) { - this.goRoom({ rid: subscriptions[0].rid, name: subscriptions[0].name }); + this.goRoom({ rid: subscriptions[0].rid }); } else { const room = await RocketChat.createDirectMessage(item.username); - this.goRoom({ rid: room.rid, name: item.username }); + this.goRoom({ rid: room.rid }); } } catch (e) { log('onPressUser', e); @@ -152,7 +152,7 @@ export default class RoomMembersView extends LoggedView { await this.setState({ room }); } - goRoom = async({ rid, name }) => { + goRoom = async({ rid }) => { const { componentId } = this.props; await Navigation.popToRoot(componentId); Navigation.push('RoomsListView', { @@ -160,13 +160,6 @@ export default class RoomMembersView extends LoggedView { name: 'RoomView', passProps: { rid - }, - options: { - topBar: { - title: { - text: name - } - } } } }); diff --git a/app/views/RoomView/Header/index.js b/app/views/RoomView/Header/index.js new file mode 100644 index 000000000..e7888bd9b --- /dev/null +++ b/app/views/RoomView/Header/index.js @@ -0,0 +1,162 @@ +import React, { PureComponent } from 'react'; +import PropTypes from 'prop-types'; +import { + View, Text, StyleSheet, Image, Platform, LayoutAnimation +} from 'react-native'; +import { connect } from 'react-redux'; +import { responsive } from 'react-native-responsive-ui'; +import equal from 'deep-equal'; + +import I18n from '../../../i18n'; +import { STATUS_COLORS } from '../../../constants/colors'; + +const isIOS = () => Platform.OS === 'ios'; +const TITLE_SIZE = 18; +const ICON_SIZE = 16; +const styles = StyleSheet.create({ + container: { + justifyContent: 'center', + backgroundColor: isIOS() ? 'transparent' : '#2F343D', + height: 44 + }, + titleContainer: { + flexDirection: 'row', + alignItems: 'center' + }, + title: { + color: isIOS() ? '#0C0D0F' : '#fff', + fontSize: TITLE_SIZE, + fontWeight: '500' + }, + type: { + width: ICON_SIZE, + height: ICON_SIZE, + marginRight: 5, + tintColor: isIOS() ? '#9EA2A8' : '#fff' + }, + typing: { + color: isIOS() ? '#9EA2A8' : '#fff', + fontSize: 12 + }, + typingUsers: { + fontWeight: '600' + }, + alignItemsFlexStart: { + alignItems: 'flex-start' + }, + alignItemsCenter: { + alignItems: 'center' + } +}); + +@responsive +@connect((state) => { + let status = ''; + let title = ''; + if (state.room.t === 'd') { + const { id: loggedUserId } = state.login.user; + const userId = state.room.rid.replace(loggedUserId, '').trim(); + if (userId === loggedUserId) { + status = state.login.user.status; // eslint-disable-line + } else { + const user = state.activeUsers[userId]; + status = (user && user.status) || 'offline'; + } + title = state.settings.UI_Use_Real_Name ? state.room.fname : state.room.name; + } else { + title = state.room.name; + } + + const { username } = state.login.user; + const { usersTyping } = state.room; + const otherUsersTyping = usersTyping.filter(_username => _username !== username); + + return { + usersTyping: otherUsersTyping, + type: state.room.t, + title, + status + }; +}) +export default class RoomHeaderView extends PureComponent { + static propTypes = { + title: PropTypes.string, + type: PropTypes.string, + window: PropTypes.object, + usersTyping: PropTypes.array, + status: PropTypes.string + }; + + componentDidUpdate(prevProps) { + const { usersTyping } = this.props; + if (!equal(prevProps.usersTyping, usersTyping)) { + LayoutAnimation.easeInEaseOut(); + } + } + + get typing() { + const { usersTyping } = this.props; + let usersText; + if (!usersTyping.length) { + return null; + } else if (usersTyping.length === 2) { + usersText = usersTyping.join(` ${ I18n.t('and') } `); + } else { + usersText = usersTyping.join(', '); + } + return ( + + {usersText} + { usersTyping.length > 1 ? I18n.t('are_typing') : I18n.t('is_typing') } + + ); + } + + render() { + const { + window, title, type, status, usersTyping + } = this.props; + const icon = { + d: 'mention', + c: 'hashtag' + }[type] || 'lock'; + const portrait = window.height > window.width; + let height = 44; + let scale = 1; + + if (!portrait) { + if (isIOS()) { + height = 32; + } + if (usersTyping.length > 0) { + scale = 0.8; + } + } + + return ( + + + + {title} + + {this.typing} + + ); + } +} diff --git a/app/views/RoomView/ListView.js b/app/views/RoomView/ListView.js index 553584f31..a30fc01a6 100644 --- a/app/views/RoomView/ListView.js +++ b/app/views/RoomView/ListView.js @@ -7,7 +7,6 @@ import PropTypes from 'prop-types'; import Separator from './Separator'; import styles from './styles'; -import Typing from '../../containers/Typing'; import database from '../../lib/realm'; import scrollPersistTaps from '../../utils/scrollPersistTaps'; import throttle from '../../utils/throttle'; @@ -79,7 +78,6 @@ export class List extends React.Component { keyExtractor={item => item._id} onEndReachedThreshold={100} renderFooter={renderFooter} - renderHeader={() => } onEndReached={() => onEndReached(this.data[this.data.length - 1])} dataSource={this.dataSource} renderRow={(item, previousItem) => renderRow(item, previousItem)} diff --git a/app/views/RoomView/index.js b/app/views/RoomView/index.js index 3ef12f9ad..ac66983de 100644 --- a/app/views/RoomView/index.js +++ b/app/views/RoomView/index.js @@ -51,6 +51,13 @@ export default class RoomView extends LoggedView { static options() { return { topBar: { + animate: true, + title: { + component: { + name: 'RoomHeaderView', + alignment: 'fill' + } + }, rightButtons: [{ id: 'more', testID: 'room-view-header-actions', @@ -224,22 +231,14 @@ export default class RoomView extends LoggedView { } updateRoom = () => { - const { componentId, openRoom, setLastOpen } = this.props; + const { openRoom, setLastOpen } = this.props; if (this.rooms.length > 0) { const { room: prevRoom } = this.state; const room = JSON.parse(JSON.stringify(this.rooms[0] || {})); - LayoutAnimation.easeInEaseOut(); this.internalSetState({ room }); if (!prevRoom.rid) { - Navigation.mergeOptions(componentId, { - topBar: { - title: { - text: room.name - } - } - }); openRoom({ ...room }); diff --git a/app/views/RoomsListView/index.js b/app/views/RoomsListView/index.js index b1838a8fb..244b72c1e 100644 --- a/app/views/RoomsListView/index.js +++ b/app/views/RoomsListView/index.js @@ -378,19 +378,12 @@ export default class RoomsListView extends LoggedView { }); } - goRoom = (rid, name) => { + goRoom = (rid) => { Navigation.push('RoomsListView', { component: { name: 'RoomView', passProps: { rid - }, - options: { - topBar: { - title: { - text: name - } - } } } }); @@ -399,8 +392,8 @@ export default class RoomsListView extends LoggedView { _onPressItem = async(item = {}) => { if (!item.search) { - const { rid, name } = item; - return this.goRoom(rid, name); + const { rid } = item; + return this.goRoom(rid); } if (item.t === 'd') { // if user is using the search we need first to join/create room @@ -408,13 +401,13 @@ export default class RoomsListView extends LoggedView { const { username } = item; const sub = await RocketChat.createDirectMessage(username); const { rid } = sub; - return this.goRoom(rid, username); + return this.goRoom(rid); } catch (e) { log('RoomsListView._onPressItem', e); } } else { - const { rid, name } = item; - return this.goRoom(rid, name); + const { rid } = item; + return this.goRoom(rid); } } diff --git a/app/views/index.js b/app/views/index.js index 8fe13234f..e84fc69ff 100644 --- a/app/views/index.js +++ b/app/views/index.js @@ -7,6 +7,7 @@ import ProfileView from './ProfileView'; import RoomsListHeaderView from './RoomsListView/Header'; import RoomsListView from './RoomsListView'; import RoomView from './RoomView'; +import RoomHeaderView from './RoomView/Header'; import SettingsView from './SettingsView'; import Sidebar from '../containers/Sidebar'; @@ -16,6 +17,7 @@ export const registerScreens = (store) => { Navigation.registerComponentWithRedux('RoomsListHeaderView', () => RoomsListHeaderView, Provider, store); Navigation.registerComponentWithRedux('RoomsListView', () => gestureHandlerRootHOC(RoomsListView), Provider, store); Navigation.registerComponentWithRedux('RoomView', () => gestureHandlerRootHOC(RoomView), Provider, store); + Navigation.registerComponentWithRedux('RoomHeaderView', () => RoomHeaderView, Provider, store); Navigation.registerComponentWithRedux('SettingsView', () => SettingsView, Provider, store); Navigation.registerComponentWithRedux('Sidebar', () => Sidebar, Provider, store); }; diff --git a/ios/RocketChatRN/Images.xcassets/Icons/subscription_lock.imageset/Contents.json b/ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/Contents.json similarity index 63% rename from ios/RocketChatRN/Images.xcassets/Icons/subscription_lock.imageset/Contents.json rename to ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/Contents.json index 148a6e731..6eb8ad0b1 100644 --- a/ios/RocketChatRN/Images.xcassets/Icons/subscription_lock.imageset/Contents.json +++ b/ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/Contents.json @@ -2,17 +2,17 @@ "images" : [ { "idiom" : "universal", - "filename" : "Cell Subscription Lock.png", + "filename" : "hashtag.png", "scale" : "1x" }, { "idiom" : "universal", - "filename" : "Cell Subscription Lock@2x.png", + "filename" : "hashtag@2x.png", "scale" : "2x" }, { "idiom" : "universal", - "filename" : "Cell Subscription Lock@3x.png", + "filename" : "hashtag@3x.png", "scale" : "3x" } ], diff --git a/ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/hashtag.png b/ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/hashtag.png new file mode 100644 index 0000000000000000000000000000000000000000..890f02c737654c36e30de82988a79e0f89689d35 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Ea{HEjtmSN`?>!lvI6<8o-U3d z7J|tM4osiL*V`~3@^I4d$@%1?p>^UxKn{cQtjVSe`gSxPHk9}zvYX+kQch#b8iv_6 nNA)C38yXW$WDN`g=I}9W;MJ1u+S@P@Xdr{9tDnm{r-UW|19mB2 literal 0 HcmV?d00001 diff --git a/ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/hashtag@2x.png b/ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/hashtag@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..70a5b3f63cf4585307e7952defb483aca69359b7 GIT binary patch literal 224 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdzmUKs7M+SzC{oH>NS%LiNo-U3d z5uC{>2N<8}#u-k2Xzwf)F>7LCSWu3O72nc`*3PTvTSCocS>0s~q?mdhTyAAIK0|stM89sF_j=~qL zoWe`z3r=S|GA(7wEBOx^5~T++IC|QkM0LV}%Lg)mXdcK+;mjgPH N!PC{xWt~$(69A)lODzBZ literal 0 HcmV?d00001 diff --git a/ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/hashtag@3x.png b/ios/RocketChatRN/Images.xcassets/Icons/hashtag.imageset/hashtag@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..8017c826304b7c6fdc8f5b684dbc397f44b40c3d GIT binary patch literal 313 zcmeAS@N?(olHy`uVBq!ia0vp^1|ZDA1|-9oezpTCmUKs7M+SzC{oH>NS%Lfyo-U3d z8LV$-IC3>9inP>T+PceabyHaBvM863?iW&by${dbZEhp!GoxPBs?Xy7As+ypaDL4n4DEFn(KjC}svzX^YgeYNe%uJ@%k z-%OoU`+Hx7^}GD-$9EqSpJyMOo?zDelr!hn+Drb1bth`xFYEX%z3IS-(&=ya*KlSs zdvqF@Djo0<|0u?&qPonDWyVXTdrA#Uj$G+rFpfPE%`#!i3@O2cW!)98V>vuKS6-9^ zvGx5O-aB!m`5S+Fw*_QKT;+!2t_^cHJlAK6b9(dfDd!)C*g4s&rYu=43-mjKr>mdK II;Vst0I6JsApigX literal 0 HcmV?d00001 diff --git a/ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Contents.json b/ios/RocketChatRN/Images.xcassets/Icons/lock.imageset/Contents.json similarity index 62% rename from ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Contents.json rename to ios/RocketChatRN/Images.xcassets/Icons/lock.imageset/Contents.json index eac29d3ff..b888030d1 100644 --- a/ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Contents.json +++ b/ios/RocketChatRN/Images.xcassets/Icons/lock.imageset/Contents.json @@ -2,17 +2,17 @@ "images" : [ { "idiom" : "universal", - "filename" : "Cell Subscription Hashtag.png", + "filename" : "lock.png", "scale" : "1x" }, { "idiom" : "universal", - "filename" : "Cell Subscription Hashtag@2x.png", + "filename" : "lock@2x.png", "scale" : "2x" }, { "idiom" : "universal", - "filename" : "Cell Subscription Hashtag@3x.png", + "filename" : "lock@3x.png", "scale" : "3x" } ], diff --git a/ios/RocketChatRN/Images.xcassets/Icons/lock.imageset/lock.png b/ios/RocketChatRN/Images.xcassets/Icons/lock.imageset/lock.png new file mode 100644 index 0000000000000000000000000000000000000000..f0d911fdba94b2446e3387f1b77e05b3ec59d310 GIT binary patch literal 408 zcmV;J0cZY+P)Y5S`i6TpA&bU~8F5Fls0M1yAq@#E+zjKO(h%!>BP3 zPEh}YVBrVaS*fjHVPU1Y>~rSA>aqfx9`1~+uhk^nh;0bXk}p0Vxnc0L3HC8 z-ruc-*W-3GP8@W4d)DGg_%#4``Y2XTwQ;}vB#YzTSvmgd-xK43eY4&O!&gUuuTWUrsct-`Szmt;-vE|-m%ShZ5dNQMsDozqp&V2i;4$j%V+OWriXz&w-r0OOp=J85ih zUM4eOLK&bYv|(BkR30TcK%9i4yqe5OcZLO0kMYb>y%uWQevHFzRIvkln;M)=Ov%4| z{|gW~2T3kWOD@dYZ<{Ed*}U!)ARx$#ld+zaEWQD*HhmO_1eP2C0000P)xk&`mc_il)>3E0T6)VOZf0?~ z`F0TClW?-KnT6A}TmqV{<;M=;4G@)-m}wD@48hZCIQ}jZ$BQQlXfAx7as=&UA>8D- ze?ka;N}j-81HuXRM&dYwFkPK_uo%zv`k4Y+tM?6ZOqtgcH9sikqR^$MW}B=}M*mk%^P$qH6Dii_9MoLa8{23%ASA?&E1*Csd!gFc>D073kn zr$b)>fBp}L53l2`OaXfZq+tI`Dsc|*Ie#6=os~|GTpb*YcDrtvAecXm0%z?kQhY+Q&)$HijF+%EqR2QK} zatm}WY>wHzqHX}i($4YBSi+r|+s<^#NSe%SdY<2T z-FxS@McAf?h;TCV;;5=p7=VreK_?-0YVb(31PDt^y;Bs-55~@XKt$S(&{!`BC$3CP zWrtLNTb%SkM|cQ}3c&55cyxjbVORH0T?I@|&m1Xj6jR*F9ycj)@VP)!aCor4@1q-k z&Bt{CsdToV6Mx1N*yT33o&e%+PU76~Ky=y-j;jKaQ`t+T(!;6&5m)uK&qn%QAZo2< zj|yH+#G{X@*~oM?7cf4VJI=du7KnmYKwL(I2N(#v9FFzPiTYG#riV(UULv@{C3T28 zoklEjr6)!PBX2FbDuS8{$YfrJ){DR9Ie~Tyrh@nPwzZ6f!{HT+P7vht`L-V`>vuq< ztAe;p;?I`g?(SIZh#6=xv{<678tu3M-khh*Kmi4Bm}Rx{ zG7MR)O1O@eP%fA2SY21Y89)%fCgPC;`W`SSYGb(Lm`dlq5YT?nv$aLp7l}lcMVX9t zG=a5(+GTd;o6MVflh-iI7_(-4SxmEy#ycv2FrZ(`3;+lV2EHCff+dY9iQ%XKP)m{* z57>@Z5>GBd36?CT#M@B;3Mdvkr21}=VlFZ)SxnJqleQ$bsc4i>zkr>dl;u5;%*-5u zQfbPV7>0;c^S7-6AAuW2J9iwv3!2!|bVX4X`O;{-)CB_ZM6B<#7{zj#LsIvsM2AHq z1~Rh$xMs`MLT2SsR&JP~X$t3NhV%D;xg-CZZ}-`CM-C;ZYhM$15uap42{CAM)rxv^3)TihF3k*N0R6=uB06~ZWLzO^wQr_@O$S+_g cmyZ_vFaLxDW)Ts;^#A|>07*qoM6N<$g2f!gdH?_b literal 0 HcmV?d00001 diff --git a/ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/Contents.json b/ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/Contents.json new file mode 100644 index 000000000..059ff5a46 --- /dev/null +++ b/ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "mention.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "mention@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "mention@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/mention.png b/ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/mention.png new file mode 100644 index 0000000000000000000000000000000000000000..4455b43e8999c322b2b4f2aa24bdf7dfb0218e89 GIT binary patch literal 618 zcmV-w0+s!VP){( zZ)R2YtX8Xa_{-NHm(A>wiXErfL_ewOtC6FFFN($D_cTP)m!)T`GhS?7Mb*SwPW1!r z-s~iFMd-|l)~c0KGr{c!SbVyAPgUwr%v(NpKMaDOi4)I86b)#n`@lqMW>UX4S9(Z& z9Dpywu%hawsW+uv-w|n0{BDEDL?hqJ7QD*CN_lBuV@Q!-k zxQuRiZ+M_|7Y{x{spahOkugWY;+m0m0^aO&*OAd}+&8!>`yE?A>XYSBL&+ zM2Ly8i6S}CZ)AM%a^ij=(_@Z9!ao0n=sFBxV{L6X(NXs1&x6!M?RLA5dX#V$_d#te zH_Moh$CA&TU~TLGNsM_wDRB@41ZN%8JcgFE(Zct5__{N_{IX?0BZXZyZhS!TStys8#1?7GM+kpFyI3dc^^#IB1m9ptQUjfXaV;CZvlI z@TZXa1vID<&R%`DZvYzherE(g`(=yYxiFe-lB0Bh-#*C`)KjwGT>t<807*qoM6N<$ Ef_h&fPyhe` literal 0 HcmV?d00001 diff --git a/ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/mention@2x.png b/ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/mention@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..1f51d42fe621cdea96e25619ab0e42dc3c3ee044 GIT binary patch literal 1462 zcmV;n1xfmeP)7tRRl{S^${sbeW1|d4}U3AMAU6!x-rS- zu@RMmf(T+-sT5zSh#<5-Qi|O+?<}!tsQ9R&{uKj?)}lzDq9phNC9P@PduKe~+?|`* z?QTr^xUf6tp7WhKXJ*bhb1sP$K8J_LZxumshZa<;wXTCY5zUa$vmzGzrmMB-yOm5y z%K>MH$8QmV|Af#YsfD;{DIK10T9B9&vG~DEYt#2jVIf=6fq{W{Yx5$%hXg&&tBn;+ zMs$X>o&ir2)d{U@TsiMbpoMIIO6KT9v3 z>}+ZJs#I|~??*<)?^1bxl6P{0nNP}{nRIHet6Stixb6BF1F-U`>UiRz*4E^&uEI*` z;o-^k=luEiSZ_1`6vxvx_c$U4Ou%XX2b?)pUKLMlxme@YSvaxa&wm;21kHIAzu5+6 z+=3A8Oe5g(*!I?z$}7(fjc*j%e?Tj`-slsZCMiG4v^D*R_rby3CSQmqsp5Sd9gV+X zA$%OkAn$*H1r}@}KEgB%^E^0-RO5i#-_`!uGZ2!yhV~89C3(r5aWqC^5mgy$;@UjOhJ>%o>>`V_^iuTOB@H=L6Ao_!^Z?O0@kZA;v0M#yJVT3!vGqunZ3dx?FPt~9zBCA29(F4oux%Q~Mt)k@y3@JcOQ zEG`(dO*I5tVXI3aMehYn-Y~UE>moT`qDzczhe3EAYbCF2@k%XYm!$p) zY~HEbk&#KWTV-GotAN1;gu)OSiliaIHDa9+lemiO4tFwm_&&##YH0V5;vd@AbNTtQ z1(4_D^U>p^QJu9Ik^tN{19rR|9FYAPHUM9*`o-DhQ`qmeNt;*+|4YHBLn zjRF&Q4yWpByt0Eii5`xN$TS#*W&&jKgYruBH}acEpUC!)_PWOb8a&8C44pL-Xi@*| zsp-C4E|Kh_xoU_~Y^x!3@E|iVB0eyh zhaHVc(VzmogNw~}@EAAGs9%_>4~-jM4;qv(3%G$~P=Gl2XF-lK%LksUfIJn!>NOT%d^j~uw14T&{YZj1^MIu!P% zjX`{6iw$U_(8-ijx|F=g0ZfWsjXRqc3kEi$jY4C2DGip+6&-;qD0IfJF%J%|xGi_* z`aim?15moq4-=)-Bb;}eB+1>K>Fpm}umeyufhm^pX=bkU!WUG*B1e25AL)*Za=vA6J2eG%)Sf Q0000007*qoM6N<$g1Pg{Q~&?~ literal 0 HcmV?d00001 diff --git a/ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/mention@3x.png b/ios/RocketChatRN/Images.xcassets/Icons/mention.imageset/mention@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..29defc2cd2336da6addb8683f0b618c7abb8153b GIT binary patch literal 2249 zcmV;)2sZbLP)8b7sz*b7pQyjPtLrZ{rM?a#t!L&(m6+&BGJP!&0dK zIXdxmDz)^x@tl%QcCg+}o6gt6#}+Cl7rE_ zl_@7=fYzFNGTA05axd2RM!-(xsfsy>$c4e5!0@-)Tbr_gbum|YOl$*s`ZnAQ*LV?1 z&n`c7JSvpm16O;zJ=OTPIFeNxuy*anS;yR5rxyCwhzS&t_zbk&P-edtG$b_b_jpN9 zC!wdo=;?sxXf3WsD?M81KN7UP#!1}2V#U(`gh(a9sto8|n{808*Z}3vw@2YE$8W17 zvFWT@xh0uQ{%F&q`U3+4Q%8PNi~j`2ks?9Cq~29jT@_1Nab7)&LyT zmz36z*fJ2GaKe

_t`hD6uQ85cg-(9n>x z2OsbL;NW25o9_<1hS0joADi7t$oZwtM3Dhw(dKjez{1}slvRKEabHM>_LJ*;)!Mpr$c$}TE=AOlWAkgA37>~om(RrTsDd{X4z`re zEq1c=4d7VZ(>Jgit)F3$85dL=Z7|uS;orn6Wa$>T-0Y&*p3fPaZTstLMHd$3=(cU! zY7ZPd{BQ8i#A=V!I*C7qjo|2nF?Se)G4`JJRB{eluk7#*=uWS12BzO)+zG#5VBm6X zZ{NT&rSz-V=8Mbm85;cgdnxHJQme0zYq8hIOS%WqW{rVO+nveofRTQlfYL1;cQ>zR zx_<_c`tLIWY#k>l14p&I$~}GA=Ut^ZOIM{lkHx$!;|dC#Ez%T7mS$eo#jJQ&!LwV6g97IQt1a=|Z&xwbLPQ7v4qu}FEMfk}yp54W`3nJ?mk!s-70_og4sjlP2X zk_?h6L#z{Or$x*OV;t5Q-Lz+bcNxLPj{OuDW(FwLdIxq?zrxO7e(>q%+EYzW8@N^#4?kgDoR4JY)9P4ysR4LFsugU8y()lys-K6rOToNNfl&vbgXk+_4R=$$*wqhPH zWNcieKI_D~`FvwKOTNQmCGBhAZl5Wl!=bW3q7inR0$g2>WpE}&tK;^$EZy|kth?k3 zxKBn0gO>7NpM{eYfNKo`7nRKsK5tk`wqr6M*+i|xIW`>bhjnA!5sJl>0HYRV4d4uG z^J81L+i;vdqV?Zxew?Fv8!qaHbYtD6A~D%!)It`edz)^`1A{~G`quPgw_5(!mO%x4 zt__F#Vcl5w{2>l={!U?%`mn8<)Kn{_7DsHPzy&-2hX5|jY!nIiQX7udCv}m{kDC9G z4Oi2bBt_tM#jgkD1i7ljVe%6I65y@n_{-5yiCkyXksE%n;c#E#kk~i?lO;d**+^u$ zvOB;fF?jYE8PrgBafUT;we6V9ya2zWh68X2AnnewQLa!|$^2U-p8E>FIfZWN9+$)g ziayIL4+@B?dMty5m>6Kzbaem@0l84bLQ7GsV{HotUamvYsgfSX|OQ0fcp@Y|Z?zaTpk z=PU`i+YFssN6IB_spPx&po zx8VUiYQ0`rBF}-y+0&6~?qDc?2DpbOZf^L;it%$_9*X{-4Mk=7Bvzv_a3-QfJPPx& z49oHuD_fIqATT@zBA3f$f2@36jl9<|`8&W$pYBV&QNpy?&AG0tS7Qlp0i^JB* zPmI5}ohWGl8*wI{*LmK!zakeh1Mqu1e_SwdzSRx;a}8q2;#MHyI?0W2K%Gb@zCr&c-SI9j_o zH4Tw%8a|9q$4%%uBu&1^`0k6k>DRhiIR!-`K77afRc(M7_Edc6=CIw~nyg2pt5`}H zJxuGbff4F%}28J29*~C-V}>(e-q343Usb zPH1SV><;_WzA@2clZ3F(1c9?1Yq}>SZLl%pJ(1)R?OWT*{6dl;+Ev{3jdf)nP$Pq< LtDnm{r-UW|Vk99E diff --git a/ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Cell Subscription Hashtag@2x.png b/ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Cell Subscription Hashtag@2x.png deleted file mode 100644 index 56e7b8cbf8876f742b5a262716fe87e2f3c1fc2a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 144 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VV{wqX6T`Z5GB1G~FHaZ85DUTN z1PA8NVrzf!AIdl+5fk%jhCxV>hQSZs6cx2S9-OSJswEE>#cXU}CotV=)$W2T4qq0i q&$a(?xWHuj1i95Otk~*xm>HIC(l~4-yXX?oR0dC1KbLh*2~7asFD@4V diff --git a/ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Cell Subscription Hashtag@3x.png b/ios/RocketChatRN/Images.xcassets/Icons/subscription_hashtag.imageset/Cell Subscription Hashtag@3x.png deleted file mode 100644 index 59983e226bf8e5dba3044d865ae8dcb6dddd1c7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 184 zcmeAS@N?(olHy`uVBq!ia0vp^av;pX1|+Qw)-3{3jKx9jP7LeL$-D$|iacE$Lp*qs zQw}gb(~bHluQpXg{2)iNu(R;u>75eI84J^{Bt^Aog&DK!tdN`-tPr;RqDR4j8k+>M z$2t-d7AI_BSm;(Iy}?3m>kO%j?o%WeJNkwg1Ug?l!TsuD)f4F%}28J29*~C-V}>sr7Vm43Usb zPHAW|PCvIHZeQJY$rHWJT)LO8hO9F+H2lf?$k>rp(xL00@t^C-sVRoci2~BA1lO>v z6FAYGoSfp@-N{+UbV$L>gC|X3&b;jzN9!%vPdSJsvvewQFVJTDIQfy%fma{2S|pp^ rxaG7RJi2221lBaOGr9(LR=f;pZ?yld3AZu@I)uT~)z4*}Q$iB}04hU1 diff --git a/ios/RocketChatRN/Images.xcassets/Icons/subscription_lock.imageset/Cell Subscription Lock@2x.png b/ios/RocketChatRN/Images.xcassets/Icons/subscription_lock.imageset/Cell Subscription Lock@2x.png deleted file mode 100644 index 7a0dd92ce80098e645d6309a8ec78bba410d6d92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 348 zcmV-i0i*tjP)Px$7D+@wR5%f1WWWLb|NqapVCkw9Af3#>z^DyT_Wvp)BjenJ=&(6J`ad?UjMxMh zFJ3G8hvCl>pkYqfv{*slc|Ns4;1=7gF&Zr+27WNL=(p9Tg34Qtb|02Wx|1ykBjA@B6;j@wD zvAGZ!W(*8Ki86GPx$n@L1LR7ef&R69=sK@gs~qoBaT(pdW+Y@m?{*jAAJ5Hjd`LlXLI}Hxwi#1Dk>C{_=l-JE zcv@5r7XkL~9=FK%y8yITjK>#r-OKjb@kcQZpwzg3JKh2CCq%GbCdTWC@D1P|wa*)G zMR=!Zkvq+rBBDweyA`Nx*Q(AM|9H%EyvAD5AM_^?S5~jcOG+e+H|kUge-UA`)AF7* z&P>&_-r!-Rx*ZbHMra;!_cd%(Yi3 zqvqYq#m2`j7b_YobaGCiS`FTF z**TLMHr3FfvN2ID0ehbJlZ?yWbJ&cA&XbLG=FwGs-Gzv)l|=tEde^Gox6GTD+^JJJzhfzbtDVTQmLz Xd!B%g+qs1D00000NkvXXu0mjfxwGC7