From 2692f5222d692376a8fc764722eb396a2587e312 Mon Sep 17 00:00:00 2001 From: Diego Mello <diegolmello@gmail.com> Date: Mon, 19 Nov 2018 16:18:15 -0200 Subject: [PATCH] [FIX] Upload buttons on Android (#541) --- .../main/res/drawable-hdpi/mention_header.png | Bin 0 -> 1386 bytes .../main/res/drawable-mdpi/mention_header.png | Bin 0 -> 792 bytes .../res/drawable-xhdpi/mention_header.png | Bin 0 -> 1835 bytes .../res/drawable-xxhdpi/mention_header.png | Bin 0 -> 3005 bytes .../res/drawable-xxxhdpi/mention_header.png | Bin 0 -> 3848 bytes app/containers/Button/index.js | 12 +-- app/containers/MessageBox/UploadModal.js | 95 +++++++++++++----- app/containers/MessageBox/index.js | 2 +- app/i18n/locales/en.js | 1 + app/i18n/locales/pt-BR.js | 1 + app/views/RoomView/Header/index.js | 29 +++--- .../mention_header.imageset/Contents.json | 23 +++++ .../mention_header.png | Bin 0 -> 792 bytes .../mention_header@2x.png | Bin 0 -> 1835 bytes .../mention_header@3x.png | Bin 0 -> 3005 bytes 15 files changed, 114 insertions(+), 49 deletions(-) create mode 100644 android/app/src/main/res/drawable-hdpi/mention_header.png create mode 100644 android/app/src/main/res/drawable-mdpi/mention_header.png create mode 100644 android/app/src/main/res/drawable-xhdpi/mention_header.png create mode 100644 android/app/src/main/res/drawable-xxhdpi/mention_header.png create mode 100644 android/app/src/main/res/drawable-xxxhdpi/mention_header.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/mention_header.imageset/Contents.json create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/mention_header.imageset/mention_header.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/mention_header.imageset/mention_header@2x.png create mode 100644 ios/RocketChatRN/Images.xcassets/Icons/mention_header.imageset/mention_header@3x.png diff --git a/android/app/src/main/res/drawable-hdpi/mention_header.png b/android/app/src/main/res/drawable-hdpi/mention_header.png new file mode 100644 index 0000000000000000000000000000000000000000..01cc741aba1fe42dac06d65393003562cf1dc885 GIT binary patch literal 1386 zcmV-w1(o`VP)<h;3K|Lk000e1NJLTq0015U0015c1^@s6J20-I00004XF*Lt006O% z3;baP000FcNkl<ZNDZ}DTWnNC7@nDPT5B(~&`@ndgj$m#F(^r`m&BNc2OqSlmavel zz4_>iJRrtssuk*`_~4U|TY4j5fkIPWd@zkM0n`x12NaT~C7RZ>656!I%ARw^@0;Co za`tq4BXN?m^Upv3eE-Zp|7BK+O|*f5WNk|7=Y=P#l+;yR>S;M8l$grX@@h*<?B+({ z<a&br{lgWWN*(dEXck)6t|>3&O(n&!^76iFZEc=eOLkSoqobpRcjo^&>S_Hh6c+m+ zQp#zq#iW#CiagL&0IAkOKkCZ}DHoNLC(BD8{<5*L@m|0W5jhnP4V~Zlujh;a_35;% zoQ0yVg_0LL;;~;s>jScPDESQR{yH}DHny|fOh|eCA!Rqk;|FdBf*E3k;=Z9|z31ss zt#t)tQcB4$ww4t1G&MCXL>K28kBp3z++A2c28{PGp9c%g0Hd)j9{VvYpQYHG)OCJJ z@0h1l2Rd2~eji@2QMz~F>`PjE=ZQt-`O2;jpIrGsyi;RdV<tJP^7CJKP^HA=T4D$x zXK6iRQ-`lFP)tY4+-Zs@Z9n|RxG$8e?;9R2=NFwD8ymCvkxvX_flLwG=*TQEre?@E zGBu9LVwmN4N6Vqk%zReYclz93&vlP!Azp)QshN~=9w3*LW%WE(S$<>U&zaxIuijDd zWJ5!PL;BR<nd7+g59#f;&Z}XlnG-Wksg!2fwx!@Cg`@4%VDbakaeju`;(<~MVFToG z?)KE*pJDt2zsbMmcK8@{PGW;!Y;<8Ft(eIHjUkiEd#Tj(yc3j%MJAMx?^w2aksoRD zI0tJSB~G*v(}W`?Od>*W_ntntTRToVBOy+si)db)<`eQ^(zBK>>u7C#Who?gC7Dbn zmX>t_S8y=I&nAiO>W^^hTIy8VbDyIGc0HXdIe3o4cr+)q#MY=%10IXT7K;khTafz0 zFmn75n>si}or($H43GxdN1K-NRq~`3$iG=9%@U<@$Rx6ukpWY!VX?^gRmRV~VObL{ z8Sj<0L}FRHDcimtNLZpQpfiN8gF1sajtc!x<3-|XAxo60ryQWlM3uEQH{ZeK&l_P! zKO3Eoj^PiPqJkM$%thznoR5&lUa^RqffT#gM;nALk*B3N(%=70QFPuP!?TNVl6HTr zw7bQp{T}hYi!`vdDXFX<%s}f(Q`$HPHD)9XQI>VJEAIB@Qck5y%U%NRx)b+^sKNr* zHMzluqQ78ctaz}lO5i|3BnHm>&iI16cOhMVOkTK!5(vX?f*$TWo5mH;8r&GyAUA)D zs<a=31MqIvaHVCX>$%;S-Uo@<0=saJQH)&rDRSxiWR{l})U1)cm`GN0NKYx%`PA;m zdw#t!{vFPR%Cw@P0Ld5*chP|Gjf5S-<MehG@fG4=w7(hawrqPJ77jtyIGmAVkpPc# zl&Pz$OYPlL^D=l{IMrktOXB$>$E2m|sgyi(ViGWCC-QL@NbJhmzg{i&OQP|70<6+{ zFI*@qN~IQ%VBD}spqNE^cJAI~+%-ZX{Sa8MCWnDGO9%JG*B~EeFwqQ6?%ltCh0mAG z0&Y}3II+Kgk3HAbh+Xqi-1KA5$62pmp_mIE^m&UgGX<qEUwj_D)96NWDyGmzAM~(H zC48b9ag09Ql%?w0<FRZ0I9I=_VqbVOe_;T23!yfMusQ)>F&WIqiT3L%4lgjT6+Rq7 sf7*}+r;&W8RK9(=?Qrw0u>4x|e`c;}cnN_a8UO$Q07*qoM6N<$f*4z-S^xk5 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-mdpi/mention_header.png b/android/app/src/main/res/drawable-mdpi/mention_header.png new file mode 100644 index 0000000000000000000000000000000000000000..f278d456bd888125a7a26a3dd2dbd887f50a3d78 GIT binary patch literal 792 zcmV+z1LypSP)<h;3K|Lk000e1NJLTq000yK000yS1^@s6jfou%00004XF*Lt006O% z3;baP0008dNkl<ZI1!~(&ubG=5T1FPG?bc34~AAKh*(8SEgqyGC>}g2mNq7(ZC28P z(t`)_ALxG|=)r@uDM>3f{ehqef;T}d;z5fiy%id)f=K+4Hr*ZPTX)MQL<ss|Gw*%x zn=fzP%si&QjAF5P;Kz<!5|IHCI_S}uHko;?t%V<_QmN04T)7@B6jr*bRGntxNfonH zU`sh0KCfG`gkp}6%tR?VoyiQB!WuP#a|?^-Tvt{|IIbJ_$nb1-JhdKn$juk~$dw5p znj)4mlQophTzL_2_5^c<rL#otb0vOcV-04<k{<$6Bb!@T?h)5{qyk5X%!NSI6ZFG; zN5otEVthvL=UXF@dQ9(m|MzWqNhApk|0KeXfP_2q!n7<EOYVuy&p&P7b<2}3(`oRG z(Cdha&s3?L##;aQzMgbY9A~}CszG#}y=-nvNi%sjYo~95h>_1P4>;r$iK&}J{)Erm zqr45hmM=;vPuS`6;O6p+x0QFJEyi8OFAWO`z$OMx=82J1A|$7>_Q)}Om}__y{Z1&& z^2qp6UsMFN4C)M}5zZ#U#K|H|sZ3_%ZQzJGFy+S->kM%CLIYYxLqO36b>?xrJJT@3 zVu3R-5&EU;_5kzk2DH4S)NTCZk}G=34x^!MszP^I1=%D`K%wxkKa67zjG0>X9)H&C ziF;JnhmESPp`E-A@EIr#WOG-j7#77Gm}Xr&ggWOQEce32w{gW+IiFumI9%OSfu_r* z#iDCFF6C69LnC>wwpZ;}Et`I0+e2F_HmkKYg?91}Nw%F_i<)>J3*8dtH~26IHa3=i z24^vRN24pjVvQH*zgjQ&^RP8opa+fNVKh2=Gknr8xtY0l!hqQ9^Ti^^ua2jdG@*J^ zwWCH5TTMN%M3q>i_0Z_(<xjP8`d-xo!P?8dsa`}op#y;HD_$Z)uPitE#7kyC4%y$( Wo@pz}Zmrb-0000<MNUMnLSTZp@NHB8 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xhdpi/mention_header.png b/android/app/src/main/res/drawable-xhdpi/mention_header.png new file mode 100644 index 0000000000000000000000000000000000000000..83f29f79c851c2ba5795986387e325c9639a4666 GIT binary patch literal 1835 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 Z{6FTPV!dbZOSJ$1002ovPDHLkV1f=>e2xGB literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxhdpi/mention_header.png b/android/app/src/main/res/drawable-xxhdpi/mention_header.png new file mode 100644 index 0000000000000000000000000000000000000000..f20b27aea50b911f2490f635995ed1a014534212 GIT binary patch literal 3005 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 literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/drawable-xxxhdpi/mention_header.png b/android/app/src/main/res/drawable-xxxhdpi/mention_header.png new file mode 100644 index 0000000000000000000000000000000000000000..930fe78f953e8cba3508ecc728c26b0f23159a76 GIT binary patch literal 3848 zcmV+j5BKniP)<h;3K|Lk000e1NJLTq002+`002-31^@s6juG;$00004XF*Lt006O% z3;baP000iZNkl<ZcmeHQeT-Dq6~Fh*?2cBpjkci*Dn<~*)RO3GzZ*g92Wi9>m_>GH z*~LE^i%qpyF==dVO&hgRwZWPuExYW8vI|tO4UMgQBwAwuZAlvxzZwOpG1jVpI6E`% z_V;@;Z+J6v-pqS5Z`Vb9$@1<!_uO;O{ms4i+>dh~N`3e=gn(`+cY~P+2DW^3#6H}r zE&F_<^bBpQ8A_{3%9s|VbPK|G<1y+G{yC(yK7{Z=W2t>wnSI8#o^7@!?C$88_fCVV z)SZ1y0URD4j=ejgFEe&-E&!SXfG#%1#Ol@_8MW3qfcg{w-lnbCqaSHDJCey{t`V7G z@{S3B{r&4^WsFXtuy&)&>0uNM%d3@s%_ue4q)mS+wRlh1{9*Y=6~MIv>%U<e`-f;{ zpAD;66#QtNPg>gg+0u?he~dz&Bx6(n?Cl>~U@LVC#<E#bp<_<ddXJ^lZC$ChjZv2! zDS$l>Y&c)#a`&Od&52skDCB9awyIeCy6z<lpN&EuWkdoXj6?I0wD~dQ-3aiSLn){A z0Vwe}y4y2owfmH@pV#rkn^wXcIysw#^;PO<Jl<lbb&JWSPgB}D53Oki%9)9=?u%&U zXND;c<&1#;u2T~FConb)H}o_N;NalKbJMxZ5VU9wsELi1upO0OudVpD?)HVx2h1n3 z^$cz}&)C^HsK_E?)NC*T-$2jqxU!O+oymU(;`U)`2*AQv_dB$LkNL<il2Oop%sK9B z((%ELjs*vb2@wVc1~#6VG1+$Lvm8IrSv5s#{Wj3PrjfC+ZUB4whgPB+-5x;67cfV= z<I^*zt!-^>&D7+NfPq8G;k4a}5o#sCoK{Pu1-`D%wmWO_N$H^h1ZcWvV0aZ2yFn6I zq-lNF((2YJlPBIgd-m*Xkv@ij?c2A<Uw-xV@7YG(3VkP3En4flyE~FAFh-*B27f{U zNbq_GhI{Z{TCE5uvB^s4>y{>yuU6w5tF*Pl!;|f_Sq;6fs#d19RBu;%+p;hqh5~R+ z|Ijb1w>+K3n6d)h;l65$zF%p*eM8G(=~rP$N%-o3mbfg{_I=;<vV_0@)*AC5Xur|w zs%5FgPnVT3uA*!D*Ik58x~ZCxK?}UOJJoha5XA!l=vZ50HuwtEdT+Cie|5C1t8ck= zCeT`snCv6yO&9oyu(Vzn#5&gm(3$7i*{4yMI90*oedj4B>91o_`lg>U<B<+aecF-t z%%8BiajB>urZ@>Jeo=e-f|tbf0<r3(lhXlblI#N>=5>3INAOs8{@~P|br1nUomqEc zAf^|HRRJt4&%_l5$2@l1<E`a+!JzJ}1MA|Yd%~>+3_PULpl=s0Yz*vy=@)(homSd> ze!Lru(yIE$XjqidPe|4o24zIWVzc}<ApBckepf{R&sl7)_@IDCSXmcNza)sA29(RL zmeNQQTVOS-%Skd!{5Sms)=Tg2-*`qwWv+x#`Vv~gWNgz<GFne^lr-ibG(8A)U&WyR zSd(gcIF(xPAHT9VZlUY_6zN#bIZq#UUw(uxTXpvZQ?-ZuCfj~iIbJBB<b}!REhPju z!sQuO7;d!D_m(YN60g5;=-ak7OR_3^DL}&%&9joi_6i^TJ01T_cS1N8$m;C<=yp3T zqaT>~iI(5Yn>R1*)rH^zh?O4N$|HG>n?1COAnTS(tGUv$uYgI#hHOO_<~BS8h&#z# z+eWcGL*=ZV!Qs?v|9xklt<1du=QE&*y`iF(AUM3p!@QJ1S(NGFbz7c?RBVl2T1l97 zV;xI~ZUmS(*tqe++gqqZ;u%I6Pd=*k3)~nG(?SsYhKJ8aSNWUC*?j<RN{Fm7D`Zd> zWl}bo0OlFx%o44fhjFKlsH>DFVN(JiPtQ=0cmRa%a(kn@D!l_kU&y7+E+{8XjU=T* z&{`>*WrWC6!OA+at`!L&5F29TO)CKqdrnf*r={8dsSD2S^JWYi?&({%7(?1NC^0c? z-k|)H%`$@W`|+`^th1EP<5@4g2p}w140E9+-o#=UJIRe~hB~c6>$Rw$I4yF^fzr<@ zOWzrb=__K*%`+yPWVP^*VbYl9@VFU-cdasnEEOcDuBdZG0thI--NCAmShT{9$AGd= z7c$x0h8O68NF0~YwSHf%Vwf5|1sifxcW2VC^*o2d`1dIOR<7wAo`ZeQJ0bJpKuXlX z#5#|d%+Hav*vKe`jsfqESeGHV6@SMP^X?WTl|DQGs&|(K6|}PN*&FeeyRFt)Y^Pt> z)sehpnLl`?3L!>b=3!o}Wk+SVn{{U0D+&j}i<Jjm_^JpG=3wguav)Og1MAztC>jhX z_rI8>zQWB{v_KRS?qMG0r3}gnmpd4@f8CE^<p4-8DRgeJJMic+SaGFXoFp6DzO9s6 zh_U5adco56Ht`o0^Y{=cgR(}WCHmGKSUH$MCkMc+I&ulRS*$`w9D3J#Zp#&h-#pJU z>iQ_abM<vVgiJRc)!V5%FesNttcV%u4uD4GW|T8A4vX`+L=Qqk^Jn+1cxW(|rjoy| zNNA8inUvk2n2PLv7`T`f0Ms&oaJQ(C7=XZy0if^vLgnnVw)Kp8<#Nj7lu6m;^hV>5 zD`G&0P|9`ybUZ_al5F~_)bVgvg|(^3s`b7w*0v&l4FYAOP)>Iud;BnPG0V3=ttN{l z!qG>h*C4{CepzJEYO_d>kZ3HuDME3av&b0G6&X*y1^S%Y(@Ux@WeUQ}^TxFLOF1p- zc+_S1V&M337XXC0Xpt&H7c+@olZMSuktf#lib#)=7;zc?800Z?S|A2|5kS{JFKqqX zo#gU-CtF$UDv$0Hbs4@G6fnyJ7<HXWwv~?wPb3nRhUHjtB%!Fw@H+;8k#sgj@&G#b zFe>$@XJ{q0HU)P$#Pf=`j^-*hI%`V{$1xUVcr_}tKzXdATdkKlaM(Ej61a1jvju9j zq_HT&qj6yj#0?<faeR^mdTo*x-P&?ST~Rx4V;o~qhF3$k3(JE$9J;;CLBl+H6nTxB zFVZ6<YP-4*V1z|Eq8tEu_e>IuL~)5H@p@@Iw-uLb#?0VmsFyd&FlA#6K0QjAwPZN} z^5UMv2um|lqSvDF&>O9Ar^Hv-NsinabLmLgQkgDo^XAQ=$8`TZ`8~`6fH4_B-ovQ# z;i0#b6&1aBZU69hq_jq8Jp=2PQ+72OZyruht(GpOz4dNpnnZ^SfMYit0ORVEUHJKO z6^yvV!h0AM^Z*2U3}Ax(vczg@b<f(tq1jSeJ+!<mb9c?Wwh283+u7Wel3a8l#}n59 z(7A8xTp6uo<t3I%YHbSLEwp9HE+WRnZQE>&0z}H7EF9Vv56Jwq!}xe397d=3rI*ut z9(?E=<|(J=<JK0w9RTwLvn~HF{TE0tDy0OEbuC#m2=3id4xHbfnzPlP>G;j@OX8_U zV;<(E49cp;TTH{I$%vg@6Qn$cCp*GRMB?=bt10g6EEN^+9aw+4ZRdDwSpL|}R@0Pv zPv#28n!BKod@_g9Fnl=2nnCvpgB)w(plJlaI?Ju{3L$MP>U0g<cV8|~W1OwD0JPZq zn7=!<crJO10P?UHKEnri?#Tr2g9--rTKDF2!#r50#{fVSE9CM4$$ijhv$G|IT@`m@ z;HVv+q_D!^B$@NPT2mG1I|4b^;!NhZ{;f?P0uaB5EAwz7VZBHl(rJ5YR%vVos~=z^ zP_)>PZM3B?>1t0t#XLm-8ClaebQdzNVA%VBY5#>6Oq<$>cLH5I08mZu1aG<ZgdOm3 z5vaR!@w%RYq1DDV%j=Qjmj~WktGiN*zw4%Z#z3WbP2NrLzVVBn^{>4zb$V%G!>kZ~ zad;Hy*Td!w%1_xWgJm(#Ig=+|kNA$D`D^h})|4|pd4rd)1VDac07^XRWpKlAg1nh` z&)j%D@2-xvzs3@phfShksYj+K&u+?Q87_^UR`{yNx1s=%GAN5OUHN>MbYT+cM3}R4 ze_*)$!2$M-P;gZ_J!~A~l0~lt=it3jA3@ADIbEW~$B%DIy6oP)yXl|Lym$}NuJs=i zrJRm|LkCp%UpRB>_0kYl0U*WTPTW6WzGqd4go`hJ<@2NPQl)Iy#TOd3<EP}|zNk;R z9sr74w!6SQD7pBS^SklB2RF24GdV2x%xsrd{jImhn_@S0UcJz_$A}6a?@s2`K~bu| ze|Sb#!I~R27yAHbyGIZ>Sw4vK-dE6FAB`)$DV0i!OI)vf5kNA)Wp*oCgg6g!JgUa& zjZAOl#v)u|L`n*b#g?P1jFiv{5ezh|oXaUv;t59c1+Z{42lGPdF$s)9n|SL{N<EQi zz5o&gei{TXaRBAqkXJ^rf;sI(0<65QRRQFYULw}ih84uy<r$qg?%VRp=!pzsRR9SR z@5_Se8WBJcF`u~faN0a}qITz+01`Of+=fB%zb1v2n6WcYoQQ@c5P$^H`Gx>K$iT4l za7^TtQSQ-6=^s>@?>tbdFjoq_gF|bKt-7Rimxk6lu0DI>>NOhgPykW^f_S`qcxN;K zE0-A>Kvw`(DuF-!#Jgv_J|!*2U3tgryKVqk;qmtIF@B-Qyl0Y_8GH`g5^v~O{8xTg z^`rX18Um0?yx*U{!^XfgoX5f=!L(s`xeO{54I{?lqfJ`3c6227QrFRV8U~O`VIn=M zA7Dfg6Ec}tOWMwSoF8DsuE}&*{h9Q|25_=}cL6Pa539Rlad#ma`706tU9HCBCqVHH zhDW+P+rH-N81=i@+@lc8@doq7%Po913Cq7dQOImm2F60^sJ2nD#r%=Bz@pSbU>tk~ zc^$UmJ4e&{k1BvJpu8rJlbB9k=*E~;aqjH$Me&B=fP1ld(2B<gmR`N^?@`FCCSyzh zbQR#?ebk?V$54@lF?kw3jysf%@h-J!2S5}Lms~xfe2*!B<%;vlsB=>kmmRD9X9PIA zIGlGUgExUv2QaQZXW6*YWm(Uj+S0sp{`~olt691H597xH0{;j7-Y=iY1;d2^0000< KMNUMnLSTYF{dGS8 literal 0 HcmV?d00001 diff --git a/app/containers/Button/index.js b/app/containers/Button/index.js index b632abc58..f7d610aa2 100644 --- a/app/containers/Button/index.js +++ b/app/containers/Button/index.js @@ -25,8 +25,7 @@ const styles = StyleSheet.create({ }, text: { fontSize: 18, - textAlign: 'center', - fontWeight: '500' + textAlign: 'center' }, background_primary: { backgroundColor: colors.background_primary @@ -54,7 +53,8 @@ export default class Button extends React.PureComponent { onPress: PropTypes.func, disabled: PropTypes.bool, backgroundColor: PropTypes.string, - loading: PropTypes.bool + loading: PropTypes.bool, + style: PropTypes.any } static defaultProps = { @@ -67,7 +67,7 @@ export default class Button extends React.PureComponent { render() { const { - title, type, onPress, disabled, backgroundColor, loading, ...otherProps + title, type, onPress, disabled, backgroundColor, loading, style, ...otherProps } = this.props; return ( <RectButton @@ -75,9 +75,9 @@ export default class Button extends React.PureComponent { enabled={!(disabled || loading)} style={[ styles.container, - styles.border, backgroundColor ? { backgroundColor } : styles[`background_${ type }`], - disabled && styles.disabled + disabled && styles.disabled, + style ]} {...otherProps} > diff --git a/app/containers/MessageBox/UploadModal.js b/app/containers/MessageBox/UploadModal.js index c33eb6b07..aa4ec42e0 100644 --- a/app/containers/MessageBox/UploadModal.js +++ b/app/containers/MessageBox/UploadModal.js @@ -1,6 +1,6 @@ import React, { Component } from 'react'; import { - View, Text, StyleSheet, Image, ScrollView, Platform + View, Text, StyleSheet, Image, ScrollView, Platform, TouchableHighlight } from 'react-native'; import PropTypes from 'prop-types'; import Modal from 'react-native-modal'; @@ -10,20 +10,24 @@ import equal from 'deep-equal'; import TextInput from '../TextInput'; import Button from '../Button'; import I18n from '../../i18n'; +import sharedStyles from '../../views/Styles'; const cancelButtonColor = '#f7f8fa'; const styles = StyleSheet.create({ + modal: { + alignItems: 'center' + }, titleContainer: { flexDirection: 'row', paddingHorizontal: 16, paddingTop: 16 }, title: { - fontWeight: 'bold' + ...sharedStyles.textBold }, container: { - height: Platform.OS === 'ios' ? 404 : 430, + height: 430, backgroundColor: '#ffffff', flexDirection: 'column' }, @@ -43,9 +47,20 @@ const styles = StyleSheet.create({ padding: 16, backgroundColor: '#f7f8fa' }, - buttonMargin: { - margin: 0 + button: { + marginBottom: 0 + }, + androidButton: { + paddingHorizontal: 15, + justifyContent: 'center', + height: 48, + borderRadius: 2 + }, + androidButtonText: { + fontSize: 18, + textAlign: 'center' } + }); @responsive @@ -75,21 +90,65 @@ export default class UploadModal extends Component { return null; } - _submit = () => { + submit = () => { const { file, submit } = this.props; const { name, description } = this.state; submit({ ...file, name, description }); } + renderButtons = () => { + const { close } = this.props; + if (Platform.OS === 'ios') { + return ( + <View style={styles.buttonContainer}> + <Button + title={I18n.t('Cancel')} + type='secondary' + backgroundColor={cancelButtonColor} + style={styles.button} + onPress={close} + /> + <Button + title={I18n.t('Send')} + type='primary' + style={styles.button} + onPress={this.submit} + /> + </View> + ); + } + // FIXME: RNGH don't work well on Android modals: https://github.com/kmagiera/react-native-gesture-handler/issues/139 + return ( + <View style={styles.buttonContainer}> + <TouchableHighlight + onPress={close} + style={[styles.androidButton, { backgroundColor: cancelButtonColor }]} + underlayColor={cancelButtonColor} + activeOpacity={0.5} + > + <Text style={[styles.androidButtonText, { ...sharedStyles.textBold, color: '#1d74f5' }]}>{I18n.t('Cancel')}</Text> + </TouchableHighlight> + <TouchableHighlight + onPress={this.submit} + style={[styles.androidButton, { backgroundColor: '#1d74f5' }]} + underlayColor='#1d74f5' + activeOpacity={0.5} + > + <Text style={[styles.androidButtonText, { ...sharedStyles.textMedium, color: '#fff' }]}>{I18n.t('Send')}</Text> + </TouchableHighlight> + </View> + ); + } + render() { const { window: { width }, isVisible, close } = this.props; const { name, description, file } = this.state; return ( <Modal isVisible={isVisible} - style={{ alignItems: 'center' }} - onBackdropPress={() => close()} - onBackButtonPress={() => close()} + style={styles.modal} + onBackdropPress={close} + onBackButtonPress={close} animationIn='fadeIn' animationOut='fadeOut' useNativeDriver @@ -97,7 +156,7 @@ export default class UploadModal extends Component { > <View style={[styles.container, { width: width - 32 }]}> <View style={styles.titleContainer}> - <Text style={styles.title}>Upload file?</Text> + <Text style={styles.title}>{I18n.t('Upload_file_question_mark')}</Text> </View> <ScrollView style={styles.scrollView}> @@ -113,21 +172,7 @@ export default class UploadModal extends Component { onChangeText={value => this.setState({ description: value })} /> </ScrollView> - <View style={styles.buttonContainer}> - <Button - title={I18n.t('Cancel')} - type='secondary' - backgroundColor={cancelButtonColor} - margin={styles.buttonMargin} - onPress={close} - /> - <Button - title={I18n.t('Send')} - type='primary' - margin={styles.buttonMargin} - onPress={this._submit} - /> - </View> + {this.renderButtons()} </View> </Modal> ); diff --git a/app/containers/MessageBox/index.js b/app/containers/MessageBox/index.js index 74377bd4b..b92c68acd 100644 --- a/app/containers/MessageBox/index.js +++ b/app/containers/MessageBox/index.js @@ -40,7 +40,7 @@ const onlyUnique = function onlyUnique(value, index, self) { const imagePickerConfig = { cropping: true, compressImageQuality: 0.8, - cropperAvoidEmptySpaceAroundImage: false, + avoidEmptySpaceAroundImage: false, cropperChooseText: I18n.t('Choose'), cropperCancelText: I18n.t('Cancel') }; diff --git a/app/i18n/locales/en.js b/app/i18n/locales/en.js index 74563eed6..415821633 100644 --- a/app/i18n/locales/en.js +++ b/app/i18n/locales/en.js @@ -326,6 +326,7 @@ export default { Unread_on_top: 'Unread on top', Unstar: 'Unstar', Uploading: 'Uploading', + Upload_file_question_mark: 'Upload file?', User_added_by: 'User {{userAdded}} added by {{userBy}}', User_has_been_key: 'User has been {{key}}!', User_is_no_longer_role_by_: '{{user}} is no longer {{role}} by {{userBy}}', diff --git a/app/i18n/locales/pt-BR.js b/app/i18n/locales/pt-BR.js index 3232282b2..3f627b561 100644 --- a/app/i18n/locales/pt-BR.js +++ b/app/i18n/locales/pt-BR.js @@ -325,6 +325,7 @@ export default { Unread_on_top: 'Não lidas no topo', Unstar: 'Remover favorito', Uploading: 'Subindo arquivo', + Upload_file_question_mark: 'Enviar arquivo?', User_added_by: 'Usuário {{userAdded}} adicionado por {{userBy}}', User_has_been_key: 'Usuário foi {{key}}!', User_is_no_longer_role_by_: '{{user}} não pertence mais à {{role}} por {{userBy}}', diff --git a/app/views/RoomView/Header/index.js b/app/views/RoomView/Header/index.js index 025b1540c..813c145bc 100644 --- a/app/views/RoomView/Header/index.js +++ b/app/views/RoomView/Header/index.js @@ -9,44 +9,40 @@ import equal from 'deep-equal'; import I18n from '../../../i18n'; import { STATUS_COLORS } from '../../../constants/colors'; +import sharedStyles from '../../Styles'; const isIOS = () => Platform.OS === 'ios'; const TITLE_SIZE = 18; -const ICON_SIZE = 20; +const ICON_SIZE = 18; const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', - backgroundColor: isIOS() ? 'transparent' : '#2F343D', - height: 44 + backgroundColor: isIOS() ? 'transparent' : '#2F343D' }, titleContainer: { flexDirection: 'row', alignItems: 'center' }, title: { + ...sharedStyles.textSemibold, color: isIOS() ? '#0C0D0F' : '#fff', - fontSize: TITLE_SIZE, - fontWeight: '500' + fontSize: TITLE_SIZE }, type: { width: ICON_SIZE, height: ICON_SIZE, - marginRight: 5, + marginRight: 8, tintColor: isIOS() ? '#9EA2A8' : '#fff' }, typing: { + ...sharedStyles.textRegular, color: isIOS() ? '#9EA2A8' : '#fff', fontSize: 12 }, typingUsers: { + ...sharedStyles.textSemibold, fontWeight: '600' - }, - alignItemsFlexStart: { - alignItems: 'flex-start' - }, - alignItemsCenter: { - alignItems: 'center' } }); @@ -114,7 +110,7 @@ export default class RoomHeaderView extends PureComponent { return ( <Text style={styles.typing} numberOfLines={1}> <Text style={styles.typingUsers}>{usersText} </Text> - { usersTyping.length > 1 ? I18n.t('are_typing') : I18n.t('is_typing') } + { usersTyping.length > 1 ? I18n.t('are_typing') : I18n.t('is_typing') }... </Text> ); } @@ -124,11 +120,11 @@ export default class RoomHeaderView extends PureComponent { window, title, type, status, usersTyping } = this.props; const icon = { - d: 'mention', + d: 'mention_header', c: 'hashtag' }[type] || 'lock'; const portrait = window.height > window.width; - let height = 44; + let height = isIOS ? 44 : 60; let scale = 1; if (!portrait) { @@ -144,8 +140,7 @@ export default class RoomHeaderView extends PureComponent { <View style={[ styles.container, - portrait ? styles.alignItemsFlexStart : styles.alignItemsCenter, - { maxWidth: window.width - 150, height } + { width: window.width - 150, height } ]} > <View style={styles.titleContainer}> diff --git a/ios/RocketChatRN/Images.xcassets/Icons/mention_header.imageset/Contents.json b/ios/RocketChatRN/Images.xcassets/Icons/mention_header.imageset/Contents.json new file mode 100644 index 000000000..7a846eb54 --- /dev/null +++ b/ios/RocketChatRN/Images.xcassets/Icons/mention_header.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "idiom" : "universal", + "filename" : "mention_header.png", + "scale" : "1x" + }, + { + "idiom" : "universal", + "filename" : "mention_header@2x.png", + "scale" : "2x" + }, + { + "idiom" : "universal", + "filename" : "mention_header@3x.png", + "scale" : "3x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +} \ No newline at end of file diff --git a/ios/RocketChatRN/Images.xcassets/Icons/mention_header.imageset/mention_header.png b/ios/RocketChatRN/Images.xcassets/Icons/mention_header.imageset/mention_header.png new file mode 100644 index 0000000000000000000000000000000000000000..f278d456bd888125a7a26a3dd2dbd887f50a3d78 GIT binary patch literal 792 zcmV+z1LypSP)<h;3K|Lk000e1NJLTq000yK000yS1^@s6jfou%00004XF*Lt006O% z3;baP0008dNkl<ZI1!~(&ubG=5T1FPG?bc34~AAKh*(8SEgqyGC>}g2mNq7(ZC28P z(t`)_ALxG|=)r@uDM>3f{ehqef;T}d;z5fiy%id)f=K+4Hr*ZPTX)MQL<ss|Gw*%x zn=fzP%si&QjAF5P;Kz<!5|IHCI_S}uHko;?t%V<_QmN04T)7@B6jr*bRGntxNfonH zU`sh0KCfG`gkp}6%tR?VoyiQB!WuP#a|?^-Tvt{|IIbJ_$nb1-JhdKn$juk~$dw5p znj)4mlQophTzL_2_5^c<rL#otb0vOcV-04<k{<$6Bb!@T?h)5{qyk5X%!NSI6ZFG; zN5otEVthvL=UXF@dQ9(m|MzWqNhApk|0KeXfP_2q!n7<EOYVuy&p&P7b<2}3(`oRG z(Cdha&s3?L##;aQzMgbY9A~}CszG#}y=-nvNi%sjYo~95h>_1P4>;r$iK&}J{)Erm zqr45hmM=;vPuS`6;O6p+x0QFJEyi8OFAWO`z$OMx=82J1A|$7>_Q)}Om}__y{Z1&& z^2qp6UsMFN4C)M}5zZ#U#K|H|sZ3_%ZQzJGFy+S->kM%CLIYYxLqO36b>?xrJJT@3 zVu3R-5&EU;_5kzk2DH4S)NTCZk}G=34x^!MszP^I1=%D`K%wxkKa67zjG0>X9)H&C ziF;JnhmESPp`E-A@EIr#WOG-j7#77Gm}Xr&ggWOQEce32w{gW+IiFumI9%OSfu_r* z#iDCFF6C69LnC>wwpZ;}Et`I0+e2F_HmkKYg?91}Nw%F_i<)>J3*8dtH~26IHa3=i z24^vRN24pjVvQH*zgjQ&^RP8opa+fNVKh2=Gknr8xtY0l!hqQ9^Ti^^ua2jdG@*J^ zwWCH5TTMN%M3q>i_0Z_(<xjP8`d-xo!P?8dsa`}op#y;HD_$Z)uPitE#7kyC4%y$( Wo@pz}Zmrb-0000<MNUMnLSTZp@NHB8 literal 0 HcmV?d00001 diff --git a/ios/RocketChatRN/Images.xcassets/Icons/mention_header.imageset/mention_header@2x.png b/ios/RocketChatRN/Images.xcassets/Icons/mention_header.imageset/mention_header@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..83f29f79c851c2ba5795986387e325c9639a4666 GIT binary patch literal 1835 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 Z{6FTPV!dbZOSJ$1002ovPDHLkV1f=>e2xGB literal 0 HcmV?d00001 diff --git a/ios/RocketChatRN/Images.xcassets/Icons/mention_header.imageset/mention_header@3x.png b/ios/RocketChatRN/Images.xcassets/Icons/mention_header.imageset/mention_header@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..f20b27aea50b911f2490f635995ed1a014534212 GIT binary patch literal 3005 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 literal 0 HcmV?d00001 -- GitLab