From 29a612dffa3b4451a4cf701e498cc43a9848d18a Mon Sep 17 00:00:00 2001 From: benya Date: Sun, 5 Apr 2026 15:36:19 +0300 Subject: [PATCH] feat: add branded app and web icons Add adaptive and legacy launcher icons for Android. Replace the default notification icon with a branded monochrome asset. Add favicon, touch icons, and a web app manifest for the web client. --- android/app/src/main/AndroidManifest.xml | 4 +-- .../notifications/NotificationDispatcher.kt | 4 +-- .../res/drawable/ic_launcher_foreground.xml | 24 ++++++++++++++++++ .../res/drawable/ic_launcher_monochrome.xml | 15 +++++++++++ .../res/drawable/ic_notification_small.xml | 9 +++++++ .../res/mipmap-anydpi-v26/ic_launcher.xml | 6 +++++ .../mipmap-anydpi-v26/ic_launcher_round.xml | 6 +++++ .../src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 756 bytes .../res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 883 bytes .../src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 545 bytes .../res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 631 bytes .../src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 1004 bytes .../res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 1157 bytes .../main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 1424 bytes .../res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 1622 bytes .../main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 1846 bytes .../res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 2184 bytes .../res/values/ic_launcher_background.xml | 4 +++ web/index.html | 6 +++++ web/public/android-chrome-192x192.png | Bin 0 -> 1846 bytes web/public/android-chrome-512x512.png | Bin 0 -> 4964 bytes web/public/apple-touch-icon.png | Bin 0 -> 1735 bytes web/public/favicon-16x16.png | Bin 0 -> 266 bytes web/public/favicon-32x32.png | Bin 0 -> 430 bytes web/public/favicon.ico | Bin 0 -> 5380 bytes web/public/favicon.svg | 13 ++++++++++ web/public/site.webmanifest | 19 ++++++++++++++ 27 files changed, 106 insertions(+), 4 deletions(-) create mode 100644 android/app/src/main/res/drawable/ic_launcher_foreground.xml create mode 100644 android/app/src/main/res/drawable/ic_launcher_monochrome.xml create mode 100644 android/app/src/main/res/drawable/ic_notification_small.xml create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml create mode 100644 android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 android/app/src/main/res/values/ic_launcher_background.xml create mode 100644 web/public/android-chrome-192x192.png create mode 100644 web/public/android-chrome-512x512.png create mode 100644 web/public/apple-touch-icon.png create mode 100644 web/public/favicon-16x16.png create mode 100644 web/public/favicon-32x32.png create mode 100644 web/public/favicon.ico create mode 100644 web/public/favicon.svg create mode 100644 web/public/site.webmanifest diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 6ed35c1..8228d37 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -13,9 +13,9 @@ android:name=".MessengerApplication" android:allowBackup="true" android:enableOnBackInvokedCallback="true" - android:icon="@android:drawable/sym_def_app_icon" + android:icon="@mipmap/ic_launcher" android:label="@string/app_name" - android:roundIcon="@android:drawable/sym_def_app_icon" + android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:usesCleartextTraffic="true" android:theme="@style/Theme.Messenger"> diff --git a/android/app/src/main/java/ru/daemonlord/messenger/core/notifications/NotificationDispatcher.kt b/android/app/src/main/java/ru/daemonlord/messenger/core/notifications/NotificationDispatcher.kt index d6bae65..9766799 100644 --- a/android/app/src/main/java/ru/daemonlord/messenger/core/notifications/NotificationDispatcher.kt +++ b/android/app/src/main/java/ru/daemonlord/messenger/core/notifications/NotificationDispatcher.kt @@ -89,7 +89,7 @@ class NotificationDispatcher @Inject constructor( state.lines.reversed().forEach { inboxStyle.addLine(it) } val notification = NotificationCompat.Builder(context, channelId) - .setSmallIcon(android.R.drawable.ic_dialog_info) + .setSmallIcon(R.drawable.ic_notification_small) .setContentTitle(state.title) .setContentText(contentText) .setStyle(inboxStyle) @@ -154,7 +154,7 @@ class NotificationDispatcher @Inject constructor( inboxStyle.addLine(line) } val summary = NotificationCompat.Builder(context, NotificationChannels.CHANNEL_MESSAGES) - .setSmallIcon(android.R.drawable.ic_dialog_info) + .setSmallIcon(R.drawable.ic_notification_small) .setContentTitle("Benya Messenger") .setContentText("$totalUnread new messages in ${snapshot.size} chats") .setStyle(inboxStyle) diff --git a/android/app/src/main/res/drawable/ic_launcher_foreground.xml b/android/app/src/main/res/drawable/ic_launcher_foreground.xml new file mode 100644 index 0000000..0204f9e --- /dev/null +++ b/android/app/src/main/res/drawable/ic_launcher_foreground.xml @@ -0,0 +1,24 @@ + + + + + + + + diff --git a/android/app/src/main/res/drawable/ic_launcher_monochrome.xml b/android/app/src/main/res/drawable/ic_launcher_monochrome.xml new file mode 100644 index 0000000..9de968c --- /dev/null +++ b/android/app/src/main/res/drawable/ic_launcher_monochrome.xml @@ -0,0 +1,15 @@ + + + + + diff --git a/android/app/src/main/res/drawable/ic_notification_small.xml b/android/app/src/main/res/drawable/ic_notification_small.xml new file mode 100644 index 0000000..661b70c --- /dev/null +++ b/android/app/src/main/res/drawable/ic_notification_small.xml @@ -0,0 +1,9 @@ + + + diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml new file mode 100644 index 0000000..c78bee3 --- /dev/null +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml new file mode 100644 index 0000000..c78bee3 --- /dev/null +++ b/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/android/app/src/main/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..073008b0353920e0e21abd3fd153c69f5b703f89 GIT binary patch literal 756 zcmVvx#S1Q2bLbuu2u zv$20D+Le~|&iolq#)H@D)A?^8fH0e=rf*0QvFoB#`A|!&w1(dZ-303hl^Wbf=sq}2 zq!i0F2tk-y(UijfIVd!7rbbip*UJ&(T`c72DUG7{5fsHK(V{E|MM~HUjIeu~>;%KxjTz)0R6tla=**r+2 zu*u%H#CD8v_5q~wY@4NjR#R-eBUhYPw2d}Cn%W)Rz`{pz4!R#Lz^qW%O7kGLV8p7B?@T4JPLs&c;r3!;ErC5vT5FQT=qXSd|GeNk@IAW3d+VmltTC zMXZBdmO+yiMKVG4Gv*)zQ6K}s^rSIPu^GJ0FESL1Y>A%eC%IwPRwd0fjzz;PCZTD> z-5my!=Ln))E#(fr97OZ8YKK|(DrpdS7ZXLSgG^9+(n9K>iR0;rZMQo<9zL+vFD^Tf zg{{wS&p`@>Ej)gy{_ZV%mVWxO20j?<-La49L?BKvT{ztY(d~}G?yYYV z{O<1fe!O1!T3>)TVk4+Ox&bMOtEBs*YmkJzb_aqeoHopw(%ZQLX^4rSUM5c*uQ}+) z>F2lSz3dxE#rqUn&MrYRdWz}qXL?a-d0VzPdZnS3w!Z2oLNbv!;x`WKCTVZeOfX99 zQbQ7n&DlB~Mpd1>5T_c%vpX75mV-i$B2~ANe*Hy+FsMFY$smCWKqSKvU1tB)%VXDs ms(Z*AX+Uglj|du(4>QZDWQ0000zRLMXV>Gkarg8eM1m~0M~Fa5WNRlI65csk3upB~+tGNj{Tq zcu~vu)k}*wIk_#ScDMPMlmX)QUStnJ8>LO|z9kLckx3hi>=9_Cu+2<|wZ0}UU2Czg zSDYoejV@iySGhwM4nD5RL1Yq>7qiFE6-rx;`r19;rOF-pVfvZYcI&NLWVdNGHyR?S zh16&CY`pvkA-FnyA>CvZMM*KZG2U9lF+CR7Pv4h)6v0f=H~aNpC1UM?4(DRQ^Md2C zcz)Ux%&ZA1QX5=9ha6-eQ2+B!0n1JD+Ql?6bTQAvycaeECW~T;p6O>>O&Zp{Ld~S5 z+Tr>+oU8^|-O+23vWUib2g)6CIf&<{^a?Y*Gii;Zm@0--jW)P7X(jWZE6?4L>t|l> zKu#Ip$(tXd^B12L$kJ9;xdZ=`vw33gnQ%vWB7o`91!yO?(ZxsS)g9BLg-A~Ek%LOx z-2B7I!F<`CQ(yb}b{jM?JzV|6Sx{c~aa9 zTKbGV5XthUUi(uG?661}>e@U)_rTCkUcj5b+M~(o$COyzfuI*>+oZ}Js4SY~9*-lu zx&tE%CI5gWPp)8Kp*%jK%dZc3>$CKMLOtXy7+Cw?R4F15KBu_Zd4p9;Kn};N}!?*StgFhbxNOP zRZU|1J zB{;RhGzRiSeolnMTyp<~X8|Pz!`d3?#NPFXN;ed{-M3T%-1<6jqI&h7>iL2n1H{Hn z-h)3!3QmRZSV(SeV*^aV_2;7Tl4=pa4@8YFG-_^wX^gx%3EZqsqe$QuRm_o4Jh=fK znDmarZxFZ@yw^Zd<0Kz97KIxz3#C{!1xzBxB4r_U7t$#r3>0peVt^g^9|YhkjWWgz zT9!uB_CZ=2HJ5=nvX)$>(L86NVuDX+br~dZBbC!TXV0n0Q=f@~KPPENM%}(CtZpU? zAdQzOw})gOdO5Fx2~;{R`C0Ow*lU%}5V%qC=b&>EPHUhP#p8>8t;EaiC#8PEY4){O zbK}c{KiA5w0dPQ?DCV42pKWZ(T~0gAN7nJBZvL;`qq*aH4+x zZhJf7LB5zA<`NrdD~nzP6=mZ6>?ZL z54@(%g{ngSTZmGG2^em14$N^DtIQEWNz4v~h`@gt<;)p{FQe8*RYqNH6oOkMa;!ic zRZIScGAjOT6)I)y>Cgx%1UJ)-Y^JRpKRJ`fj!A>|iQpCs0L(z2)eVY(LU2+FpxWx` z;g~s}PwFBM)Y^UQP(a^_<5p{Hv8-5n$RWonOst4pO{IA!7y!wO>FE%@?h%7#$Cv R3S|HQ002ovPDHLkV1o4R7}fv) literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..b35c53248046a665bd3cda793c688db22d0954fa GIT binary patch literal 1004 zcmV zOK;Oa5XW~Te+wS265F{TB|OBD&%~v9wVY5v4VQix zJ3H(7NtUXp@p}K0nc10jV*T{&w*n$n{X#>W#7omoy7f);eRFSZ46ns|`YbxQF+A1G z14R6K8fj<`5aFAV>s4t8FRj*A#7Fc7uR>lCAK3_AiN+$n0V51b-XOq|)?EdO_y#?} z6SZmC4MAcLeA0a(NW>=yMf;MlV2C<}n1D!Lh=~=5!cbWuCK#YiI~s(|;XP#&(|5l} z#?_P4Yhy03ncY_$n67V(jWx*BH*s(gU)^1+DP7QWz;^aPab$bzWlxB>>KXtwBQL}f3yjblz-6dZ0nLHb zObRjLLQGac#E|CzoAXH)`3Bzed-i%8aeOhsvan$S3zPBPofATs& zphQ9tu?y(v_$z1<`2PA4deM{+Chqa8Z=mM`zdhYV#p;vZQv|CQSq|tbqHocSUG@}W zX{yG@v2vAhHaB3sP`)P|)i6TWIGz~J1KFG~v_i-M^>abeQbd|0jH8ndR~yh(P?5`% ziE@GHXp44kL=Q++bhJ_2iEihBr;!d<7ib<(-a08FEWL}IqVxjo@tDz z$U!vgLd+Gc&jGGe+>ntlWDdR013(^BFO(wBlC*tKSV9pVx^5DdPy~-|T8N1!z)|u@ z^YSu4jL@CZXi}#T6C<=oL;ZSsej+KG>!Gpkj1zCDMq@uepg4edM8{QQ*9SQC*%%t) aB!2*|ZJhb|xA_VH0000FbsQQn!2w&o zPg!TiGYkV)(mB5O>PoV0A0GTQ3gA5d&l=%Ko%0|&&b&jTD+ z!;-{ETT1*@{UQ}2b##14C7xA?lzh|B{2bFU_}}8!a+jdp`9uBW1C7N=*%4C>hs0BY z5qc)W+a@$j@-ZQVq69jxPd39Ne}>bs!Sc0eDI&(DMet{4I_sp|6Aly()LK~~Hr*lc zxhA6}6FMfNr6xh=61SWuMCIdP+_7KDndjb0b7=jp6fRP}AS04a5n-yYg;U^OyLVY-}*%0K> z#MZz8+KPo3b0LOxJUyZ!;$oZ^0GA?M+!EuAKrVWK7h(frs!_PS&ZYJ zhqiqwBJ$5(2Sjiph9G7au>GB{pccQsxQkviWsHe?_4zkQa~Aw~Iz`3WVLej>%NJV? zXi8#7(7`S_g_v_@b!TEi#cDn_V7^eE6Yf_Kp=lh?i1R=`CJe4-Ilyw{g3Oado+J!T z|CDpv+Zq>J0L9Vnnh62@?L!Q+( z7Z;ut4sK7lclm}Ajj|oFTp@9)9KU*S?cbDmvowVJqa5&A4h$Sd14O?>#F0eRrsad>h;wvsQ*5ObEDcLx%l3TLF-7n;uIM6N+-I z48kG5P7-Dl;bi~u+0QG3_eK#aMGy9)iB++zi~P!{vlPMR1rm+4U?GiR>6o%m*)!YRTQ??{$12&{!$u+TwZP|tmBoMR7HL>F_kz_X5fht#EmwV`xm59iW zN1C6W?sNLQPt{aX70EN|{@i_fdX(b9(^oDsANz#H6fsX$df$705}3Gr%s`br{aivL zhwn2?p#wy4Wb>heR0isEf@3sDWyh{3IL3oC2yk-f*SarD-|oGHCqKT;NYu25COCQX zZ~rX%sDTKN9lmae>aM~Fk3GIli0Ty4gvT!5=PC@?7$8O;__mv=ga;ezp{fyx@Ss*E zsDaSQUCVezAJm@8x^AYzxZ6`0al$6PkLQ74RJjr#l7z;!5H%1wVHuB3mNgL57g|kY zeSNK`SJQ_dxE$^O^q7bGw14)mldSmk$xD$5 zni&mFl|7+B61fT^JbKzh)Sc+r!AGetK}Cr6&R#kx28;X%I0#RDi?$NbXV-^_DQtGg z$fLE*L<9(W4N{MRQht*(nl0KcZT}6fZv&+|W{3Au_knt|!+Xj4@A_a0gU%^ze#Gb# z%A2-KG=&BG6fh}CfaXVADNdWUd7?HIznO{#67=QjGtp4aTbRPmCm+W?r5Wc5+Lj_3 zolpbi#>bt=7=d8pndmB8U;pehyL$SS(@fL@WtM_-`*VZ~Qr!M5xeb&TA9*}bSp(%V z`sDDL)J|cj!YT}ksGP#IuUvBaO#JsQx$$vNr?v)K{>Ex8KKmPaVlU&JZd!-_zQpcN zl{FCLU^6v0o@G1~VG4uIRTzYe*O@!FCayaxd&k z;x-DKsr5+MMBNJhJaY(4VNhfc`+tIcQy3Icxr~=pv^sIu6O+mS zK@PPwkc4NVuOyB|Aqo45_5KNEfX7`JGEzKdKfMfCV| zp0w}YJQJ;b9dDXXeF3f*olMhTg>&xW`@L50vw9zBd^&Ry6r*Dq0lIeas9lJx8K1}q zkGKFW5hVG+SsJ7*!R|iBC)3pJBF=cxCSKf8jE%JqtWqmr;W-0NebggVW)@0ZhQwLTFohAG0Gp|Wh_5(C^3U0q|NniPk*BM|>=d?r z@Js4T$b!itdix>a3B}wpp74aVoWe}iK?tHSIRYUplQj_fc_x}^42`C*Yi5`62xCx{ zETF=Tj8Frile?xcY9Um4Z-!zSk4~xrL@k6`nJ9hrDvYTN8wZq4MKmEov91ZIfzU~v z08tOwRcv}e-8<1tW%d+xUex49A|bM)sQbdQ_L6Z#oen%1f(Sx63Mw z;yNF#`?Bk1DpQ(nodplR1 ea#7p6SFZuID`o=W26RCH0000 z%W@M(6o$K}<}H%o#Fm6NU?)_vd#9Y*=_D|1hj+@* zBp@!LY1&2=Vyb2I`%)w~K4=hAEz|@uTYdHOh!c{e5T;EuD!fu1_}hhj11)4Nrb0YQ zawCcm2JtBB+may+!ciE~N|o^tkJ6AaZQ7od|IS|A{PmmhIARYsrsLo_%h{uSC za^ye|k0BAI&Ve8v{sgW$5X5896V(#MbA0Cur;+X7{u3u6zjgF)iiTuIt7sUADN01O zV}3IAc=)BW$nnL1*^VFJS@Aay|B3m2Hua5+3TGJ!B1IN26jOykJO#--pgP;q-#q-g z=nYpf8h(}IXVtNF6csg+dZOxF3JflYr#a_+#lU8htK#5&Mmz94O!};~ZQBZncgY4) z(8|UYwGV{%>CUw8Xzf=`rhyt>=lkzdUZb6B5#0wSO!_djUE0{XX$V8;vPWPY!p6Js zKB<`YB~b`#&^~w{y9Aa;o5#Cr6t`8)n5a*$T1Mnc9L0itVe|R zkuIG1=SU}{tmeB^($`3VbP);7i0}ngk==wdVN9e40(=lDAnBEh zrf2&6^)3is8VJSi;yM0b8LdaG)Z{at=P7GX@vHGtU4Jf0+f!r?1o$ncN_Rw{{7m9` z9s~~rqJV%v6k@9|z@!R;ev}c)-cEcO4`x9b55(m_a6+mGMQ?^G4A@ShDc8czI4+}< zPNJoj@f;RW*OKpNP63Z&JpeSKD*Z+oE#8M~dqUw0CsVZ%5W;{UMCL%el2*sAJtYw- zAixK)IS_|E(PtbzPhoqCUrc3bL_)Bb3Pd4xCK@aQWjqjs_{CH}znD5Xq6!(QA(XsX z`C~ns_g|I1r5QE}`c`}y5B`V3mf~}uloN^K=afSETl&GlnB>;4AKZxge$E+ai9))5 z?mMH0^{ z$(52s4-UqpwwvyWmR`r3CQvuP`TqVfix!>yyw&M@R_B2R2P4Yce|pil@89Jipa~}r zyNSpegMCu*%m}FF*f9_iTj5-ynoEm3ZAv!12D4!mICs$}^tPGT2rCctIUhxI@^IT( zX25(f`QF}N{8IY`oIbK8r2cGf%88l(aL)JkUM%_$OA&qK^wGCYBmKLV1~Y5%Okf+r zN_BLs82kKqE&>lw};;^{TsyN zeD0+T6(U*$#N%4q*6cjcJR3uVtuA!Ufm9{b8^b5mP2hkpy&A6~ltDakwv1g&73YcG z9sTg>-|O%^(T>1u8NWXKle!5iNRdQ~^Fr%)Af8ldi2vrNKU^Y2i3qqPIc&-hCe9NX z#&g{ht)enhj!*exIVKX}iTILyfals14H5ApOLWLt#zRDW@KVo(At$0Is|`vlrot1^ zk$nJ{nu&&p%2UMq*8~rQxgter1I5{R)hhqjPw@3qqRU zzT@(WJ9r~u!r{8147rgY@o+tr0dFKgINUpLg7}0S@KHWDL_&P(;z1Al%YvLs|-aYDDRY`RX}YF87nRy`F+uR0Ma;{ Ul<$}TWB>pF07*qoM6N<$g1Axu%K!iX literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..ad2ccfa86267ef5223c655b92aa91cd965c797ab GIT binary patch literal 1846 zcmV-62g&$}P)nvO^lxQU$h`yTR9zX=55YvvOzZ@bpX2OB(a-p2 z6MBT)#gMuH2t7;{L#hHG_}C;b(F>s;IhzC@rVF7TDWU`)E()R7^#>AuL=>zS03$zQ z3l@6-f)AHVqJ9U-CH%-GY+D4|E`bO?atpbx0ug?=p9wad0SG^=38|W3!jEERf^}yA z!Vl|0tO6kX@FH|w0E8djw90J1vhhF+kVTs>!l)1w+Z3-_0ug?A7d9;b!jDpfl($0z zZY=vEjL{zw{XncI!T=W*ErBQrl0>~*A3FrJ;8;A-pT--Y(u_~^sj=NKzY&r$B2th4p9??KCLLipX7OwW~p%(U6) z0U*sq4=_1q>Eq30cFuzNjTr#a%oo7q_)hL!K*8tEd;tJ4nZ63-VFbau&Ca2LEG^rL zej*H3gvzQSp9q63p|Xn}0Mg7Bz|)hDa_<5J&LzJSj5Lh?9<|vS07!uXfHcWhBhI_? z&Civht4Ci~>ZA)mHTd&?|104_Fnl*?Th;6 z+zf|AY_5Tr0U%AX0F*ELEpsJ$OkBSl7mkF=B*_^-dBj`fO88hvH^I$`SG_EHl{EM^ zbH)>4;v=AT{Dqf5z!U`lX*>}I>6?L=0U(V6fHVpK(xkr!KuR`q#tZ;yJP`)vi$Kf( z(8dx7(rAK_h|M(+GXSLVKn#>80PQ!!H7q|5z^&SGN%sJjgJ0h33qxg*Y!Bce{GRvM z3!Vsr@c1t}19%-xz3#VVTm^#k6d>IMBPE+TlUxD;(goo4lA_oBwoI}BfJ*%*lDv(k z-uCxxMt>s7Xm65)hgT!|5B~p*=8SuRN(vd)#y7!Go&acqp^Y!XAUy|g85Gi_uL2<< zqd8*+fHZmlNKXM~XMm5t`!n}0K;T@OEdU?|-VF-b_kvDwD@1~OfwL{_8raGz5I_Qx8H^x9oU?gBTK&&Iy{?X&&fKQ z;kQC8-iBx6+~*ieT%ViZYICy$Dq$opef0OJ-aEaVmV!Ia9vpP`S=8z(4Y|V7&;Dq!(9`+ura=Wnfo}(8P1M*{&P7D;`z{Rw|OebX;(LA7`Cn4=I8Gk{@)KRyb;D8iox zzY*547e9Qy^=AxN_9VmW(Ty3L{E>SXr0@$dh767ge`@pqMiBlyC;$Tpe?AmIhhF@6 zckTa&@aIJnoYCO;_ndz`m;v%3{5EhED1*TfBfk}V5!R8H=U=q??{*2lDf9pd?H>J> z@{dCcTm?#m@Y_TIBtZD>q5vWz{I+owr~@xAzFhe4cSo%Gt)mH!WOwvytdB;ASOP^r z_XoqH!rLik;&`66sfuP(m2`R5&$J?_v0bYy4rOIII-gt!XSft`DV-z%EnEfM}Q z3V=o!YG#?I2Y@t|K#+F309Xb=#ZA_^3Iu6<5e8}VP4IMT;C<;R*&9oJnqWv#VMO8I&S`b!%mGlPAJxiec5-1N5d}gfSDqnvF8K&AmX( z1h8V`0eRb7A(#n}Tb=ufFlGYevh@Jm)oW3j9pPy*q|n*QqwBjtSrQ?(PBRwcc4&$K zv2>oTSWkqpB!Y`UHTJ6!DFm2aP4ufYC07*qoM6N<$f*#~l4FCWD literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png b/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..71f452bfcca78abaf53ef95d94692ecdd7f5eb5c GIT binary patch literal 2184 zcmV;32zU31P) z$&wpI6h$)?`U?hwdt!s#U|`8NvA{jph7Dn3HyeKwD`r}P4IYSSh8_QqgxW2Kt(MeP zr5xUHPDF(}Y77zL@!Z5JDKIlzW_9k%W8}<`~F$=r1}X zDQg?1=l}-LDfl7n#}G@v0JcQm^}At)3&ys`yb~Tf05e=Lb~*e$MZb#VIWl-lfe?PT z{)xc}UJQWnhxJzs#<5%jnEhfENw55D(hOsRDlzz#M35{RVH9kE_~~Ppt3Wosg&vZX zXrR3aM))%NKL({}ErL}x+AvA05j55Sh+i%#C__^Uq^@(Fk~BpFEfE0m>mvmPjD!3e zV#GHP){dR%NFez_nBb;?m6S+o3WWIWk%B-Z8bD-6fz7d%v_F z0$IXdp!O{QwQ$5Gc}4}#1CTAq0$im@q=g$jXjG0^!6LAn;???Z~hJ5B7uah5XCt?K=4B* zhW!(Zm#q|Y%L_?xMAOQ(om4b$0J)mQT%O{y${0dg_Yko!-MNPV<1Js-2` zVW77*i2&f5z6O}trYh5;YqdWTbdOysWq|792N+0atqxrUs&X*<>t{NP0s^$O>gf7Z z2xfoSfYj(N1AR+*`#-#x~FZ-?H%xRx2 zz9LCPoC1TSAcfb`AeRxq^NhEQGsk^V<2}LR2j1(l=vh_a%hVZnggKu9earv#6i8|t z0dn(F>uzfRfEnBo25vS3ErSREuE7A{nz;dF#wUPsoNM0obpWV|Or4PefooRX5eASI zsX8M9fNL-SxP~GaDv`uS0GTZVC{J3vAqJofLUrc)$#8Qd-w(i6?XtM80VE6G-s1~X zkcit=APwTz++HnkM;JJs|D8qvt+T1tc1wm;AaET5To=Jm6PY@5nF0a0Hh|V8MXl|Y zj7tLm1n;j%(l(oFYwu-*z9LCzZBhjdk4Drl{0oHYjJ-gXLlnZ?D7eP;DiBmesLn>q-kuHMgh&klu0w#>8sNPze{bCca4?o)4FFIBo(&3ap9?yJ ztq>LV0(lwvwK%fWR4~bklO^{Lj0EuFt*U~7@=+dYi3yy9Mu)Z zcP~XTD9rA8pC@fcG+P8?0{VIgs#Bm4OhiH$f#kcUDf0W(;5|1?oDG7@}K0d0<@xFck%AQ^I5( z1)7PK8$Hde0$B&~m*FY{h~6UYW%ft>8?jcyW6=+7fv~eaMTHINk^&J08iDvX=1T2S z0|*82*MWD0W#-w}A8ve(D^}(pBV8YlJ_{uj3l-Qt{<+4-cp!H9PrM;U5ZgzHzczhp z0E*#)ApWd$)@t7(7!wo#@n@x%Mp*^Q$g_vHdjAgMZ_AK(gi#P@V*BW)T&IG8843}g z5r|&~Lsx-_0voV>$jo1WLG>vY!ZPvv(MO&B-xlH*#U}3wCJOXq>+r{+eGP?HCpWDD zSQhOF;xEQV8l(uW0OFTR4g(Mc)`0knva$AZ?FDjO4?I8lcmx#ea!Y657k zh1R=4F#*JuT_9mA1nH1pV(SL9ssR?k1pbIY0FvGlJns+@js)Anmr?_W?;x-}wh|2> zvZKJ}m`Z*$A}Ns#Vi1gm_XJZQ>m>%^NKJv%btLE=roYvru?BE4FoKD}5Rxy14TWe>wqH%5 zwFvGzU}nE$VPY_j_9D0|M1^7fWgagEn1d0z^^Y5@tOE6g^k{isxWjS{&=rqna4mYz zDUfF~Ao?X>fbN3PW(Wk|0SvI2prn`ru@3|TloMWVb0G4NpZ@_bxjF|P^4S{z0000< KMNUMnLSTZUA=hvK literal 0 HcmV?d00001 diff --git a/android/app/src/main/res/values/ic_launcher_background.xml b/android/app/src/main/res/values/ic_launcher_background.xml new file mode 100644 index 0000000..92f6f44 --- /dev/null +++ b/android/app/src/main/res/values/ic_launcher_background.xml @@ -0,0 +1,4 @@ + + + #3390EC + diff --git a/web/index.html b/web/index.html index 44fc60f..4e0fc74 100644 --- a/web/index.html +++ b/web/index.html @@ -3,6 +3,12 @@ + + + + + + Benya Messenger diff --git a/web/public/android-chrome-192x192.png b/web/public/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..ad2ccfa86267ef5223c655b92aa91cd965c797ab GIT binary patch literal 1846 zcmV-62g&$}P)nvO^lxQU$h`yTR9zX=55YvvOzZ@bpX2OB(a-p2 z6MBT)#gMuH2t7;{L#hHG_}C;b(F>s;IhzC@rVF7TDWU`)E()R7^#>AuL=>zS03$zQ z3l@6-f)AHVqJ9U-CH%-GY+D4|E`bO?atpbx0ug?=p9wad0SG^=38|W3!jEERf^}yA z!Vl|0tO6kX@FH|w0E8djw90J1vhhF+kVTs>!l)1w+Z3-_0ug?A7d9;b!jDpfl($0z zZY=vEjL{zw{XncI!T=W*ErBQrl0>~*A3FrJ;8;A-pT--Y(u_~^sj=NKzY&r$B2th4p9??KCLLipX7OwW~p%(U6) z0U*sq4=_1q>Eq30cFuzNjTr#a%oo7q_)hL!K*8tEd;tJ4nZ63-VFbau&Ca2LEG^rL zej*H3gvzQSp9q63p|Xn}0Mg7Bz|)hDa_<5J&LzJSj5Lh?9<|vS07!uXfHcWhBhI_? z&Civht4Ci~>ZA)mHTd&?|104_Fnl*?Th;6 z+zf|AY_5Tr0U%AX0F*ELEpsJ$OkBSl7mkF=B*_^-dBj`fO88hvH^I$`SG_EHl{EM^ zbH)>4;v=AT{Dqf5z!U`lX*>}I>6?L=0U(V6fHVpK(xkr!KuR`q#tZ;yJP`)vi$Kf( z(8dx7(rAK_h|M(+GXSLVKn#>80PQ!!H7q|5z^&SGN%sJjgJ0h33qxg*Y!Bce{GRvM z3!Vsr@c1t}19%-xz3#VVTm^#k6d>IMBPE+TlUxD;(goo4lA_oBwoI}BfJ*%*lDv(k z-uCxxMt>s7Xm65)hgT!|5B~p*=8SuRN(vd)#y7!Go&acqp^Y!XAUy|g85Gi_uL2<< zqd8*+fHZmlNKXM~XMm5t`!n}0K;T@OEdU?|-VF-b_kvDwD@1~OfwL{_8raGz5I_Qx8H^x9oU?gBTK&&Iy{?X&&fKQ z;kQC8-iBx6+~*ieT%ViZYICy$Dq$opef0OJ-aEaVmV!Ia9vpP`S=8z(4Y|V7&;Dq!(9`+ura=Wnfo}(8P1M*{&P7D;`z{Rw|OebX;(LA7`Cn4=I8Gk{@)KRyb;D8iox zzY*547e9Qy^=AxN_9VmW(Ty3L{E>SXr0@$dh767ge`@pqMiBlyC;$Tpe?AmIhhF@6 zckTa&@aIJnoYCO;_ndz`m;v%3{5EhED1*TfBfk}V5!R8H=U=q??{*2lDf9pd?H>J> z@{dCcTm?#m@Y_TIBtZD>q5vWz{I+owr~@xAzFhe4cSo%Gt)mH!WOwvytdB;ASOP^r z_XoqH!rLik;&`66sfuP(m2`R5&$J?_v0bYy4rOIII-gt!XSft`DV-z%EnEfM}Q z3V=o!YG#?I2Y@t|K#+F309Xb=#ZA_^3Iu6<5e8}VP4IMT;C<;R*&9oJnqWv#VMO8I&S`b!%mGlPAJxiec5-1N5d}gfSDqnvF8K&AmX( z1h8V`0eRb7A(#n}Tb=ufFlGYevh@Jm)oW3j9pPy*q|n*QqwBjtSrQ?(PBRwcc4&$K zv2>oTSWkqpB!Y`UHTJ6!DFm2aP4ufYC07*qoM6N<$f*#~l4FCWD literal 0 HcmV?d00001 diff --git a/web/public/android-chrome-512x512.png b/web/public/android-chrome-512x512.png new file mode 100644 index 0000000000000000000000000000000000000000..cced5d450131fddbd4b0d95f4eb27a29832b6ec9 GIT binary patch literal 4964 zcmaJ_c|6ql|9^cxGh@c2W*kYV844qmP^;aT&!UY=CQ58*v_dDPTlgq+(56$ajBag8 zi73Y;IZDxPNo_fzQYp6_W9Ik%&~D$y{_*>3-t#`5ujBoEzmCrV(c<}I+1hLX80+Nd z;0l1FAr34h^wYEB=^%i*iIc<6OLwGve(jyD`+S*F`On#ev-+2gGtpXmb}-6&tHDpd3l`E_>8>l0RQ5k zYhMy4M|8F+l>V%{X$z!DoV#G(n(QOSkvnFR^GwKJio}9;}_t$+BH7R$@z=qHGD>2ht-N zLRUQWMYcf{j;gfU$7yYJyUFl`agg;3s7R@Z%_ z*NYm5v{ckJTlnY($&Bl-&Ov!EM9BM)0 zYnUs55*}y=G{0mJ{WOA%^U9_yV;wz_Si%5uko`#2D35psw+!S~pWd>v`Q=0=vWX+s({D~oes78-Loh{AX?w$-l{5+%y0Sbt} z=acx^6D`Ltr1sn_Pm%WXVDp@ZUpj9n$Pt)jBQSHklbS|gT6B5vF@HTSmT@5ebJgYq z00|%Yhy8LH#3?WdXNBc!WD>i}lrrRRI)yjbb$0!B1ja^hadh)-5AaejN!!ANP6{<1 zd5__o$$`GkH_L_BMdvy@g~LIg>`9YD+fU1?2a2~3r(N)QHKD7gz4_t;?9rhBMLC`H zr`wMA-rZnAzj+3-rloW42-P3JIwV;0>l^t>kJZ+BDg}je$HbarVpTidyCD^0nyK&R z_q>o@AJ+3UO=#N}F-|?%F;p3mHvGqAsS{mzWxlFd>Fh#CapS7!B^=n|`ntTZ_r+)kCw%Kj>=w#}8{rH46uzV&aHfiF7b$I$G zboLz+4vdBR?k@StUsYSHQZEW+@5U6oRf8bq@K!~4CM$Sjmkyb-b3p1TTxyJOub1Jb z_w$+1#JMk!r7VGi*{X!I?T`SXUw~wGD6xS}EV1n;3njA|5`Gh>PF(~CRpn%1q$Qis zE8%6$4_=H3?D}ba?E3SdfoK}4G{Jdq8s7HuAyc>^j79vZzV9a&`O`sjk9cLGJW43$ z_)cI*+|bd4;Ka&o63dHAX+5S)?DNV0!l`r1+f$BhfA`F2;~-75ZpCETmb~Hf$$020 zyhasC|E(^8x;SG*J%-m2-xeZ8p01vH`4*rm-GW(fQYxr+Eb- zJ$(BluQU)t95KfQ-Aejd6W*SuSji^rw140purW5GDCG)ApWKYx-{w3ZpxD{6UAJpT zZ_QVEWStxN_sW8eVOnjK6xT**RgF8od3LXOZ5Rtey)PFG-;eOjpfCD|aITU~0O$034#-X~ zRjP2n_>8+Q7rtib6G~q&{@f;)+4b3e!5g$5pJp`9sMiiI`(=T9{hju;g=vF2xmO~U z!S@AG`8f1cg$CH&*!1U^_SI)xfmI&k6jX5WKw#G;e>gccV3h^N*9ch9^B^=iaMZyg z+LV~~LnpXcQjKQG;U*sZ6ow=^(Wu)KedsVuNo%__kZUdeSomeT_cSqcX;6MnS@X1sLB{$LPgQj(Q?a1kM)S z=&Coky)Nj>gS3u)xMfyrXWW6PDu)oVaCAJGEw z^547s{|9NflGrz#ZLLoQUq{O1x#P6R)%iI0=)ZnBR;dCDk6O+gWzBbQeRJDs21rYG zbNJsO{>S;>Kn)ungLp|1Lu&-pD#sSAYmw<@KIYfbUZck;J*@$*s)IXyc&lNR8#w;l z@jmR42Dbmh%j7$jvimD&kChd#3c_zTxD1b7Q7d&OqYUQ`Hg1jDp#ddo+F_l$>`d99 zryOg$(_3#GgA9&xXecP+?xpzZ9TMbMHDv$C=4~E(pXZ;f9m**7{iJ>BI~lk!*MrS` zf&w2llbDD5Tb*RwlJbM$GZk|6M9jhOKctW99DMP*cAxZML4D21?`wphtYp@X)O4HC z*UKt@;XA4V;b?cp#b^0`d&CakCljt2m2Uq0D9CCk_LfqLs&-h%kM7TR344E7?@3dK z67|XXJBRrfDk}{W?OFy4-)C~7ZIr|7EuN~Zp4uJ-+mL zn&OdY+1tkAIDNv37uL7zlfBqwBR+L*Q_u!-z!;(oWtpm3Dh&RSwP$BF1!Y#8e>wR? zDo!|-G$dgUQB2LK$%-z{nUcm1bqo3ygD<_m@VTu)`>0EGsB87NxdqMN;xad;vp9!d zYq@i6h!2vtwtuku?@SI&P{2I$+-ip!KzTeb18MeZ{^41{()xQ%qX4a>F^H?1L~O$7 zI7of&=^>i#7zu-|F*)?BXJAXI24t0IU8}rhJ-GQ(=O0bU4gDKHEH8{MIt5z<-OOjL zFSXTN-q}RI{)V{pUD-yq`1AfL-99C6%aYTIf^~@UqJc-LdL|s^k8y8GUv0DrU$f*V zf4nBYiYJcr&kQu`uD=_uLE;t>@h4zi>7YgX#5Na9px@2>RXJ<+6{BvSyS}ezqDAjQ z@yB^H8podBZ@^OgT9$nH72V^}55v-D72P77&%G(V!p6cqxGf`qyHHHjz|xifJ!&k%G= zt>BHCOxF%;6dZ(7z5Y2dxYS7l3!L8(a`w z&hM}^VvzF$xH*DU(*VtjDpW7AP$y`vY;ORTl@t{5^_IKNw!DGX!?iKb1YmVmg{-+a zi9woc;M0Onx@fS$SitntZ>c0OlH4_8F0S^n+ng_6R>E5)0{*Gf)$(XzX*$3kTsb!u z2h+v<_H)@NNi=b08iRCIl(6(X5PX~0AduAHbA&+lp2_Q-P zR~=J?H4KCnRKgoXs)VY_YZBIIdC_6|_U5KyPyN<7Ww7ddJ)u}jUtL~<>Wey5x)mEP z2Xe#4-K*L-HYnhQBRL8UXtXKetrdYJy}c-ID^1d|??*JpL~~03Rc0u!h*B≧(Uj z$#X@t@F}uw30mwn1wm_>k>cebmn>TZ60IfpLS=_J^%L#j$>OHZDlWQna?cpaapu;1iXAYUp&!2r=1 z%E}RqOW82>4kqfSg`kT=NLBMNa%z;&9Qi|yE0?00jJ3F*wy?um>~Z(2%i%j%$GxHO zCXPppGSCfVk>}GG=Hu=)W=Ode`@TjrAWMr583H%1gIOyr?116b_ zQU$rEuaGHS4N&2Gt!kS(AN6I9m^lN;y1vJ2sY9(bBZvNN(`GWHDA=uAPPNuF48!J)OwWAF@~bD?Y@xx&AhbnAaR%b==A+%pOQVnO-{T zn-|224t+48i*@* zfB3~koxHkI07(-=y@u)yq1|FEh=14p;9AXSOwkAF%={-g6^Ci3lN-={+7&^13BA$# z0tUy&$uE!WASxTL`M_gi9A+J|-;{`+n$bLv#B|+_xH?F0)JJ2NJqny5{t1mZdm@+& zvEql{*BQVZ*07BLhAhX!e&-Gzfmx?y0HJHAaAZr@9LLCB<>83}=w6}(C#UoTT!1Ux zzig%HN!JVsEZv|soeR3TE;q~>{92vY=b$xJ!m-0Ddhd$3WGh`3e@{WHH%o6R6%JiO QU(dj4-eQNVcH%w%2Xn59(*OVf literal 0 HcmV?d00001 diff --git a/web/public/apple-touch-icon.png b/web/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8fe9f2eff0465eb57683cc402ff8e6507da0a3a1 GIT binary patch literal 1735 zcmV;&1~~bNP)d|)q$sjHHQk?&PgmEp>xa+&tpo|BCxBk+N{Dd?MKeTzZ3t2VKF<7l1lWgA zD&V;SO^|&Hxq_WK&;%J-gFQ}^If9HL!5&AB9zjOYV2@&bBf<;`g)mm2smu_Op>Y`Y zeF!o{wID+(G+{<6A@@ZgVMc19Po?ftp$Ri`38~ki2{S}j>Mj+UFr$Q4)c3U87li~l-7(!#TCGR356LPVggLGDBG>}XbJwA=Ke`q?W7PYhEAH8;a)__cKo?>IJ>7dydJ0f@ez+)v zsS8AN`=ODOyzGcA%lDG)8rjTfvr&Mm%p*4g> z`ur9PVurg_4!xlfEL38!4h>6r_R~Yd2iBosszy_xVT!wpLL?w4LsV#(LJtj7C0bmC z{`lKJN>2fb&zHDB14D3Q1xA{UOLcQ}CT&hLe}4Cg+K)GRxxK#mSXR3sbaPU=O-i{w ztLNu4fkE7G(?jPDnV(S0A~w*QkI&SH%W|kUBc2}@fd={*&HjRs(6MthI5@rdrz$U>Y?YpZ8_mEXlADSiTKhrPs!@2H z)%4J}M{{^u`q-J)%#LqRH|mXp7wTG$+g?7|Ei+9z^eiMGht4H zr;ipe+5f%7%eue=&oi6s5$2R=IWi*5=@ICjUj6W})7KN`Jm{e_nC$(Q<7GgFPLD9> z#YJI4lU*uvZroVu;q~zsOTT8FFc(1&oxu9;uPMGQR=_GpWQ4ga0v!=yE{{NW^!oVA zJO7_B%fJTz2-bIgiSca^0Tp^6!Ym7c9)K{*T!*gze=r!9cysdA^}p9>GbE~6hwfo* z=jZsR0#R`5yQ8&7gjq6r=ne?8oR%rTYXmy=kHu%Go z+ZTo0HH0=dItwleVai>Brk92m?_`x#4w$m&#tOYOq`R||pofMj_XV0>8d5FH=CXBY zS`SE55B-oVp@tMoy9Rn_n6hf1>8DZJN*U}@p$RogSvh-MH~7;}Bezb4v`-IBrA98D zv)1?4H7#tNZE@$AIj z4^0b#qD3&(gJuXeiu^VoS7{M!WNk}R2l@)Z_N~tKLb(FH=#8=5XH#A3g>wh`HUe%# dU3vmn{sZdf2aM-}F7N;V002ovPDHLkV1n8OK>`2( literal 0 HcmV?d00001 diff --git a/web/public/favicon-16x16.png b/web/public/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..ee3e335a420ba5f593f1bcedc98f8da5139e2a6c GIT binary patch literal 266 zcmV+l0rmcgP)N4zkj$#PYzkh!jV3?3*m<7ms zSpNU}OS;>U^srzvK)&D*R*erQ*kKsJ1PVkL#-|xs4p|Qq$TS#6wuO)jV3_6Kzkeh- zAM64oJxs*709_1O52I?;d6abU^Xn(Pn$@Z=pzv8>fd>Pu9NY}Qe|&{&R;f6P)k}Dz zk%f(e;ck~1+_`uS0Hr2eK(XXFUdb@Ms+T^K2N9vwdMzGA@#Hh?NEX^%LnfI`V%85r zOE$^xo6NA;$dk#pun5K9NSYmhWtjtPuD>z@h?om*8mUYGVwoHM%LIse2Rad8BL|dT zdTT+8AKrcWhM?RZe~<>|{dJK-2e+T(Gsuzx2Se#1w6*!=Ml!x$i{b#I1d@p205=7j z=l89E?~^mrLAw;hz-@CVj?!CWYtCpGGUren5Jt4z1zU^Y0JjKzY491OIEs@3P7V0R zP#h)nacpZXqGOFAIKWLoYz>g_0gR}DHm1lL5V|@oZSVTk33v6Is@5VniYkt#V=7Ya z4!9Vy7|y&oSd5NDh<2}@y<=oCmVQe~N-v20|m)?mdbWl3N!K`nRiZbNL_c1!d)=gI!o&&9K>#%S3%SHBzvAknMW@ Y0}~X0LoyKi6#xJL07*qoM6N<$f+^a%BLDyZ literal 0 HcmV?d00001 diff --git a/web/public/favicon.ico b/web/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f461ed0bea45d54ac18c6979ae10b3be2d4dafb1 GIT binary patch literal 5380 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 Xw=^$Zx*`}L+0XCD`$F30|1$d@oulr? literal 0 HcmV?d00001 diff --git a/web/public/favicon.svg b/web/public/favicon.svg new file mode 100644 index 0000000..76ee5e7 --- /dev/null +++ b/web/public/favicon.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/web/public/site.webmanifest b/web/public/site.webmanifest new file mode 100644 index 0000000..191e4e3 --- /dev/null +++ b/web/public/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "Benya Messenger", + "short_name": "Benya", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#3390ec", + "background_color": "#0e1621", + "display": "standalone" +}