From df155fc092e282a87e34767be2c8fb16c8fc6f20 Mon Sep 17 00:00:00 2001 From: TaiAurori <31465218+TaiAurori@users.noreply.github.com> Date: Wed, 18 May 2022 18:18:30 -0400 Subject: [PATCH] change design to conform to revite, seperate debug builds --- App.js | 18 +- android/app/build.gradle | 1 + android/app/proguard-rules.pro | 2 + .../src/debug/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 13651 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 13651 bytes .../src/debug/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 12704 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 12704 bytes .../debug/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 14962 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 14962 bytes .../debug/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 17437 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 17437 bytes .../debug/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 17849 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 17849 bytes android/app/src/debug/res/values/strings.xml | 3 + .../app/src/main/assets/index.android.bundle | 2 +- android/app/src/main/res/values/strings.xml | 2 +- src/Generic.js | 75 ++--- src/MessageBox.js | 16 +- src/MessageView.js | 6 +- src/Modals.js | 67 +++-- src/Profile.js | 10 +- src/SideMenus.js | 4 +- src/Theme.js | 270 +++++++++--------- 23 files changed, 246 insertions(+), 230 deletions(-) create mode 100644 android/app/src/debug/res/mipmap-hdpi/ic_launcher.png create mode 100644 android/app/src/debug/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 android/app/src/debug/res/mipmap-mdpi/ic_launcher.png create mode 100644 android/app/src/debug/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 android/app/src/debug/res/mipmap-xhdpi/ic_launcher.png create mode 100644 android/app/src/debug/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 android/app/src/debug/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 android/app/src/debug/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 android/app/src/debug/res/values/strings.xml diff --git a/App.js b/App.js index 802f139..59d64f4 100644 --- a/App.js +++ b/App.js @@ -176,7 +176,7 @@ class MainView extends React.Component { INCOMING REQUESTS - {[...client.users.values()].filter((x) => x.relationship === RelationshipStatus.Incoming).map(f => { + {[...client.users.values()].filter((x) => x.relationship === "Incoming").map(f => { return @@ -184,7 +184,7 @@ class MainView extends React.Component { OUTGOING REQUESTS - {[...client.users.values()].filter((x) => x.relationship === RelationshipStatus.Outgoing).map(f => { + {[...client.users.values()].filter((x) => x.relationship === "Outgoing").map(f => { return @@ -192,7 +192,7 @@ class MainView extends React.Component { FRIENDS - {[...client.users.values()].filter((x) => x.relationship === RelationshipStatus.Friend).map(f => { + {[...client.users.values()].filter((x) => x.relationship === "Friend").map(f => { return @@ -200,7 +200,7 @@ class MainView extends React.Component { BLOCKED - {[...client.users.values()].filter((x) => x.relationship === RelationshipStatus.Blocked).map(f => { + {[...client.users.values()].filter((x) => x.relationship === "Blocked").map(f => { return @@ -214,7 +214,7 @@ class MainView extends React.Component { - { + { this.state.currentChannel.channel_type == "DirectMessage" ? this.state.currentChannel.recipient?.username : this.state.currentChannel.channel_type == "SavedMessages" ? @@ -288,10 +288,10 @@ class MainView extends React.Component { {/* RVMob - { + { this.setState({emailInput: text}) }} value={this.state.emailInput} /> - { + { this.setState({passwordInput: text}) }} value={this.state.passwordInput} /> {this.state.logInError && {this.state.logInError.message}} @@ -316,7 +316,7 @@ class MainView extends React.Component { }} /> */} RVMob - { + { this.setState({tokenInput: text}) }} value={this.state.tokenInput} /> {this.state.logInError ? {this.state.logInError.message || this.state.logInError} : null} @@ -355,7 +355,7 @@ export const ChannelHeader = ({children}) => { return {app.openLeftMenu()}}> - + {children} diff --git a/android/app/build.gradle b/android/app/build.gradle index 7e6b787..22f79fa 100644 --- a/android/app/build.gradle +++ b/android/app/build.gradle @@ -158,6 +158,7 @@ android { buildTypes { debug { signingConfig signingConfigs.debug + applicationIdSuffix '.debug' } release { // Caution! In production, you need to generate your own keystore file. diff --git a/android/app/proguard-rules.pro b/android/app/proguard-rules.pro index 11b0257..7dab035 100644 --- a/android/app/proguard-rules.pro +++ b/android/app/proguard-rules.pro @@ -8,3 +8,5 @@ # http://developer.android.com/guide/developing/tools/proguard.html # Add any project specific keep options here: +-keep class com.facebook.hermes.unicode.** { *; } +-keep class com.facebook.jni.** { *; } diff --git a/android/app/src/debug/res/mipmap-hdpi/ic_launcher.png b/android/app/src/debug/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..a3b215c08575c0b9b3e5e971ba025cce827ff4fb GIT binary patch literal 13651 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 literal 0 HcmV?d00001 diff --git a/android/app/src/debug/res/mipmap-hdpi/ic_launcher_round.png b/android/app/src/debug/res/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..a3b215c08575c0b9b3e5e971ba025cce827ff4fb GIT binary patch literal 13651 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 literal 0 HcmV?d00001 diff --git a/android/app/src/debug/res/mipmap-mdpi/ic_launcher.png b/android/app/src/debug/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..7a3bb812b15505fe7a3cb73b5ac3c404b8484b81 GIT binary patch literal 12704 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 literal 0 HcmV?d00001 diff --git a/android/app/src/debug/res/mipmap-mdpi/ic_launcher_round.png b/android/app/src/debug/res/mipmap-mdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..7a3bb812b15505fe7a3cb73b5ac3c404b8484b81 GIT binary patch literal 12704 zcmb_?1wd5G_y46EBo=9q5<#R>a1|t#?iQ9>x*KUxBt!%Ok!}Q}r4f)0=@Jl-?(W_H z#rK}?z2EnJ|KIOF?(XcJJ9EyQ^Eq?w%$b>ep{yuFfJ=o7004oU>_b)X&V7}zF~MIg z)YDJ^K=FY~N-D!)FaThS_Kg;oZMjeL#YpXu6nmigHP;U1yE@k(j>GI^X%e{*T~}`U z%Rp8Fxv-ZR-*p{!U?pqc=RXt#6)<2w^%oWuxm6?k0{IA+(?m>otG(7cs@5GC%VkR( z5g@dzvCWRbx$#a9(p-$4MlWVU5l7Y?Px^(-r+rKu)u#Ss*=?k=U!d zhgfGAl4r^Z+Rj_+R9~ylJJ0jP+>yQLaG6*TYLj{^64&`I;XsT>={DJ2?X4$SrdF+L zttuKrw^F*jKJd<%e9*9xUr*i$iLPrX?QuzDk~JZIbnV7{X#z9#CrpY3ieVxAn>T$f zB#Vrg-##wlC3Cu+ic9c%9qT-3c3L;26Nl^8Ye0f4a-Rn`*ge2}+OZ*uHpdecJtcsn zezRE6KS615-Imh}{lFIO`k1Z44B8!c|Iarid0Dh@2Y=vVe7_8DxP^uP4OQIQ(7w<& z=^jA2#_oznLxWnvXjXh)S6f?F<=0<+c8=mp=~S@0b@m$U4hER4ssaFbu>yd9FaVr^ zMgA)Q;0kuw+7kc}jR%114oNjCVqgWP$s?JE0P^aSTAvdGmf$$Z>No?y9j2><;*kY) z0}HWSpBnqDN$ z4g8B`GLgXDG7&{0e$_3%01Ev5$qCta+Ex|%ZEh1}tL}xXW84Cdx$%|0=4bX|$FpWC zaKR)W2uh=iWOlp&-10&(7;0lCVy646GIcsT{L4Jva9jkrZi`YZ67V;>SsY0|f{M+) z(Fo_KidfC&VW!8&k6=pWxNo&Y9T@SJX{V>}c*phjg?>R(qR)Hh2x7~q;OiIp?%$Gk z6gqZQo?n^=vYQ*yHj&<2m`zd&%1^7@fn$xk&!K8F3D;gv60-B=S0vOT^=-`ZjnRM3Y%K(Es~Ly zqACSt%C6)o6qZq)D=R9mx@59Dvam9q_Dp?(FGgXMjE7J0AWtm`E!`%*wbO(gEvZbK z8;EhnF_^KccHk>k*RR|Oce^2+*ZXkp8pW6>QJiYu$PHZgyxCPduJg@Fzz*EC8T;{$p=?*g61!cF2g%1E&RH{JMR}IeHia%Bn~y%XGF?)c(aL zrkR`@a}=rlNQdJWM_K0~=IXKy{AOSCkUOqLD@^)yw zFMBIcREB;>EhvsIcw`#e3yqWUM|_FwEA96FhkO)6DufOtEy1J`ow>odx3hF!5DU`~ z!^*zwNNARgU*r#7QOd#P#H<1hhuHxJnD7=!9 z<2U``1>LIazIO6Gw6w1r$y*~8UgTCi3$l%Tu!R*45#PagG$p^v27L>Gm6i> zivgj5(YtMyYwlex8^C$!9laXlqqi#U!S>(Ub-QD~u-6fm2p*FsCPqXQklcGurazIp zfFAYymOnu}^g&C3#BL|P=?%4`{G)f3?EFfL8fo#93Z8CCL_(R_!Ft9b?PfwK&Xy_2FkN`Jb0A^>2s$~}CbZaK4<=xY>p z!wV|p2zkS{De9T9H#jJ9y@!UCx*<64Rd2xKoW7NKq>b7FecMNhLwXqh%Qn+@;Uc}I zBJG$|{0S}fE=ANKJh)kP_+bIDs=8j=zB7@2N#5JeDd&^a0aTZ)H{UGR`8GE0-(9}w z6VXyei*w~-dpm;bf>sc~(xm@{m0LUpilPrFqG9=K1!(yrR3i?z#6{tX^H7FaY#Vez zpxa-Yvke$*y4%Fpw9PwjMXsW8A7{R|DX59{iF8C}xAASJ`SzwKoDv6A9n?+k{yF~d z@}}owpP+RI6q_TS66~NX@%PX7bVip#x+CwSoJutN4P5WW0Hvw1PIk%&#F>dG&n%-oWGg;c~=(rb1UIVOh5O#6p(WmZ&ALZnqx2F|; zX?K+Do{GEALFyu#C%Pw=u*ra>fHp-qg@Y=aW7g^BLhzxkG#RU?pi8tUweZVLx=+9$L06nN8gQ{@N$ z2;u^1s_SCN92~-iWzB;T?Z;p1Czq&?M+Q9VNlbKihKCkJNV0K++^2ey3uUCc`7!+b zSUT-fX!?C?x7Ts-4ZeGpK3Bs`!J->b4vo%=?a?A{_6z%Ou6p zlE*=oQt0+38elX-WY{PLniJ7y_4SITI^?L*GQNcLM^3ZkKI5s?6HUh)ssjN6($Y+E(!ogPSX?!kT7~XF?kBYO=(z=1qg8qBlOI@H$Gcwy_fM3~ zEm=~?tKX~9Y|Gbyz6_z_F4jajy(UperBaZtNtd_O-xc|_{k2?Y8p44N{a#%e7unbG z+<{T^C02U~KRkCTDDlZup!Q>yZn6!;KDrE+Bz^K!CSQi3qOAeQE{~5BTOs0LFCI^3+7`RD1UqN72T!VV zmV&pp?Ai~x6bq!sEs_B98|WXpoHK@Ud<`dQy|x1}VkUj@9F@_IM%fvdS;k96h)<7x zL_WeN@RZ6C9*e!LX9ct14>!agueclAy=__b2)8(}UI!&l*Lo@D>?HAP>2)so%54fR zTp$QYOmwm9n2OymoF0KMcx%-5gc8+#K#}pU;)p%i6Lm5O(~R$ZM?&1_cT~-MP9!X) zk^{%B5#3BbqAnWxls3}3Z@q^^yKm%1eQnhA+K7A3oFPK-D%Ar^1KLSit| zp+40O^NIE+VVrpw(I#4ixT`~Tg1ciWvbWQC)`Kg>ZhYSeGHE1u$epq?=9&?IP`S^bzp&b8BNJT&DogI1ji3B4?% zN*bhj0{}GhX4-P*a&qhdHW*9bf#C!?fCA>4t|E)S@&EAIww#o-YOSY`@c7@$-PZ1mL{}OuS&847_)M2_E{J+;3o>3~UVh z=SR}X%-F@ul))YDV#y#Qr=Sd6t*ftO{c*o4WZ=ES!+nPjT&eSN^YV&v3yAUvGw=wC z@`;G@^8u*9v)5PvCCGENrbkKrQ(y4$*Y&TGZ~z4Gn@(5q{;Mh^cQF5whx`RU3hHldhF|gip4XuMO^x3$Bgc{7fot;8a?+rnE3n`Xate?HurV>Q zFfp*Pu&{7&uyOIp2=MXn@F_`1iO6WF=;>&wXlNLi@7!cyyv;;I!zOg=Ha8DHKR^9V z5piK&u{(VHyjP8&;Nalkmpt-^Oe|#aE0AlPbozPGi0aRiXG-4EFD?ktG ziGlL-`V9*BjEaVifr*8UgNp|eR9w5V6dEcz8U_YBI#}xq)&uCo7$i4%9$=EH7-KOy zlJN#ar(rWmlzfJ$4(u@VnK%XF;F4dbprm49y~%cqonJsuNLWNv@}ZQpjI5lzn!1Lj zmbQ*A%+$=>!V+%f?BeR??&0Yb6ddv_^!bah*D-Hmha5uT;5KNq#NAbdB< zaZ^w5OydL2vvAo~{5Z;sdUl#YNDrPj^~+cIj_)%U99Oj#zS3lyCUJOS^dA$H>OaRvGxzRm5wuYGQ^}`F^iIl2LLtJ~(E-hT?&{V71C5yk zd)GLQQpuEfLIk4Xg?pC1o>}NN6Xo4d<896C_$}r1F!nYw6)E6flhz0RPOb;GGy1R$ zmbFTFcYk{0CB)qg>wA@oXX$}qY}tP{4e@^b@p_ry!t){OQ0GL234JVhjkQ5l!p&<@ z7vAGq^7*-G>Okrfl*tecDcn>HG=OlpA~?(GO3BRsosxe@K;N-w?k-$PjTaA^phAVp$gbAJQP$l+R!WR`?s<_0_h$Wexn@E86NFYTo$5#aup$1%a zq@K6uoowQVyzOHZt{+=y>m-E7aM`nC&22e59beFcKGXQ#=)+A8(0Uw?o!4zt}=)IDP7U*wFsmtKDpagE?E!ut`zj|w^m z3^gv7H!klM*>8q(xgSF|Og$?gtI!>P`0W0q(f-K*5*#7lBLVR&Bmj+|pQ13_-XelA z_2w4KA%S2tMI?|shy+sFqE7DfZ=Y^*onBZX#+#4*9K0#%Y^A)EE*PlXFOJ?`Ao%^7 zQF8qH;eP!KGDmIKYtMtmJNB(O2K|1ikntD2D!J=tztOeHyi+lZ`MU;xYIa!?vW575 z#49!#c98O?_`j?56BSlT^wO|aCKC8lg}>-!W9;4dNjyAC@ZXpw;~a)Jefjynx6Ff@ z6K}MeX95e-E$5xJ&_XAwqEO$APuEoWVBdbx@b`IOzp2I%mwFvwKy|HmZd zYzz5DguX&2M8PmzuBMRVf)%-bCTThOPH&kfx|%5WL(PHTbMidaw*;N^VoK#tg^>X6 ze%SeA%o}5=*~b$}u1wt=G=0TZm1FnY-oYHBSCf&zVA*>9@aDY{%g@rLhFak%SxyzJ zpQlM)3JM|tc%5w5>v}!9*wInK0ICG@SC@+bQ9E=_Zv;Y@ZfuzH9eR2_^wQO8ANK$W zpdf*cI_P?VRzwmKsP!2rq<_A;k{))-m%C?AdLci???++;KN`@XcoJhp$z(F#Bz7@# z2>KkJbF0yQyAl#;R6qh>G;c;he|U^Eu2&(tINldmwV0jgs01fLCXJ%IZ*`r&-@f4N zC-&>7g(5D6kN`yH?~nQrNaK+mDZ)3+xx0D>bi;4E*DrR5kihnk->ya)QQM;mXu}}P z@7Q7r36v)8v$LDU&au?)}w616sMjM?w>(;#tB*J@d8buF+^2m}(tN^*#j# z_Q7KIo^#!?VVb<-LIjiudPhS=K1TUF+U|Si(FNa*&+_s*UC9%iS>pQ3KbW>LQ>uBluIyNZ45>9_(ItQ9(E=kXHZv5EwaR~t|A|HtFe=E zee0N8ZdkO1i?KB3%=>$(qY&ROVuXa5WD5#9NkvYIW8wu(hIbox@8mdI6Zex#@vh8W#FAyr27?Ybs~Zi%pcJ6gZwSP46=TOgoAzG|+Q(Q7aelB%n-KZTJ(fAAUcXf?imvO2o_Uc;rF zw}7==#`}MEpO)nJM%wim=CRQ(kBw0bN#%>1 z1>^b;ie-43=PZr01TcJ~uf0hsbRNo04?EdUT@v#|0*t#zps2tQ^s|Nj)9X=}uDbiU zXFcyOr@e-KyndHXJmuEMIAX zEuB6SCos(Y{<5Pg^7htvnsc~$W}e*!YCW{cZ;y-UY;9x-vWh@M0?{6RW17V`MUa5o zX@)M8cxXThvS*>PU;I~>EPC0VvL|LWdkA`v8KiG)#Y5@X!;7n9A#P(uj51@&y5UA- z*S7ncF1bkuuc+N(RU{CiHn%O;xLt-2SZ>5e0zaHW5!ES69J3tD`$+~~+96avu8hh#eTeR~HqIStOUgB2tOJ2Ljg{H!+rg8IvGGVCj+igygc$5P zvtp6rs?L>jF=ivJyk3==2S#!pN(zXso!;0yKsfw*6XG`hSkQ^mBdYcnoSc-B(!Fod z-H^axw2>URSX?!{!IDt6Uh=z51s>7Hv9(pM~|gMn`%%L-%q|c(L{_(KEk25lJMV-@gypj@?fQ5_oBV*Qzoz9Y@Um$}K!O(XQx&I(fgI) zz#qq6qUr+OG-{xrw)lB(0sE&s;f?b1$b72-%G=ib3e@2R_{2uM)>O`L(Td)n%B7IX zm~e~mv7wQ9Kl1YJ(vvW}lH)rjOgX!^mXUx2WbD=GVi7og@?N~iFRxxcT!mr_5OHWV zl)w-*ERNum#O${*vNY28yd(}VSkrs9nD!J|*`mhQdbHo`%ffpQg{ z$-|Q&evYXg(=VjLlxz2Ueeg{dSs=sfVt8%3p+|4S?Cnr6gp7Gs5po}>*op`8)YQMH z*3j5ae><2BrZSFEZWuPWr#%3Z7T;6!J0Lb})Gu!7<%iE)EAKd6R=Fj7xO_IIVMLHH zdNiKbojvO~f?*j#rlOBQ(+&mH7wi@%I|MmjNmwLTNwdh=j>P_K3k3|0UC zdlW8*%)O%E{(%qSzZAjYM!#wfXdq+3}2CGCcy#$Zm zT>d%LK;A@{{91c=xq21(p6)j>(mNB^=0dZijM8#kT^v&sROXh_X+2_&iJqmHH^)}?cxdI z1}qThO7tCLBPQ$KR3v#5G`m`E;*}I}*s9DF>J+FcQjpWF^MPn1MY^5#B!=dc!IUv8F0-=x(FI(vd}U4R@u+{tPs!q2Cqv3=qlcG~iVirT~5 zAh9(m6(!?d!O&@t;WMe1%Ryy-brbQ9U9(87!`V$ zS)W+z$FxiiYwbpSmLAhza5{S$SWnZAU7}8-xvu_@rK>;7GS}A5q^=@t35$p=5 z$gY4${6(VZ{5tCV*7L{WwQ^4WoUt0pSg(SZvbd^NvQAU&bU5`^ZfDMjxT+C{(woh` zxvJtquTF#bgc|fPmPEeecvL9Zml5__EHK9->(*B#cmpM1Ol2UII}SEWgpis8Cqmt; ziSUnzX~6=zHOp@;GcO7*l^Pze-E;l>tTpS=@)^M}ET)$`JqdSygkHKx14Dn}JxYJU z@RSV+qzbezH7*!=hqQiGXGj|D&fjqAy0a~D+yXtNNdu!ki_@^g0qIu%Io z(K~+bV1`;4WygWQhU>o0w5-y#B-)W0YE{kWT3EZ#mV$iClu4eb*$EDz5s#avTAs2i zMIqX#nNNZY-RSCaH6mmWI138s*;Ndxo3}y=~EXcl;uZ|(*yb;Q}MeB9joYm4^tKK)JO%xXjzT{G2 zA@{tT-SpOAnnEKq0+0c}Kh*_S{C}!`0M$#oSl^ZwD=x90>w9;ZF~5R`pNVS*O+{2} zA1wG*c)wdI70c) zfzStWFX#C0noNN`cj=YZ^=$~noC>SI#R=84WH20f?aZ_=Vg@aol zhQ+H|e&)3;G}0G>iokIpYtgg5vF6yoFAcLN}r;N{F>`#D(b{P&{C`Ebg;5g zo1zWY)wK|=e|3mFPtWU)(-IF1i^Q3)4qy#wXoFYBv zD+87inx%tow;p82*mV$UwI9pT#Xw4+V#S|`vY~BPDoB2ywNQgMF|ts@um(%5H})>> zrah3*+v*d2y%gK!^?r83mLjh;qIo~)ut>99z&oqD232U93ZLllF(Nj_FcT8Z#+Dvd z^8Q||huvm}a{}oz;fuytqax9n`A0gzB{bZJ+Xgm#GLF|?3w9+oJC?CzSjg^T9EG>) zed0+jsgg7ZDQ=|}iV_m+Cq3h^L&PqtYhn0c;BF^6j#WG6v2A!+T->bDItCrM!4lk( zIhIFkG#>YQzK8T)Mm^gZV3=R=TAbDWogF(K$G-dTQbM(0a)ePPg&of$t5Z#Z27 z62RGty`1pdPK3^h4>s0vUG5uNNYRg<*hA~Y%cCCu*)IJ~@~YAFTf}KGUwYJrk5I}C z-K0$RuU4Z@lw69px{-j-Si*qJ(LL(^Z6aHyppDo?!Vnv@&`%<&Rb~ zerYPO?`8d={FEBDADUo>l_ysD``f#HVi z=Jwf0UUuXR6LUleq|4x2#dM2&Q}_X8ABKCgkm=P{rsm?$tsTQ5t}kzTKbZ@)EqpV{ z9gr(1K$$Gy$TefgqeOSlDzZ=*P8_JK7Wuh}IbWk;=8B&QVPc3p49+moB@biEy9U0F zz<)}reC)T(8Q3V9kJ1uU9`T^u@4Q*ztQ(g(X1mzl%7g^yjs;XA+Fn`d#u!w+rN7#W z{Wj`Lrn##3P#J8x3G`IpDzP6v%VBxNQPmTEpud0#Dw}zXR{G3xi;+ZnLQPeR*4~lj zL$h`yh1YRWV2eiN%5D3-9&b0Oe4DamTm;pB*k(pi>E(CZrDV2Y%YU2rK`>mIi1)$B z18@WNviIAV9hGJuU%z8XtftR4JjmYGVDj;b`hsPafe&b`8{Mrws zM@|5ggsR{|6`*vH(sq%wx3x91a{>P4%ug$T@H$Auaz$hc9z2S|ex5)6JXYl77U1L& zR_Emrf};F_zcDBc#*cvvR96zrJmBV{ z5^xu1Wiux=V_OFsGeGz@!_}8$^WII6iuf0mq`i&3lbVAu%naZmdWU+2rqt3vT*bb@Z);O|be;1E|@XySN)W znE`)2$)(4uy83Gy^DiMTmaeuYcE)gNBc^?@2lPxBA-U}rlxnK?UOfe}14bI=0m z=>CE3r<%XR;1v*5cHq7`uBQEWl)nK237=!0U7caG{R5%AvXqRRor{?h%+lD-!c5xU z$=28f;1dyyc?r2X1Lyj0d45+*P((y1w%t+&WM%&cR%J_j7kgVX7biIEr&JKOi}BA+ z6eNL!QGr|x|G@Q|=Uw@rGTg(=2H=|;>(%|61Py01r$1hqJHKE5^6G@WxBdijQC~>_ z|IRK7vv=@xf?HU+0Lrc=HgFijLwj3exLsv5j~+Ghld literal 0 HcmV?d00001 diff --git a/android/app/src/debug/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/debug/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..16fea65ae0ce4d9f296237f408826a1c2c3f62d3 GIT binary patch literal 14962 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 J3Q6NP{|^>EVI2Sf literal 0 HcmV?d00001 diff --git a/android/app/src/debug/res/mipmap-xhdpi/ic_launcher_round.png b/android/app/src/debug/res/mipmap-xhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..16fea65ae0ce4d9f296237f408826a1c2c3f62d3 GIT binary patch literal 14962 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 J3Q6NP{|^>EVI2Sf literal 0 HcmV?d00001 diff --git a/android/app/src/debug/res/mipmap-xxhdpi/ic_launcher.png b/android/app/src/debug/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..3a45e5737eb51ce3ced7c55f1608745bff0c79e8 GIT binary patch literal 17437 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 literal 0 HcmV?d00001 diff --git a/android/app/src/debug/res/mipmap-xxhdpi/ic_launcher_round.png b/android/app/src/debug/res/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..3a45e5737eb51ce3ced7c55f1608745bff0c79e8 GIT binary patch literal 17437 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 literal 0 HcmV?d00001 diff --git a/android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/debug/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..f1f33f2e7642cd95a4cfcb00ac362507a3f2500c GIT binary patch literal 17849 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 + RVMob Canary + diff --git a/android/app/src/main/assets/index.android.bundle b/android/app/src/main/assets/index.android.bundle index 8a45a3f..a737ce3 100644 --- a/android/app/src/main/assets/index.android.bundle +++ b/android/app/src/main/assets/index.android.bundle @@ -402,7 +402,7 @@ __d(function(g,r,i,a,m,e,d){function t(n){if("function"!=typeof WeakMap)return n __d(function(g,r,i,a,m,_e,d){'use strict';function t(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}var n;n=(function(n){r(d[3])(o,n);var e,u,c=(e=o,u=t(),function(){var t,n=r(d[0])(e);if(u){var c=r(d[0])(this).constructor;t=Reflect.construct(n,arguments,c)}else t=n.apply(this,arguments);return r(d[1])(this,t)});function o(){return r(d[4])(this,o),c.apply(this,arguments)}return r(d[5])(o,[{key:"render",value:function(){return null}}],[{key:"ignoreWarnings",value:function(t){}},{key:"install",value:function(){}},{key:"uninstall",value:function(){}}]),o})(r(d[2]).Component),m.exports=n},396,[15,12,125,10,7,8]); __d(function(g,r,i,a,m,e,d){Object.defineProperty(e,"__esModule",{value:!0}),e.DynamicColorIOS=void 0;e.DynamicColorIOS=function(o){throw new Error('DynamicColorIOS is not available on this platform.')}},397,[]); __d(function(g,r,i,a,m,e,d){'use strict';var n=r(d[0]).shape({x:r(d[0]).number,y:r(d[0]).number});m.exports=n},398,[139]); -__d(function(g,r,i,_a,_m,_e,d){Object.defineProperty(_e,"__esModule",{value:!0}),_e.default=void 0;var e=r(d[0])(r(d[1])),t=r(d[0])(r(d[2])),n=r(d[0])(r(d[3])),a=r(d[0])(r(d[4])),l=r(d[0])(r(d[5])),s=r(d[0])(r(d[6])),o=r(d[0])(r(d[7])),u=r(d[0])(r(d[8]));r(d[9]),r(d[10]);var c=r(d[0])(r(d[11])),f=(function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=w(t);if(n&&n.has(e))return n.get(e);var a={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if("default"!==s&&Object.prototype.hasOwnProperty.call(e,s)){var o=l?Object.getOwnPropertyDescriptor(e,s):null;o&&(o.get||o.set)?Object.defineProperty(a,s,o):a[s]=e[s]}a.default=e,n&&n.set(e,a);return a})(r(d[12])),m=r(d[0])(r(d[13])),h=r(d[0])(r(d[14])),p=r(d[0])(r(d[15])),y=r(d[0])(r(d[16]));function w(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(w=function(e){return e?n:t})(e)}function v(e){var t=E();return function(){var n,a=(0,o.default)(e);if(t){var l=(0,o.default)(this).constructor;n=Reflect.construct(a,arguments,l)}else n=a.apply(this,arguments);return(0,s.default)(this,n)}}function E(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}var b=m.default,x=new(r(d[17]).Client),M=!1,P=!1,k=function(e){var t=(0,u.default)({},e);return e.style||(t=(0,u.default)({style:{}},t)),t.style=(0,u.default)({color:_.textDefault.color},t.style),c.default.createElement(f.default.Text,t,t.children)},C=function(e){var t=(0,u.default)({},e);return e.styles||(t=(0,u.default)({styles:{}},t)),t.styles.text||(t.styles=(0,u.default)({text:{}},t.styles)),t.styles.text=(0,u.default)({color:_.textDefault.color},t.styles.text),e.rules||(t=(0,u.default)({rules:{}},t)),t.rules=(0,u.default)({image:{},refimage:{}},t.rules),c.default.createElement(r(d[18]).MarkdownView,t,t.children)},S=(function(t){(0,l.default)(o,t);var s=v(o);function o(e){var t;return(0,n.default)(this,o),(t=s.call(this,e)).state={username:null,loggedIn:!1,currentChannel:null,currentText:"",replyingMessages:[],leftMenuOpen:!1,rightMenuOpen:!1,contextMenuMessage:null,contextMenuUser:null,imageViewerImage:null},console.log("construct app"),t}return(0,a.default)(o,[{key:"componentDidMount",value:function(){var t=this;console.log("mount app"),x.on('ready',function(){return e.default.async(function(e){for(;;)switch(e.prev=e.next){case 0:t.setState(function(){return{loggedIn:!0}});case 1:case"end":return e.stop()}},null,null,null,Promise)}.bind(this)),x.useExistingSession({token:'vjHS49KziXDzDEWUR23ad8aWgShOdmAnMPH_FmDJ9bKNzw-MS0U6_pbyo9gWZrAl'})}},{key:"render",value:function(){var e,t,n,a,l,s,o,u=this;return this.state.loggedIn?c.default.createElement(f.View,{style:_.app},c.default.createElement(h.default,{openMenuOffset:f.Dimensions.get('window').width-50,menuPosition:"right",disableGestures:this.state.leftMenuOpen,edgeHitWidth:120,isOpen:this.state.rightMenuOpen,onChange:function(e){return u.setState({rightMenuOpen:e})},menu:c.default.createElement(T,null),style:_.app,bounceBackOnOverdraw:!1},c.default.createElement(h.default,{openMenuOffset:f.Dimensions.get('window').width-50,disableGestures:this.state.rightMenuOpen,edgeHitWidth:120,isOpen:this.state.leftMenuOpen,onChange:function(e){return u.setState({leftMenuOpen:e})},menu:c.default.createElement(U,{onChannelClick:function(e){return u.setState({currentChannel:e,leftMenuOpen:!1})},currentChannel:this.state.currentChannel}),style:_.app,bounceBackOnOverdraw:!1},c.default.createElement(f.View,{style:_.mainView},this.state.currentChannel?c.default.createElement(f.View,{style:{flex:1}},c.default.createElement(f.View,{style:_.channelHeader},c.default.createElement(f.TouchableOpacity,{style:_.headerIcon,onPress:function(){u.setState({leftMenuOpen:!u.state.leftMenuOpen})}},c.default.createElement(k,null,"\u2630")),c.default.createElement(k,{style:{flex:1}},"#",this.state.currentChannel.name)),c.default.createElement(R,{channel:this.state.currentChannel,onLongPress:function(e){u.setState({contextMenuMessage:e})},onUserPress:function(e){u.setState({contextMenuUser:e.author})},onImagePress:function(e){u.setState({imageViewerImage:e})}}),c.default.createElement(f.View,{style:_.messageBoxOuter},c.default.createElement(V,{channel:this.state.currentChannel}),this.state.replyingMessages&&this.state.replyingMessages.map(function(e){var t;return c.default.createElement(f.View,{key:e._id,style:_.repliedMessagePreview},c.default.createElement(k,null,"Replying to ",null==(t=e.author)?void 0:t.username))}),c.default.createElement(f.View,{style:_.messageBoxInner},c.default.createElement(f.TextInput,{placeholderTextColor:B.textTransparent,style:_.messageBox,placeholder:"Write your thoughts!",onChangeText:function(e){u.setState({currentText:e}),0==u.state.currentText.length?u.state.currentChannel.stopTyping():M||(M=!0,u.state.currentChannel.startTyping(),setTimeout(function(){return M=!1}.bind(u),2500))},value:this.state.currentText}),this.state.currentText.length>0&&c.default.createElement(f.TouchableOpacity,{style:_.sendButton,onPress:function(){u.state.currentChannel.sendMessage({content:u.state.currentText,replies:u.state.replyingMessages.map(function(e){return{id:e._id,mention:!1}})}),u.setState({currentText:"",replyingMessages:[]})}},c.default.createElement(k,null,"Send"))))):c.default.createElement(k,null,"No channel selected! Select one at the side!")))),c.default.createElement(f.Modal,{key:"messageMenu",animationType:"slide",transparent:!0,visible:!!this.state.contextMenuMessage,onRequestClose:function(){}},c.default.createElement(f.Pressable,{onPress:function(){return u.setState({contextMenuMessage:null})},style:{width:f.Dimensions.get("window").width,height:f.Dimensions.get("window").height,position:'absolute',backgroundColor:"#00000000"}}),c.default.createElement(f.View,{style:{width:"100%",height:"40%",top:"60%",backgroundColor:B.backgroundSecondary}},c.default.createElement(f.View,null,c.default.createElement(O,{message:this.state.contextMenuMessage,style:{margin:3,width:"100%"}}),c.default.createElement(f.Pressable,{style:_.actionTile,onPress:function(){return u.setState({contextMenuMessage:null})}},c.default.createElement(k,null,"Close")),c.default.createElement(f.Pressable,{style:_.actionTile,onPress:function(){var e=u.state.replyingMessages||[];e.length>=4||(e.push(u.state.contextMenuMessage),u.setState({replyingMessages:e,contextMenuMessage:null}))}},c.default.createElement(k,null,"Reply"))))),c.default.createElement(f.Modal,{key:"profileMenu",animationType:"slide",transparent:!0,visible:!!this.state.contextMenuUser,onRequestClose:function(){}},c.default.createElement(f.Pressable,{onPress:function(){return u.setState({contextMenuUser:null})},style:{width:f.Dimensions.get("window").width,height:f.Dimensions.get("window").height,position:'absolute',backgroundColor:"#00000000"}}),c.default.createElement(f.View,{style:{width:"100%",height:"75%",top:"25%",padding:15,backgroundColor:B.backgroundSecondary}},c.default.createElement(f.View,null,(null==(e=this.state.contextMenuUser)?void 0:e.generateAvatarURL)&&c.default.createElement(b,{style:{borderRadius:1e4,height:100,width:100},source:{uri:this.state.contextMenuUser.generateAvatarURL()}}),c.default.createElement(k,{style:{fontWeight:'bold',fontSize:30}},"@",null==(t=this.state.contextMenuUser)?void 0:t.username," ",(null==(n=this.state.contextMenuUser)?void 0:n.bot)&&c.default.createElement(f.View,{style:_.usernameBadge},c.default.createElement(k,{style:{color:B.accentColorForeground}},"BOT"))),!(null!=(a=this.state.contextMenuUser)&&a.bot)&&((null==(l=this.state.contextMenuUser)?void 0:l.relationship)==r(d[19]).RelationshipStatus.Friend?c.default.createElement(f.Pressable,{style:_.actionTile,onPress:function(){return u.setState({contextMenuUser:null})}},c.default.createElement(k,null,"Message (not impl.)")):c.default.createElement(f.Pressable,{style:_.actionTile,onPress:function(){var e;return null==(e=u.state.contextMenuUser)?void 0:e.addFriend()}},c.default.createElement(k,null,(null==(s=this.state.contextMenuUser)?void 0:s.relationship)==r(d[19]).RelationshipStatus.Incoming?"Accept Friend":"Add Friend")))))),c.default.createElement(f.Modal,{visible:!!this.state.imageViewerImage,transparent:!0},c.default.createElement(y.default,{imageUrls:null!=(o=this.state.imageViewerImage)&&o.metadata?[{url:x.generateFileURL(this.state.imageViewerImage),width:this.state.imageViewerImage.metadata.width,height:this.state.imageViewerImage.metadata.height}]:[{url:this.state.imageViewerImage}],renderHeader:function(){return c.default.createElement(f.View,{style:{height:50,width:"100%",justifyContent:'center',paddingLeft:10,paddingRight:10}},c.default.createElement(f.Pressable,{onPress:function(){var e;return f.Linking.openURL(null!=(e=u.state.imageViewerImage)&&e.metadata?x.generateFileURL(u.state.imageViewerImage):u.state.imageViewerImage)}},c.default.createElement(k,null,"Open URL")),c.default.createElement(f.View,{style:{marginLeft:20}}),c.default.createElement(f.Pressable,{onPress:function(){return u.setState({imageViewerImage:null})}},c.default.createElement(k,null,"Close")))},renderIndicator:function(e,t){return null},enableSwipeDown:!0,onCancel:function(){return u.setState({imageViewerImage:null})}}))):c.default.createElement(f.View,{style:_.app},c.default.createElement(f.View,{style:_.loggingInScreen},c.default.createElement(k,null,"Logging in...")))}}]),o})(c.default.Component),V=(0,r(d[20]).observer)(function(e){var t=e.channel;if(t){var n,a=t.typing.filter(function(e){return!!e});switch(a.length){case 1:n=a[0].username+" is typing...";break;case 2:n=a[0].username+" and "+a[1].username+" are typing...";break;case 3:n=a[0].username+", "+a[1].username+", and "+a[2].username+" are typing...";break;default:n="Several people are typing..."}if(a.length>0)return c.default.createElement(f.View,{style:_.typingBar},c.default.createElement(k,null,n))}return c.default.createElement(f.View,null)}),R=(function(s){(0,l.default)(u,s);var o=v(u);function u(e){var t;return(0,n.default)(this,u),(t=o.call(this,e)).state={messages:[],loading:!1},t}return(0,a.default)(u,[{key:"componentDidMount",value:function(){var t=this;console.log("mount component"),x.on('message',function(n){return e.default.async(function(e){for(;;)switch(e.prev=e.next){case 0:!t.props.loading&&t.props.channel&&t.props.channel._id==n.channel._id&&t.setState(function(e){var t=e.messages;return t.length>=50&&(t=t.slice(1)),t.push(n),{messages:t}});case 1:case"end":return e.stop()}},null,null,null,Promise)})}},{key:"componentDidUpdate",value:function(e){var n=this;console.log(this.props.channel,!e.channel,e.channel._id,this.props.channel._id),!this.props.channel||P&&e.channel._id==this.props.channel._id||(P=!0,this.setState({loading:!0}),requestAnimationFrame(function(){console.log("fetch messages");var e="";n.props.channel.fetchMessagesWithUsers({limit:50}).then(function(a){console.log("done fetching"),n.setState({messages:(0,t.default)(a.messages.reverse()).map(function(t){var a,l=c.default.createElement(I,{key:t._id,message:t,grouped:e==(null==(a=t.author)?void 0:a._id)&&!(t.reply_ids&&t.reply_ids.length>0),onLongPress:function(){return n.props.onLongPress(t)},onUserPress:function(){return n.props.onUserPress(t)},onImagePress:function(e){return n.props.onImagePress(e)}});return e=t.author?t.author._id:e,{rendered:l,message:t}}),loading:!1})})}))}},{key:"render",value:function(){var e=this;return this.props.loading?c.default.createElement(k,null,"Loading..."):c.default.createElement(f.View,{style:{flex:1}},c.default.createElement(f.ScrollView,{ref:function(t){e.scrollView=t},onContentSizeChange:function(){return e.scrollView.scrollToEnd({animated:!0})},style:_.messagesView},this.state.messages.map(function(e){return e.rendered}),c.default.createElement(f.View,{style:{marginTop:20}})))}}]),u})(c.default.Component),I=(function(e){(0,l.default)(s,e);var t=v(s);function s(e){return(0,n.default)(this,s),t.call(this,e)}return(0,a.default)(s,[{key:"render",value:function(){var e,t=this;return c.default.createElement(f.TouchableOpacity,{activeOpacity:.8,delayLongPress:1e3,onLongPress:this.props.onLongPress,style:null!==this.props.message.reply_ids?_.replyingWrapper:_.messageWrapper},null!==this.props.message.reply_ids&&c.default.createElement(f.View,{style:_.repliedMessagePreviews},this.props.message.reply_ids.map(function(e){return c.default.createElement(O,{key:e,message:x.messages.get(e)})})),c.default.createElement(f.View,{style:this.props.grouped?_.messageGrouped:_.message},this.props.message.author&&!this.props.grouped&&c.default.createElement(f.Pressable,{onPress:function(){return t.props.onUserPress()}},c.default.createElement(b,{source:{uri:this.props.message.author.generateAvatarURL()+"?max_side=128"},style:_.messageAvatar})),c.default.createElement(f.View,{style:_.messageInner},this.props.message.author&&!this.props.grouped&&c.default.createElement(f.View,{style:{flexDirection:'row'}},c.default.createElement(k,{style:_.messageUsername},this.props.message.author.username),c.default.createElement(k,{style:_.timestamp}," ",(0,p.default)((0,r(d[21]).decodeTime)(this.props.message._id)).format('YYYY-MM-DD hh:mm:ss A'))),c.default.createElement(C,{style:_.messageContent},this.props.message.content))),null==(e=this.props.message.attachments)?void 0:e.map(function(e){console.log(e);var n=e.metadata.width,a=e.metadata.width;if(n>f.Dimensions.get("screen").width){var l=f.Dimensions.get("screen").width/n;n*=l,a*=l}return"Image"==e.metadata.type&&c.default.createElement(f.Pressable,{onPress:function(){return t.props.onImagePress(e)}},c.default.createElement(b,{source:{uri:x.generateFileURL(e)},resizeMode:m.default.resizeMode.contain,style:{width:n,height:a,marginBottom:4,borderRadius:3}}))}))}}]),s})(c.default.PureComponent),O=(function(e){(0,l.default)(s,e);var t=v(s);function s(e){return(0,n.default)(this,s),t.call(this,e)}return(0,a.default)(s,[{key:"render",value:function(){return this.props.message?c.default.createElement(f.View,{style:_.replyMessage},c.default.createElement(k,{style:{marginLeft:15,marginRight:15}},"\u21b1"),this.props.message.author&&c.default.createElement(c.default.Fragment,null,c.default.createElement(b,{source:{uri:this.props.message.author.generateAvatarURL()+"?max_side=128"},style:_.messageAvatarReply}),c.default.createElement(k,{style:_.messageUsernameReply},this.props.message.author.username)),c.default.createElement(k,{style:_.messageContentReply},this.props.message.content.split("\n").join(" "))):c.default.createElement(c.default.Fragment,null)}}]),s})(c.default.PureComponent),U=(function(e){(0,l.default)(o,e);var s=v(o);function o(e){var t;return(0,n.default)(this,o),(t=s.call(this,e)).state={currentServer:null},t}return(0,a.default)(o,[{key:"render",value:function(){var e,n,a,l,s=this;return c.default.createElement(f.View,{style:_.leftView},c.default.createElement(f.ScrollView,{style:_.serverList},c.default.createElement(f.TouchableOpacity,{onPress:function(){s.setState({currentServer:null})},key:null==(e=x.user)?void 0:e._id,style:_.serverButton},null!=(n=x.user)&&n.generateAvatarURL?c.default.createElement(b,{source:{uri:(null==(a=x.user)?void 0:a.generateAvatarURL())+"?max_side=128"},style:_.serverIcon}):c.default.createElement(k,null,null==(l=x.user)?void 0:l.name)),(0,t.default)(x.servers.values()).map(function(e){var t=e.generateIconURL();return console.log(t),c.default.createElement(f.TouchableOpacity,{onPress:function(){s.setState({currentServer:e})},key:e._id,style:_.serverButton},t?c.default.createElement(b,{source:{uri:t+"?max_side=128"},style:_.serverIcon}):c.default.createElement(k,null,e.name))})),c.default.createElement(f.ScrollView,{style:_.channelList},(this.state.currentServer?this.state.currentServer.channels:(0,t.default)(x.channels.values()).filter(function(e){return"Group"==e.channel_type})).map(function(e){return c.default.createElement(f.TouchableOpacity,{onPress:function(){s.props.onChannelClick(e)},key:e._id,style:_.channelButton},c.default.createElement(k,null,e.name))})))}}]),o})(c.default.PureComponent),T=(function(e){(0,l.default)(s,e);var t=v(s);function s(e){var a;return(0,n.default)(this,s),(a=t.call(this,e)).state={currentServer:null},a}return(0,a.default)(s,[{key:"render",value:function(){return c.default.createElement(f.View,{style:_.rightView},c.default.createElement(k,null,"trollface"))}}]),s})(c.default.Component),L=(function(e){(0,l.default)(s,e);var t=v(s);function s(){return(0,n.default)(this,s),t.apply(this,arguments)}return(0,a.default)(s,[{key:"render",value:function(){return c.default.createElement(f.View,{style:_.outer},c.default.createElement(f.StatusBar,{animated:!0,backgroundColor:B.backgroundPrimary,barStyle:"light-content"}),c.default.createElement(S,null))}}]),s})(c.default.Component);_e.default=L;var _,B={backgroundPrimary:'#151515',backgroundSecondary:'#202020',textPrimary:'#dddddd',textSecondary:'#888888',textTransparent:'#ddddddaa',accentColor:'#4444ff',accentColorForeground:'#000000'};_=f.StyleSheet.create({outer:{flex:1,backgroundColor:B.backgroundPrimary},app:{flex:1,backgroundColor:B.backgroundPrimary},mainView:{flex:1,backgroundColor:B.backgroundPrimary},loggingInScreen:{flex:1,alignItems:'center',justifyContent:'center'},leftView:{flex:1,backgroundColor:B.backgroundSecondary,flexDirection:"row",justifyContent:'flex-start'},rightView:{flex:1,backgroundColor:B.backgroundSecondary},textDefault:{color:"#ddd"},message:{width:"100%",flex:1,flexDirection:"row"},messageContent:{marginTop:-6,marginBottom:4},messageGrouped:{paddingLeft:40,marginTop:-10,width:"100%"},messageInner:{flex:1,paddingLeft:10},messageAvatar:{width:40,height:40,borderRadius:1e5},messageAvatarReply:{width:15,height:15,borderRadius:1e5},messageUsernameReply:{marginLeft:3,marginRight:3},replyMessage:{alignItems:'center'},typingBar:{height:20,backgroundColor:B.backgroundSecondary,borderBottomColor:B.backgroundPrimary,borderBottomWidth:1},messageUsername:{fontWeight:'bold',marginBottom:-4,marginTop:2},serverButton:{borderRadius:5e3,width:48,height:48,margin:4,backgroundColor:B.backgroundPrimary,overflow:"hidden"},serverIcon:{width:48,height:48},serverList:{width:56,flexShrink:1},channelList:{flexGrow:1e3,flex:1e3},channelButton:{padding:8,margin:3,marginRight:5,borderRadius:3,backgroundColor:B.backgroundPrimary},messagesView:{padding:10,flex:1},messageBoxInner:{flexDirection:'row'},messageBoxOuter:{backgroundColor:B.backgroundSecondary,margin:5,borderRadius:3},sendButton:{margin:3,marginLeft:0,borderRadius:3,backgroundColor:B.backgroundPrimary,width:50,justifyContent:'center',alignItems:'center'},headerIcon:{margin:5,marginRight:10,justifyContent:'center',alignItems:'center'},messageBox:{color:B.textPrimary,paddingLeft:10,padding:6,flex:1},channelHeader:{height:50,backgroundColor:B.backgroundSecondary,alignItems:'center',paddingLeft:20,flexDirection:'row'},replyMessage:{flexDirection:'row'},messageContentReply:{height:20},actionTile:{height:40,width:"100%",justifyContent:'center',borderBottomColor:B.backgroundPrimary,borderBottomWidth:1,paddingLeft:10,paddingRight:10,margin:3},repliedMessagePreview:{paddingLeft:3,borderBottomColor:B.backgroundPrimary,borderBottomWidth:1},repliedMessagePreviews:{paddingTop:8},usernameBadge:{padding:2,borderRadius:3,backgroundColor:B.accentColor},timestamp:{fontSize:12,color:B.textSecondary,position:'relative',top:4,left:4}})},399,[3,275,35,7,8,10,12,15,29,400,402,125,1,591,592,594,595,603,660,670,671,642]); +__d(function(g,r,i,_a,_m,_e,d){Object.defineProperty(_e,"__esModule",{value:!0}),_e.default=void 0;var e=r(d[0])(r(d[1])),t=r(d[0])(r(d[2])),n=r(d[0])(r(d[3])),a=r(d[0])(r(d[4])),l=r(d[0])(r(d[5])),s=r(d[0])(r(d[6])),o=r(d[0])(r(d[7])),u=r(d[0])(r(d[8]));r(d[9]),r(d[10]);var c=r(d[0])(r(d[11])),f=(function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var n=w(t);if(n&&n.has(e))return n.get(e);var a={},l=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var s in e)if("default"!==s&&Object.prototype.hasOwnProperty.call(e,s)){var o=l?Object.getOwnPropertyDescriptor(e,s):null;o&&(o.get||o.set)?Object.defineProperty(a,s,o):a[s]=e[s]}a.default=e,n&&n.set(e,a);return a})(r(d[12])),m=r(d[0])(r(d[13])),h=r(d[0])(r(d[14])),p=r(d[0])(r(d[15])),y=r(d[0])(r(d[16]));function w(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,n=new WeakMap;return(w=function(e){return e?n:t})(e)}function v(e){var t=E();return function(){var n,a=(0,o.default)(e);if(t){var l=(0,o.default)(this).constructor;n=Reflect.construct(a,arguments,l)}else n=a.apply(this,arguments);return(0,s.default)(this,n)}}function E(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}var b=m.default,x=new(r(d[17]).Client),M=!1,P=!1,k=function(e){var t=(0,u.default)({},e);return e.style||(t=(0,u.default)({style:{}},t)),t.style=(0,u.default)({color:_.textDefault.color},t.style),c.default.createElement(f.default.Text,t,t.children)},C=function(e){var t=(0,u.default)({},e);return e.styles||(t=(0,u.default)({styles:{}},t)),t.styles.text||(t.styles=(0,u.default)({text:{}},t.styles)),t.styles.text=(0,u.default)({color:_.textDefault.color},t.styles.text),e.rules||(t=(0,u.default)({rules:{}},t)),t.rules=(0,u.default)({image:{},refimage:{}},t.rules),c.default.createElement(r(d[18]).MarkdownView,t,t.children)},S=(function(t){(0,l.default)(o,t);var s=v(o);function o(e){var t;return(0,n.default)(this,o),(t=s.call(this,e)).state={username:null,loggedIn:!1,currentChannel:null,currentText:"",replyingMessages:[],leftMenuOpen:!1,rightMenuOpen:!1,contextMenuMessage:null,contextMenuUser:null,imageViewerImage:null},console.log("construct app"),t}return(0,a.default)(o,[{key:"componentDidMount",value:function(){var t=this;console.log("mount app"),x.on('ready',function(){return e.default.async(function(e){for(;;)switch(e.prev=e.next){case 0:t.setState(function(){return{loggedIn:!0}});case 1:case"end":return e.stop()}},null,null,null,Promise)}.bind(this)),x.useExistingSession({token:'vjHS49KziXDzDEWUR23ad8aWgShOdmAnMPH_FmDJ9bKNzw-MS0U6_pbyo9gWZrAl'})}},{key:"render",value:function(){var e,t,n,a,l,s,o,u=this;return this.state.loggedIn?c.default.createElement(f.View,{style:_.app},c.default.createElement(h.default,{openMenuOffset:f.Dimensions.get('window').width-50,menuPosition:"right",disableGestures:this.state.leftMenuOpen,edgeHitWidth:120,isOpen:this.state.rightMenuOpen,onChange:function(e){return u.setState({rightMenuOpen:e})},menu:c.default.createElement(T,null),style:_.app,bounceBackOnOverdraw:!1},c.default.createElement(h.default,{openMenuOffset:f.Dimensions.get('window').width-50,disableGestures:this.state.rightMenuOpen,edgeHitWidth:120,isOpen:this.state.leftMenuOpen,onChange:function(e){return u.setState({leftMenuOpen:e})},menu:c.default.createElement(U,{onChannelClick:function(e){return u.setState({currentChannel:e,leftMenuOpen:!1})},currentChannel:this.state.currentChannel}),style:_.app,bounceBackOnOverdraw:!1},c.default.createElement(f.View,{style:_.mainView},this.state.currentChannel?c.default.createElement(f.View,{style:{flex:1}},c.default.createElement(f.View,{style:_.channelHeader},c.default.createElement(f.TouchableOpacity,{style:_.headerIcon,onPress:function(){u.setState({leftMenuOpen:!u.state.leftMenuOpen})}},c.default.createElement(k,null,"\u2630")),c.default.createElement(k,{style:{flex:1}},"#",this.state.currentChannel.name)),c.default.createElement(R,{channel:this.state.currentChannel,onLongPress:function(e){u.setState({contextMenuMessage:e})},onUserPress:function(e){u.setState({contextMenuUser:e.author})},onImagePress:function(e){u.setState({imageViewerImage:e})}}),c.default.createElement(f.View,{style:_.messageBoxOuter},c.default.createElement(V,{channel:this.state.currentChannel}),this.state.replyingMessages&&this.state.replyingMessages.map(function(e){var t;return c.default.createElement(f.View,{key:e._id,style:_.repliedMessagePreview},c.default.createElement(k,null,"Replying to ",null==(t=e.author)?void 0:t.username))}),c.default.createElement(f.View,{style:_.messageBoxInner},c.default.createElement(f.TextInput,{placeholderTextColor:B.textTransparent,style:_.messageBox,placeholder:"Write your thoughts!",onChangeText:function(e){u.setState({currentText:e}),0==u.state.currentText.length?u.state.currentChannel.stopTyping():M||(M=!0,u.state.currentChannel.startTyping(),setTimeout(function(){return M=!1}.bind(u),2500))},value:this.state.currentText}),this.state.currentText.length>0&&c.default.createElement(f.TouchableOpacity,{style:_.sendButton,onPress:function(){u.state.currentChannel.sendMessage({content:u.state.currentText,replies:u.state.replyingMessages.map(function(e){return{id:e._id,mention:!1}})}),u.setState({currentText:"",replyingMessages:[]})}},c.default.createElement(k,null,"Send"))))):c.default.createElement(k,null,"No channel selected! Select one at the side!")))),c.default.createElement(f.Modal,{key:"messageMenu",animationType:"slide",transparent:!0,visible:!!this.state.contextMenuMessage,onRequestClose:function(){}},c.default.createElement(f.Pressable,{onPress:function(){return u.setState({contextMenuMessage:null})},style:{width:f.Dimensions.get("window").width,height:f.Dimensions.get("window").height,position:'absolute',backgroundColor:"#00000000"}}),c.default.createElement(f.View,{style:{width:"100%",height:"40%",top:"60%",backgroundColor:B.backgroundSecondary}},c.default.createElement(f.View,null,c.default.createElement(O,{message:this.state.contextMenuMessage,style:{margin:3,width:"100%"}}),c.default.createElement(f.Pressable,{style:_.actionTile,onPress:function(){return u.setState({contextMenuMessage:null})}},c.default.createElement(k,null,"Close")),c.default.createElement(f.Pressable,{style:_.actionTile,onPress:function(){var e=u.state.replyingMessages||[];e.length>=4||(e.push(u.state.contextMenuMessage),u.setState({replyingMessages:e,contextMenuMessage:null}))}},c.default.createElement(k,null,"Reply"))))),c.default.createElement(f.Modal,{key:"profileMenu",animationType:"slide",transparent:!0,visible:!!this.state.contextMenuUser,onRequestClose:function(){}},c.default.createElement(f.Pressable,{onPress:function(){return u.setState({contextMenuUser:null})},style:{width:f.Dimensions.get("window").width,height:f.Dimensions.get("window").height,position:'absolute',backgroundColor:"#00000000"}}),c.default.createElement(f.View,{style:{width:"100%",height:"75%",top:"25%",padding:15,backgroundColor:B.backgroundSecondary}},c.default.createElement(f.View,null,(null==(e=this.state.contextMenuUser)?void 0:e.generateAvatarURL)&&c.default.createElement(b,{style:{borderRadius:1e4,height:100,width:100},source:{uri:this.state.contextMenuUser.generateAvatarURL()}}),c.default.createElement(k,{style:{fontWeight:'bold',fontSize:30}},"@",null==(t=this.state.contextMenuUser)?void 0:t.username," ",(null==(n=this.state.contextMenuUser)?void 0:n.bot)&&c.default.createElement(f.View,{style:_.usernameBadge},c.default.createElement(k,{style:{color:B.accentColorForeground}},"BOT"))),!(null!=(a=this.state.contextMenuUser)&&a.bot)&&((null==(l=this.state.contextMenuUser)?void 0:l.relationship)==r(d[19]).RelationshipStatus.Friend?c.default.createElement(f.Pressable,{style:_.actionTile,onPress:function(){return u.setState({contextMenuUser:null})}},c.default.createElement(k,null,"Message (not impl.)")):c.default.createElement(f.Pressable,{style:_.actionTile,onPress:function(){var e;return null==(e=u.state.contextMenuUser)?void 0:e.addFriend()}},c.default.createElement(k,null,(null==(s=this.state.contextMenuUser)?void 0:s.relationship)==r(d[19]).RelationshipStatus.Incoming?"Accept Friend":"Add Friend")))))),c.default.createElement(f.Modal,{visible:!!this.state.imageViewerImage,transparent:!0},c.default.createElement(y.default,{imageUrls:null!=(o=this.state.imageViewerImage)&&o.metadata?[{url:x.generateFileURL(this.state.imageViewerImage),width:this.state.imageViewerImage.metadata.width,height:this.state.imageViewerImage.metadata.height}]:[{url:this.state.imageViewerImage}],renderHeader:function(){return c.default.createElement(f.View,{style:{height:50,width:"100%",justifyContent:'center',paddingLeft:10,paddingRight:10}},c.default.createElement(f.Pressable,{onPress:function(){var e;return f.Linking.openURL(null!=(e=u.state.imageViewerImage)&&e.metadata?x.generateFileURL(u.state.imageViewerImage):u.state.imageViewerImage)}},c.default.createElement(k,null,"Open URL")),c.default.createElement(f.View,{style:{marginLeft:20}}),c.default.createElement(f.Pressable,{onPress:function(){return u.setState({imageViewerImage:null})}},c.default.createElement(k,null,"Close")))},renderIndicator:function(e,t){return null},enableSwipeDown:!0,onCancel:function(){return u.setState({imageViewerImage:null})}}))):c.default.createElement(f.View,{style:_.app},c.default.createElement(f.View,{style:_.loggingInScreen},c.default.createElement(k,null,"Logging in...")))}}]),o})(c.default.Component),V=(0,r(d[20]).observer)(function(e){var t=e.channel;if(t){var n,a=t.typing.filter(function(e){return!!e});switch(a.length){case 1:n=a[0].username+" is typing...";break;case 2:n=a[0].username+" and "+a[1].username+" are typing...";break;case 3:n=a[0].username+", "+a[1].username+", and "+a[2].username+" are typing...";break;default:n="Several people are typing..."}if(a.length>0)return c.default.createElement(f.View,{style:_.typingBar},c.default.createElement(k,null,n))}return c.default.createElement(f.View,null)}),R=(function(s){(0,l.default)(u,s);var o=v(u);function u(e){var t;return(0,n.default)(this,u),(t=o.call(this,e)).state={messages:[],loading:!1},t}return(0,a.default)(u,[{key:"componentDidMount",value:function(){var t=this;console.log("mount component"),x.on('message',function(n){return e.default.async(function(e){for(;;)switch(e.prev=e.next){case 0:!t.props.loading&&t.props.channel&&t.props.channel._id==n.channel._id&&t.setState(function(e){var t=e.messages;return t.length>=50&&(t=t.slice(1)),t.push(n),{messages:t}});case 1:case"end":return e.stop()}},null,null,null,Promise)})}},{key:"componentDidUpdate",value:function(e){var n=this;console.log(this.props.channel,!e.channel,e.channel._id,this.props.channel._id),!this.props.channel||P&&e.channel._id==this.props.channel._id||(P=!0,this.setState({loading:!0}),requestAnimationFrame(function(){console.log("fetch messages");var e="";n.props.channel.fetchMessagesWithUsers({limit:50}).then(function(a){console.log("done fetching"),n.setState({messages:(0,t.default)(a.messages.reverse()).map(function(t){var a,l=c.default.createElement(I,{key:t._id,message:t,grouped:e==(null==(a=t.author)?void 0:a._id)&&!(t.reply_ids&&t.reply_ids.length>0),onLongPress:function(){return n.props.onLongPress(t)},onUserPress:function(){return n.props.onUserPress(t)},onImagePress:function(e){return n.props.onImagePress(e)}});return e=t.author?t.author._id:e,{rendered:l,message:t}}),loading:!1})})}))}},{key:"render",value:function(){var e=this;return this.props.loading?c.default.createElement(k,null,"Loading..."):c.default.createElement(f.View,{style:{flex:1}},c.default.createElement(f.ScrollView,{ref:function(t){e.scrollView=t},onContentSizeChange:function(){return e.scrollView.scrollToEnd({animated:!0})},style:_.messagesView},this.state.messages.map(function(e){return e.rendered}),c.default.createElement(f.View,{style:{marginTop:20}})))}}]),u})(c.default.Component),I=(function(e){(0,l.default)(s,e);var t=v(s);function s(e){return(0,n.default)(this,s),t.call(this,e)}return(0,a.default)(s,[{key:"render",value:function(){var e,t=this;return c.default.createElement(f.TouchableOpacity,{activeOpacity:.8,delayLongPress:1e3,onLongPress:this.props.onLongPress,style:null!==this.props.message.reply_ids?_.replyingWrapper:_.messageWrapper},null!==this.props.message.reply_ids&&c.default.createElement(f.View,{style:_.repliedMessagePreviews},this.props.message.reply_ids.map(function(e){return c.default.createElement(O,{key:e,message:x.messages.get(e)})})),c.default.createElement(f.View,{style:this.props.grouped?_.messageGrouped:_.message},this.props.message.author&&!this.props.grouped&&c.default.createElement(f.Pressable,{onPress:function(){return t.props.onUserPress()}},c.default.createElement(b,{source:{uri:this.props.message.author.generateAvatarURL()+"?max_side=128"},style:_.messageAvatar})),c.default.createElement(f.View,{style:_.messageInner},this.props.message.author&&!this.props.grouped&&c.default.createElement(f.View,{style:{flexDirection:'row'}},c.default.createElement(k,{style:_.messageUsername},this.props.message.author.username),c.default.createElement(k,{style:_.timestamp}," ",(0,p.default)((0,r(d[21]).decodeTime)(this.props.message._id)).format('YYYY-MM-DD hh:mm:ss A'))),c.default.createElement(C,{style:_.messageContent},this.props.message.content))),null==(e=this.props.message.attachments)?void 0:e.map(function(e){console.log(e);var n=e.metadata.width,a=e.metadata.width;if(n>f.Dimensions.get("screen").width){var l=f.Dimensions.get("screen").width/n;n*=l,a*=l}return"Image"==e.metadata.type&&c.default.createElement(f.Pressable,{onPress:function(){return t.props.onImagePress(e)}},c.default.createElement(b,{source:{uri:x.generateFileURL(e)},resizeMode:m.default.resizeMode.contain,style:{width:n,height:a,marginBottom:4,borderRadius:3}}))}))}}]),s})(c.default.PureComponent),O=(function(e){(0,l.default)(s,e);var t=v(s);function s(e){return(0,n.default)(this,s),t.call(this,e)}return(0,a.default)(s,[{key:"render",value:function(){return this.props.message?c.default.createElement(f.View,{style:_.replyMessage},c.default.createElement(k,{style:{marginLeft:15,marginRight:15}},"\u21b1"),this.props.message.author&&c.default.createElement(c.default.Fragment,null,c.default.createElement(b,{source:{uri:this.props.message.author.generateAvatarURL()+"?max_side=128"},style:_.messageAvatarReply}),c.default.createElement(k,{style:_.messageUsernameReply},this.props.message.author.username)),c.default.createElement(k,{style:_.messageContentReply},this.props.message.content.split("\n").join(" "))):c.default.createElement(c.default.Fragment,null)}}]),s})(c.default.PureComponent),U=(function(e){(0,l.default)(o,e);var s=v(o);function o(e){var t;return(0,n.default)(this,o),(t=s.call(this,e)).state={currentServer:null},t}return(0,a.default)(o,[{key:"render",value:function(){var e,n,a,l,s=this;return c.default.createElement(f.View,{style:_.leftView},c.default.createElement(f.ScrollView,{style:_.serverList},c.default.createElement(f.TouchableOpacity,{onPress:function(){s.setState({currentServer:null})},key:null==(e=x.user)?void 0:e._id,style:_.serverButton},null!=(n=x.user)&&n.generateAvatarURL?c.default.createElement(b,{source:{uri:(null==(a=x.user)?void 0:a.generateAvatarURL())+"?max_side=128"},style:_.serverIcon}):c.default.createElement(k,null,null==(l=x.user)?void 0:l.name)),(0,t.default)(x.servers.values()).map(function(e){var t=e.generateIconURL();return console.log(t),c.default.createElement(f.TouchableOpacity,{onPress:function(){s.setState({currentServer:e})},key:e._id,style:_.serverButton},t?c.default.createElement(b,{source:{uri:t+"?max_side=128"},style:_.serverIcon}):c.default.createElement(k,null,e.name))})),c.default.createElement(f.ScrollView,{style:_.channelList},(this.state.currentServer?this.state.currentServer.channels:(0,t.default)(x.channels.values()).filter(function(e){return"Group"==e.channel_type})).map(function(e){return c.default.createElement(f.TouchableOpacity,{onPress:function(){s.props.onChannelClick(e)},key:e._id,style:_.channelButton},c.default.createElement(k,null,e.name))})))}}]),o})(c.default.PureComponent),T=(function(e){(0,l.default)(s,e);var t=v(s);function s(e){var a;return(0,n.default)(this,s),(a=t.call(this,e)).state={currentServer:null},a}return(0,a.default)(s,[{key:"render",value:function(){return c.default.createElement(f.View,{style:_.rightView},c.default.createElement(k,null,"trollface"))}}]),s})(c.default.Component),L=(function(e){(0,l.default)(s,e);var t=v(s);function s(){return(0,n.default)(this,s),t.apply(this,arguments)}return(0,a.default)(s,[{key:"render",value:function(){return c.default.createElement(f.View,{style:_.outer},c.default.createElement(f.StatusBar,{animated:!0,backgroundColor:B.backgroundPrimary,barStyle:"light-content"}),c.default.createElement(S,null))}}]),s})(c.default.Component);_e.default=L;var _,B={backgroundPrimary:'#151515',backgroundSecondary:'#202020',foregroundPrimary:'#dddddd',foregroundSecondary:'#888888',textTransparent:'#ddddddaa',accentColor:'#4444ff',accentColorForeground:'#000000'};_=f.StyleSheet.create({outer:{flex:1,backgroundColor:B.backgroundPrimary},app:{flex:1,backgroundColor:B.backgroundPrimary},mainView:{flex:1,backgroundColor:B.backgroundPrimary},loggingInScreen:{flex:1,alignItems:'center',justifyContent:'center'},leftView:{flex:1,backgroundColor:B.backgroundSecondary,flexDirection:"row",justifyContent:'flex-start'},rightView:{flex:1,backgroundColor:B.backgroundSecondary},textDefault:{color:"#ddd"},message:{width:"100%",flex:1,flexDirection:"row"},messageContent:{marginTop:-6,marginBottom:4},messageGrouped:{paddingLeft:40,marginTop:-10,width:"100%"},messageInner:{flex:1,paddingLeft:10},messageAvatar:{width:40,height:40,borderRadius:1e5},messageAvatarReply:{width:15,height:15,borderRadius:1e5},messageUsernameReply:{marginLeft:3,marginRight:3},replyMessage:{alignItems:'center'},typingBar:{height:20,backgroundColor:B.backgroundSecondary,borderBottomColor:B.backgroundPrimary,borderBottomWidth:1},messageUsername:{fontWeight:'bold',marginBottom:-4,marginTop:2},serverButton:{borderRadius:5e3,width:48,height:48,margin:4,backgroundColor:B.backgroundPrimary,overflow:"hidden"},serverIcon:{width:48,height:48},serverList:{width:56,flexShrink:1},channelList:{flexGrow:1e3,flex:1e3},channelButton:{padding:8,margin:3,marginRight:5,borderRadius:3,backgroundColor:B.backgroundPrimary},messagesView:{padding:10,flex:1},messageBoxInner:{flexDirection:'row'},messageBoxOuter:{backgroundColor:B.backgroundSecondary,margin:5,borderRadius:3},sendButton:{margin:3,marginLeft:0,borderRadius:3,backgroundColor:B.backgroundPrimary,width:50,justifyContent:'center',alignItems:'center'},headerIcon:{margin:5,marginRight:10,justifyContent:'center',alignItems:'center'},messageBox:{color:B.foregroundPrimary,paddingLeft:10,padding:6,flex:1},channelHeader:{height:50,backgroundColor:B.backgroundSecondary,alignItems:'center',paddingLeft:20,flexDirection:'row'},replyMessage:{flexDirection:'row'},messageContentReply:{height:20},actionTile:{height:40,width:"100%",justifyContent:'center',borderBottomColor:B.backgroundPrimary,borderBottomWidth:1,paddingLeft:10,paddingRight:10,margin:3},repliedMessagePreview:{paddingLeft:3,borderBottomColor:B.backgroundPrimary,borderBottomWidth:1},repliedMessagePreviews:{paddingTop:8},usernameBadge:{padding:2,borderRadius:3,backgroundColor:B.accentColor},timestamp:{fontSize:12,color:B.foregroundSecondary,position:'relative',top:4,left:4}})},399,[3,275,35,7,8,10,12,15,29,400,402,125,1,591,592,594,595,603,660,670,671,642]); __d(function(g,r,i,a,m,_e,d){function t(t){var e=n();return function(){var n,o=r(d[0])(t);if(e){var c=r(d[0])(this).constructor;n=Reflect.construct(o,arguments,c)}else n=o.apply(this,arguments);return r(d[1])(this,n)}}function n(){if("undefined"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(t){return!1}}var e=r(d[2]).NativeModules,o=(function(n){"use strict";r(d[3])(o,n);var e=t(o);function o(){return r(d[4])(this,o),e.apply(this,arguments)}return o})(r(d[5])(Error)),c=(function(n){"use strict";r(d[3])(o,n);var e=t(o);function o(){return r(d[4])(this,o),e.apply(this,arguments)}return o})(r(d[5])(Error));function u(t){if(e.RNGetRandomValues)return e.RNGetRandomValues.getRandomBase64(t);if(e.ExpoRandom)return e.ExpoRandom.getRandomBase64String(t);throw new Error('Native module not found')}'object'!=typeof g.crypto&&(g.crypto={}),'function'!=typeof g.crypto.getRandomValues&&(g.crypto.getRandomValues=function(t){if(!(t instanceof Int8Array||t instanceof Uint8Array||t instanceof Int16Array||t instanceof Uint16Array||t instanceof Int32Array||t instanceof Uint32Array||t instanceof Uint8ClampedArray))throw new o('Expected an integer array');if(t.byteLength>65536)throw new c('Can only request a maximum of 65536 bytes');return r(d[6])(u(t.byteLength),new Uint8Array(t.buffer,t.byteOffset,t.byteLength)),t})},400,[15,12,1,10,7,58,401]); __d(function(g,r,_i,a,m,e,d){'use strict';var t=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0,62,0,63,52,53,54,55,56,57,58,59,60,61,0,0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,0,0,0,0,63,0,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51];m.exports=function(o,c){for(var h,A=o.length,C='='===o[A-2]?2:'='===o[A-1]?1:0,n=0,f=A-C&4294967292,i=0;i>16&255,c[n++]=h>>8&255,c[n++]=255&h;1===C&&(h=t[o.charCodeAt(i)]<<10|t[o.charCodeAt(i+1)]<<4|t[o.charCodeAt(i+2)]>>2,c[n++]=h>>8&255,c[n++]=255&h),2===C&&(h=t[o.charCodeAt(i)]<<2|t[o.charCodeAt(i+1)]>>4,c[n++]=255&h)}},401,[]); __d(function(g,r,i,a,m,e,d){if('undefined'==typeof __dirname&&(g.__dirname='/'),'undefined'==typeof __filename&&(g.__filename=''),'undefined'==typeof process)g.process=r(d[0]);else{var f=r(d[0]);for(var n in f)n in process||(process[n]=f[n])}process.browser=!1,'undefined'==typeof Buffer&&(g.Buffer=r(d[1]).Buffer);process.env.NODE_ENV='production','undefined'!=typeof localStorage&&(localStorage.debug=''),r(d[2])},402,[403,404,407]); diff --git a/android/app/src/main/res/values/strings.xml b/android/app/src/main/res/values/strings.xml index 32caf73..ab5df35 100644 --- a/android/app/src/main/res/values/strings.xml +++ b/android/app/src/main/res/values/strings.xml @@ -1,3 +1,3 @@ - RVMob + RVMob diff --git a/src/Generic.js b/src/Generic.js index 79f82f3..d6b76c0 100644 --- a/src/Generic.js +++ b/src/Generic.js @@ -159,7 +159,7 @@ export const client = new Client({ unreads: true }); export const Text = (props) => { let newProps = {...props} if (!props.style) newProps = Object.assign({style: {}}, newProps) - newProps.style = Object.assign({color: currentTheme.textPrimary, flexWrap: 'wrap', fontFamily: 'OpenSans'}, newProps.style) + newProps.style = Object.assign({color: currentTheme.foregroundPrimary, flexWrap: 'wrap', fontFamily: 'OpenSans'}, newProps.style) return ( {newProps.children} ) @@ -222,7 +222,7 @@ const spoilerStyle = { }, revealedSpoiler: { backgroundColor: currentTheme.backgroundSecondary, - color: currentTheme.textPrimary, + color: currentTheme.foregroundPrimary, }, }; @@ -290,19 +290,19 @@ export const MarkdownView = (props) => { if (!newProps.rules) newProps = Object.assign({rules: spoilerRule}, newProps) if (!newProps.style) newProps = Object.assign({style: {}}, newProps) if (!newProps.style.body) newProps.style = Object.assign({body: {}}, newProps.style) - newProps.style.body = Object.assign({color: currentTheme.textPrimary}, newProps.style.body) + newProps.style.body = Object.assign({color: currentTheme.foregroundPrimary}, newProps.style.body) if (!newProps.style.paragraph) newProps.style = Object.assign({paragraph: {}}, newProps.style) - newProps.style.paragraph = Object.assign({color: currentTheme.textPrimary, marginTop: -3, marginBottom: 2}, newProps.style.paragraph) + newProps.style.paragraph = Object.assign({color: currentTheme.foregroundPrimary, marginTop: -3, marginBottom: 2}, newProps.style.paragraph) if (!newProps.style.link) newProps.style = Object.assign({link: {}}, newProps.style) newProps.style.link = Object.assign({color: currentTheme.accentColor}, newProps.style.link) if (!newProps.style.code_inline) newProps.style = Object.assign({ code_inline: {} }, newProps.style) - newProps.style.code_inline = Object.assign({ color: currentTheme.textPrimary, backgroundColor: currentTheme.backgroundSecondary }, newProps.style.code_inline); + newProps.style.code_inline = Object.assign({ color: currentTheme.foregroundPrimary, backgroundColor: currentTheme.backgroundSecondary }, newProps.style.code_inline); if (!newProps.style.fence) newProps.style = Object.assign({fence: {}}, newProps.style); - newProps.style.fence = Object.assign({ color: currentTheme.textPrimary, backgroundColor: currentTheme.backgroundSecondary, borderWidth: 0 }, newProps.style.fence); + newProps.style.fence = Object.assign({ color: currentTheme.foregroundPrimary, backgroundColor: currentTheme.backgroundSecondary, borderWidth: 0 }, newProps.style.fence); if (!newProps.style.code_block) newProps.style = Object.assign({code_block: {}}, newProps.style); - newProps.style.code_block = Object.assign({ borderColor: currentTheme.textPrimary, color: currentTheme.textPrimary, backgroundColor: currentTheme.backgroundSecondary }, newProps.style.code_block); + newProps.style.code_block = Object.assign({ borderColor: currentTheme.foregroundPrimary, color: currentTheme.foregroundPrimary, backgroundColor: currentTheme.backgroundSecondary }, newProps.style.code_block); if (!newProps.style.blockquote) newProps.style = Object.assign({ blockquote: {} }, newProps.style) - newProps.style.blockquote = Object.assign({ borderColor: currentTheme.textPrimary, color: currentTheme.textPrimary, backgroundColor: currentTheme.blockQuoteBackground }, newProps.style.block_quote); + newProps.style.blockquote = Object.assign({ borderColor: currentTheme.foregroundPrimary, color: currentTheme.foregroundPrimary, backgroundColor: currentTheme.blockQuoteBackground }, newProps.style.block_quote); try { return ( {newProps.children} @@ -351,11 +351,11 @@ export const ServerList = observer(({ onServerPress, onServerLongPress, filter, let pings = s.getMentions().length; return {showUnread && s.getMentions().length > 0 ? - - {pings > 9 ? "9+" : pings} + + {pings > 9 ? "9+" : pings} : showUnread && s.isUnread() ? - + : null} {onServerPress(s)}} @@ -369,18 +369,23 @@ export const ServerList = observer(({ onServerPress, onServerLongPress, filter, }) export const ChannelButton = observer(({channel, onPress=()=>{}, onLongPress=()=>{}, delayLongPress, selected, showUnread=true}) => { - let color = showUnread && channel.unread ? currentTheme.textPrimary : currentTheme.textSecondary + let color = showUnread && channel.unread ? currentTheme.foregroundPrimary : currentTheme.foregroundTertiary let pings = channel.mentions?.length + let classes = [styles.channelButton] + if (selected) { + classes.push(styles.channelButtonSelected) + } + if (channel.channel_type == "DirectMessage" || channel.channel_type == "Group") { + classes.push({padding: 6}) + } else { + classes.push({padding: 8}) + } return onPress()} onLongPress={()=>onLongPress()} delayLongPress={delayLongPress} key={channel._id} - style={ - selected ? - [styles.channelButton, styles.channelButtonSelected] : - styles.channelButton - }> + style={classes}> {channel.channel_type == "DirectMessage" ? @@ -393,37 +398,37 @@ export const ChannelButton = observer(({channel, onPress=()=>{}, onLongPress=()= - {channel.name || channel} + {channel.name || channel} {showUnread && channel.mentions?.length > 0 ? - - {pings > 9 ? "9+" : pings} + + {pings > 9 ? "9+" : pings} : showUnread && channel.unread ? - + : null} } }) export const ChannelIcon = ({channel, showUnread=true}) => { - let color = showUnread && channel.unread ? currentTheme.textPrimary : currentTheme.textSecondary + let color = showUnread && channel.unread ? currentTheme.foregroundPrimary : currentTheme.foregroundSecondary return (channel.generateIconURL && channel.generateIconURL()) ? : + : channel == "Friends" ? - : + : channel == "Saved Notes" ? - : + : channel.channel_type == "DirectMessage" ? - + : channel.channel_type == "VoiceChannel" ? - + : - + } export const ChannelList = observer((props) => { @@ -431,6 +436,8 @@ export const ChannelList = observer((props) => { <> {!props.currentServer ? <> + Direct Messages + {props.onChannelClick(null)}} key={"home"} channel={"Home"} @@ -462,7 +469,7 @@ export const ChannelList = observer((props) => { let processedChannels = []; let res = props.currentServer.categories?.map(c => { return - {c.title?.toUpperCase()} + {c.title?.toUpperCase()} {c.channels.map((cid) => { processedChannels.push(cid) let c = client.channels.get(cid) @@ -507,7 +514,7 @@ export const ServerName = observer(({ server, size }) => { export const remarkStyle = { - color: currentTheme.textSecondary, + color: currentTheme.foregroundSecondary, textAlign: 'center', fontSize: 16, marginTop: 5 @@ -559,7 +566,7 @@ export function Input({value, onChangeText, placeholder, style, backgroundColor, value={value} onChangeText={onChangeText} placeholder={placeholder} - style={[{minWidth: "100%", borderRadius: 8, backgroundColor: currentTheme.backgroundSecondary, padding: 6, paddingLeft: 10, paddingRight: 10, color: currentTheme.textPrimary}, backgroundColor ? {backgroundColor} : {}, style]} + style={[{minWidth: "100%", borderRadius: 8, backgroundColor: currentTheme.backgroundSecondary, padding: 6, paddingLeft: 10, paddingRight: 10, color: currentTheme.foregroundPrimary}, backgroundColor ? {backgroundColor} : {}, style]} {...props} /> ) } @@ -572,10 +579,10 @@ export function InputWithButton({defaultValue, placeholder, buttonLabel, style, value={value} onChangeText={(v) => {setValue(v)}} placeholder={placeholder} - style={{flex: 1, borderRadius: 8, backgroundColor: backgroundColor || currentTheme.backgroundSecondary, padding: 6, paddingLeft: 10, paddingRight: 10, color: currentTheme.textPrimary}} + style={{flex: 1, borderRadius: 8, backgroundColor: backgroundColor || currentTheme.backgroundSecondary, padding: 6, paddingLeft: 10, paddingRight: 10, color: currentTheme.foregroundPrimary}} {...props} /> ) diff --git a/src/MessageBox.js b/src/MessageBox.js index ea42f1d..451a801 100644 --- a/src/MessageBox.js +++ b/src/MessageBox.js @@ -37,14 +37,14 @@ export const MessageBox = observer((props) => { setReplyingMessages(replyingMessages?.filter(m2 => m2.message._id != m.message._id)) }> - + { let replacing = [...replyingMessages] replacing[i].mentions = !replacing[i].mentions setReplyingMessages(replacing) }}> - @{m.mentions ? "ON" : "OFF"} + @{m.mentions ? "ON" : "OFF"} Replying to @@ -56,13 +56,13 @@ export const MessageBox = observer((props) => { setEditingMessage(null) setCurrentText("") }}> - + Editing message ) : null} - /* { + {/* { let res = await DocumentPicker.pickSingle({ type: [DocumentPicker.types.allFiles] }) @@ -70,9 +70,9 @@ export const MessageBox = observer((props) => { setAttachments([...attachments, res]) } }}> - - */ - { + + */} + { setCurrentText(text) if (currentText.length == 0) { props.channel.stopTyping(); @@ -120,7 +120,7 @@ export const MessageBox = observer((props) => { setReplyingMessages([]); } }}> - {editingMessage ? : } + {editingMessage ? : } : null} diff --git a/src/MessageView.js b/src/MessageView.js index 7bf79e7..8224f01 100644 --- a/src/MessageView.js +++ b/src/MessageView.js @@ -268,8 +268,8 @@ export const Message = observer((props) => { {(props.message.author && !props.grouped) ? props.onUserPress()}> : null} - {(props.grouped && props.message.edited) ? (edited) : null} - {(props.message.author && !props.grouped) ? {formatRelative(decodeTime(props.message._id), new Date())}{props.message.edited && (edited)} : null} + {(props.grouped && props.message.edited) ? (edited) : null} + {(props.message.author && !props.grouped) ? {formatRelative(decodeTime(props.message._id), new Date())}{props.message.edited && (edited)} : null} {parseRevoltNodes(props.message.content)} {props.message.attachments?.map((a) => { if (a.metadata?.type == "Image") { @@ -301,7 +301,7 @@ export const Message = observer((props) => { const MessageEmbed = observer(({embed: e}) => { if (e.type=="Website") return - {e.site_name ? {e.site_name} : null} + {e.site_name ? {e.site_name} : null} {e.title && e.url ? openUrl(e.url)}>{e.title} : {e.title}} {e.description ? {e.description} : null} diff --git a/src/Modals.js b/src/Modals.js index a5b1ca5..d2cc158 100644 --- a/src/Modals.js +++ b/src/Modals.js @@ -34,7 +34,12 @@ export class Modals extends React.Component { inviteBot: null } setFunction("openProfile", async (u, s) => { - this.setState({contextMenuUser: u || null, contextMenuUserProfile: u ? (await u.fetchProfile()) : null, contextMenuUserMutual: u ? (await u.fetchMutual()) : null, contextMenuUserServer: s || null, contextMenuUserSection: "Profile"}); + this.setState({ + contextMenuUser: u || null, + contextMenuUserProfile: u ? (await u.fetchProfile()) : null, + contextMenuUserMutual: u && u.relationship != "User" ? (await u.fetchMutual()) : null, + contextMenuUserServer: s || null, contextMenuUserSection: "Profile" + }); }) setFunction("openInvite", async (i) => { this.setState({inviteServer: (await client.fetchInvite(i).catch(e => e)), inviteServerCode: i}) @@ -76,7 +81,7 @@ export class Modals extends React.Component { onPress={() => this.setState({contextMenuMessage: null})} > - + Close @@ -96,7 +101,7 @@ export class Modals extends React.Component { }} > - + Reply @@ -106,7 +111,7 @@ export class Modals extends React.Component { }} > - + Copy content @@ -117,9 +122,9 @@ export class Modals extends React.Component { }} > - + - Copy ID ({this.state.contextMenuMessage?._id}) + Copy ID ({this.state.contextMenuMessage?._id}) : null} {this.state.contextMenuMessage?.channel.havePermission("ManageMessages") || this.state.contextMenuMessage?.author.relationship == "User" ? ( @@ -130,7 +135,7 @@ export class Modals extends React.Component { }} > - + Delete @@ -145,7 +150,7 @@ export class Modals extends React.Component { }} > - + Edit @@ -215,7 +220,7 @@ export class Modals extends React.Component { (this.state.contextMenuUser?.relationship == "Friend" ? {app.openProfile(null); this.setState({currentChannel: (await this.state.contextMenuUser.openDM()), messages: []})}}> - + Message @@ -224,13 +229,13 @@ export class Modals extends React.Component { <> {this.state.contextMenuUser?.addFriend(); this.setState({})}}> - + Accept Friend {this.state.contextMenuUser?.removeFriend(); this.setState({})}}> - + Reject Friend @@ -253,7 +258,7 @@ export class Modals extends React.Component { : - Unloaded user} + Unloaded user} } : @@ -274,14 +279,14 @@ export class Modals extends React.Component { {app.settings.get("Show developer tools") ? {Clipboard.setString(this.state.contextMenuUser._id)}}> - + - Copy ID ({this.state.contextMenuUser?._id}) + Copy ID ({this.state.contextMenuUser?._id}) : null} {this.state.contextMenuUser?.badges ? <> - BADGES + BADGES <> {Object.keys(Badges).map(b => { @@ -303,7 +308,7 @@ export class Modals extends React.Component { case "PlatformModeration": return default: - return [{b}] + return [{b}] }})()} } @@ -316,13 +321,13 @@ export class Modals extends React.Component { : null} - BIO + BIO {this.state.contextMenuUserProfile?.content ? {parseRevoltNodes(this.state.contextMenuUserProfile?.content)} : null} : this.state.contextMenuUserSection == "Mutual Servers" ? - MUTUAL SERVERS + MUTUAL SERVERS {this.state.contextMenuUserMutual.servers.map((s) => { s = client.servers.get(s); return {app.openServer(s); app.openProfile(null); app.openLeftMenu(true)}}> @@ -334,7 +339,7 @@ export class Modals extends React.Component { : this.state.contextMenuUserSection == "Mutual Friends" ? - MUTUAL FRIENDS + MUTUAL FRIENDS {this.state.contextMenuUserMutual.users.map((u) => { u = client.users.get(u); return {app.openProfile(u)}}> @@ -364,8 +369,8 @@ export class Modals extends React.Component { {this.setState({settingsOpen: false})}}> - - Close + + Close {this.state.settingsSection == null ? @@ -380,8 +385,8 @@ export class Modals extends React.Component { this.state.settingsSection == "App" ? <> {this.setState({settingsSection: null})}}> - - Back + + Back {Object.entries(app.settings).map(([k, v]) => { if (v.experimental && !app.settings.get("Show experimental features")) return null; @@ -395,7 +400,7 @@ export class Modals extends React.Component { width: 40, height: 40, borderRadius: 8, backgroundColor: app.settings.get(k) ? currentTheme.accentColor : currentTheme.backgroundSecondary, alignItems: 'center', justifyContent: 'center' - }} onPress={() => {app.settings.set(k, !app.settings.get(k)); rerender()}}>{app.settings.get(k) ? : null} + }} onPress={() => {app.settings.set(k, !app.settings.get(k)); rerender()}}>{app.settings.get(k) ? : null} } else if (v.type == "string" || v.type == "number") { return @@ -414,7 +419,7 @@ export class Modals extends React.Component { {v.experimental ? : null} {v.developer ? : null} {k} - {app.settings.set(k, v); rerender()}} /> + {app.settings.set(k, v); rerender()}} /> } } @@ -424,8 +429,8 @@ export class Modals extends React.Component { this.state.settingsSection == "Account" ? {this.setState({settingsSection: null})}}> - - Back + + Back Account : null @@ -438,16 +443,16 @@ export class Modals extends React.Component { {this.state.contextMenuServer?.icon ? : null} - {this.state.contextMenuServer?.name} - {this.state.contextMenuServer?.description ? {this.state.contextMenuServer?.description} : null} + {this.state.contextMenuServer?.name} + {this.state.contextMenuServer?.description ? {this.state.contextMenuServer?.description} : null} {app.settings.get("Show developer tools") ? {Clipboard.setString(this.state.contextMenuServer._id)}}> - + - Copy ID ({this.state.contextMenuServer?._id}) + Copy ID ({this.state.contextMenuServer?._id}) : null} diff --git a/src/Profile.js b/src/Profile.js index 2b78ba1..e3d8dad 100644 --- a/src/Profile.js +++ b/src/Profile.js @@ -81,8 +81,8 @@ export const MiniProfile = observer(({ user, scale, channel, server, color }) => return - - {user.online ? (user.status?.text || (user.status?.presence || "Online")) : "Offline"} + + {user.online ? (user.status?.text || (user.status?.presence || "Online")) : "Offline"} @@ -90,8 +90,8 @@ export const MiniProfile = observer(({ user, scale, channel, server, color }) => return - {channel.name} - {channel?.recipient_ids.length} members + {channel.name} + {channel?.recipient_ids.length} members }) @@ -115,7 +115,7 @@ export const RoleView = observer(({ server, user }) => { }}> - - + + ); diff --git a/src/Theme.js b/src/Theme.js index 893a360..75c62de 100644 --- a/src/Theme.js +++ b/src/Theme.js @@ -1,118 +1,124 @@ import { StyleSheet } from 'react-native'; export const themes = { "Light": { - backgroundPrimary: '#ffffff', - backgroundSecondary: '#d8d8d8', - blockQuoteBackground: '#11111111', - textPrimary: '#000000', - textSecondary: '#555555', - accentColor: '#1ad4b2', - accentColorForeground: '#000000', - contentType: 'dark', - buttonBorderWidth: 0, - messageBoxBorderWidth: 0, - generalBorderWidth: 0, - buttonBorderColorActive: "#3333ff", - statusOnline: "#3abf7e", - statusIdle: "#f39f00", - statusBusy: "#f84848", - statusStreaming: "#977eff", - statusOffline: "#a5a5a5", - statusInvisible: "#a5a5a5", - pingColor: "#f84848", - pingColorForeground: "#ffffff" - }, - "Dark": { - backgroundPrimary: '#151515', - backgroundSecondary: '#202020', + background: '#F6F6F6', + backgroundPrimary: '#FFFFFF', + backgroundSecondary: '#F1F1F1', + backgroundTertiary: '#4D4D4D', + foregroundPrimary: '#000000', + foregroundSecondary: '#F1F1F1', + foregroundTertiary: '#4D4D4D', + headerPrimary: '#F1F1F1', + headerSecondary: '#F1F1F1', + hover: '#0000002B', + messageBox: '#F1F1F1', blockQuoteBackground: '#11111166', - textPrimary: '#dddddd', - textSecondary: '#888888', - accentColor: '#1ad4b2', + accentColor: '#1AD4B2', accentColorForeground: '#000000', contentType: 'light', - buttonBorderWidth: 0, - messageBoxBorderWidth: 0, - generalBorderWidth: 0, - buttonBorderColorActive: "#3333ff", - statusOnline: "#3abf7e", - statusIdle: "#f39f00", - statusBusy: "#f84848", - statusStreaming: "#977eff", - statusOffline: "#a5a5a5", - statusInvisible: "#a5a5a5", - pingColor: "#f84848", - pingColorForeground: "#ffffff" + statusOnline: "#3ABF7E", + statusIdle: "#F39F00", + statusBusy: "#F84848", + statusStreaming: "#977EFF", + statusOffline: "#A5A5A5", + statusInvisible: "#A5A5A5", + error: "#ED4245", + pingColor: "#FBFF0050" }, - "Solarized": { - backgroundPrimary: '#001a20', - backgroundSecondary: '#05252d', + "Dark": { + background: '#191919', + backgroundPrimary: '#242424', + backgroundSecondary: '#1E1E1E', + backgroundTertiary: '#4D4D4D', + foregroundPrimary: '#F6F6F6', + foregroundSecondary: '#C8C8C8', + foregroundTertiary: '#848484', + headerPrimary: '#363636', + headerSecondary: '#2D2D2D', + hover: '#0000001A', + messageBox: '#363636', blockQuoteBackground: '#11111166', - textPrimary: '#dddddd', - textSecondary: '#888888', - accentColor: '#1ad4b2', + accentColor: '#1AD4B2', accentColorForeground: '#000000', contentType: 'light', - buttonBorderWidth: 0, - messageBoxBorderWidth: 0, - generalBorderWidth: 0, - buttonBorderColorActive: "#3333ff", - statusOnline: "#3abf7e", - statusIdle: "#f39f00", - statusBusy: "#f84848", - statusStreaming: "#977eff", - statusOffline: "#a5a5a5", - statusInvisible: "#a5a5a5", - pingColor: "#f84848", - pingColorForeground: "#ffffff" - }, - "Vibrant Pink": { - backgroundPrimary: '#f9bae9', - backgroundSecondary: '#e99cd6', - blockQuoteBackground: '#11111166', - textPrimary: '#000000', - textSecondary: '#555555', - accentColor: '#1ad4b2', - accentColorForeground: '#000000', - contentType: 'dark', - buttonBorderWidth: 0, - messageBoxBorderWidth: 0, - generalBorderWidth: 0, - buttonBorderColorActive: "#3333ff", - statusOnline: "#3abf7e", - statusIdle: "#f39f00", - statusBusy: "#f84848", - statusStreaming: "#977eff", - statusOffline: "#a5a5a5", - statusInvisible: "#a5a5a5", - pingColor: "#f84848", - pingColorForeground: "#ffffff" + statusOnline: "#3ABF7E", + statusIdle: "#F39F00", + statusBusy: "#F84848", + statusStreaming: "#977EFF", + statusOffline: "#A5A5A5", + statusInvisible: "#A5A5A5", + error: "#ED4245", + pingColor: "#FBFF000F" }, - "AMOLED": { - backgroundPrimary: '#000000', - backgroundSecondary: '#000000', - blockQuoteBackground: '#111111', - textPrimary: '#dddddd', - textSecondary: '#888888', - accentColor: '#1ad4b2', - accentColorForeground: '#000000', - contentType: 'light', - buttonBorderColor: "#ffffff99", - buttonBorderWidth: 1, - messageBoxBorderColor: "#ffffff99", - messageBoxBorderWidth: 1, - generalBorderColor: "#ffffff22", - generalBorderWidth: 1, - buttonBorderColorActive: "#3333ff", - statusOnline: "#3abf7e", - statusIdle: "#f39f00", - statusBusy: "#f84848", - statusStreaming: "#977eff", - statusOffline: "#a5a5a5", - statusInvisible: "#a5a5a5", - pingColor: "#f84848", - pingColorForeground: "#ffffff" - } + // "Solarized": { + // backgroundPrimary: '#001a20', + // backgroundSecondary: '#05252d', + // blockQuoteBackground: '#11111166', + // textPrimary: '#dddddd', + // textSecondary: '#888888', + // accentColor: '#1ad4b2', + // accentColorForeground: '#000000', + // contentType: 'light', + // buttonBorderWidth: 0, + // messageBoxBorderWidth: 0, + // generalBorderWidth: 0, + // buttonBorderColorActive: "#3333ff", + // statusOnline: "#3abf7e", + // statusIdle: "#f39f00", + // statusBusy: "#f84848", + // statusStreaming: "#977eff", + // statusOffline: "#a5a5a5", + // statusInvisible: "#a5a5a5", + // pingColor: "#f84848", + // pingColorForeground: "#ffffff" + // }, + // "Vibrant Pink": { + // backgroundPrimary: '#f9bae9', + // backgroundSecondary: '#e99cd6', + // blockQuoteBackground: '#11111166', + // textPrimary: '#000000', + // textSecondary: '#555555', + // accentColor: '#1ad4b2', + // accentColorForeground: '#000000', + // contentType: 'dark', + // buttonBorderWidth: 0, + // messageBoxBorderWidth: 0, + // generalBorderWidth: 0, + // buttonBorderColorActive: "#3333ff", + // statusOnline: "#3abf7e", + // statusIdle: "#f39f00", + // statusBusy: "#f84848", + // statusStreaming: "#977eff", + // statusOffline: "#a5a5a5", + // statusInvisible: "#a5a5a5", + // pingColor: "#f84848", + // pingColorForeground: "#ffffff" + // }, + // "AMOLED": { + // backgroundPrimary: '#000000', + // backgroundSecondary: '#000000', + // blockQuoteBackground: '#111111', + // textPrimary: '#dddddd', + // textSecondary: '#888888', + // accentColor: '#1ad4b2', + // accentColorForeground: '#000000', + // contentType: 'light', + // buttonBorderColor: "#ffffff99", + // buttonBorderWidth: 1, + // messageBoxBorderColor: "#ffffff99", + // messageBoxBorderWidth: 1, + // generalBorderColor: "#ffffff22", + // generalBorderWidth: 1, + // buttonBorderColorActive: "#3333ff", + // statusOnline: "#3abf7e", + // statusIdle: "#f39f00", + // statusBusy: "#f84848", + // statusStreaming: "#977eff", + // statusOffline: "#a5a5a5", + // statusInvisible: "#a5a5a5", + // pingColor: "#f84848", + // pingColorForeground: "#ffffff" + // } } export var currentTheme = themes["Dark"] export var currentThemeName = "Dark" @@ -148,7 +154,7 @@ function refreshStyles() { backgroundColor: currentTheme.backgroundSecondary }, textDefault: { - color: currentTheme.textPrimary + color: currentTheme.foregroundPrimary }, message: { width: "100%", @@ -202,60 +208,54 @@ function refreshStyles() { height: 48 }, serverList: { - width: 56, - flexShrink: 1 + width: 60, + flexShrink: 1, + backgroundColor: currentTheme.background, + paddingTop: 4, + paddingBottom: 4, }, channelList: { flexGrow: 1000, flex: 1000 }, channelButton: { - padding: 10 - currentTheme.generalBorderWidth, - paddingTop: 12 - currentTheme.generalBorderWidth, - paddingBottom: 12 - currentTheme.generalBorderWidth, marginLeft: 8, marginRight: 8, borderRadius: 8, flexDirection: 'row', alignItems: 'center', - borderWidth: currentTheme.buttonBorderWidth, - borderColor: currentTheme.buttonBorderColor }, button: { - padding: 10 - currentTheme.generalBorderWidth, - paddingLeft: 16 - currentTheme.generalBorderWidth, - paddingRight: 16 - currentTheme.generalBorderWidth, + padding: 10, + paddingLeft: 16, + paddingRight: 16, borderRadius: 8, - backgroundColor: currentTheme.backgroundSecondary, + backgroundColor: currentTheme.headerSecondary, margin: 5, justifyContent: 'center', alignItems: 'center', - flexDirection: 'row', - borderWidth: currentTheme.buttonBorderWidth, - borderColor: currentTheme.buttonBorderColor + flexDirection: 'row' }, buttonSecondary: { - padding: 10 - currentTheme.generalBorderWidth, - paddingLeft: 16 - currentTheme.generalBorderWidth, - paddingRight: 16 - currentTheme.generalBorderWidth, + padding: 10, + paddingLeft: 16, + paddingRight: 16, borderRadius: 8, backgroundColor: currentTheme.backgroundPrimary, margin: 5, justifyContent: 'center', alignItems: 'center', - flexDirection: 'row', - borderWidth: currentTheme.buttonBorderWidth, - borderColor: currentTheme.buttonBorderColor + flexDirection: 'row' }, channelButtonSelected: { - backgroundColor: currentTheme.backgroundPrimary + backgroundColor: currentTheme.hover }, iconContainer: { alignItems: 'center', justifyContent: 'center', - width: 20, - height: 20, - marginRight: 5 + width: 30, + height: 30, + marginRight: 8 }, messagesView: { padding: 10, @@ -269,10 +269,8 @@ function refreshStyles() { paddingRight: 8 }, messageBoxOuter: { - backgroundColor: currentTheme.backgroundSecondary, - overflow: "hidden", - borderColor: currentTheme.messageBoxBorderColor, - borderWidth: currentTheme.messageBoxBorderWidth + backgroundColor: currentTheme.messageBox, + overflow: "hidden" }, sendButton: { margin: 3, @@ -286,14 +284,14 @@ function refreshStyles() { alignItems: 'center' }, messageBox: { - color: currentTheme.textPrimary, + color: currentTheme.foregroundPrimary, paddingLeft: 10, padding: 6, flex: 1 }, channelHeader: { height: 50, - backgroundColor: currentTheme.backgroundSecondary, + backgroundColor: currentTheme.headerPrimary, alignItems: 'center', paddingLeft: 20, flexDirection: 'row' @@ -324,7 +322,7 @@ function refreshStyles() { }, timestamp: { fontSize: 12, - color: currentTheme.textSecondary, + color: currentTheme.foregroundTertiary, position: 'relative', top: 2, left: 2