From 09f5297c7842cbaea4519e8ff7d027cadb6285c6 Mon Sep 17 00:00:00 2001 From: David Zhao Date: Fri, 17 Apr 2026 00:08:21 -0400 Subject: [PATCH] feat: replace PWA icon with full Tabby logo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Replaces the solid green placeholder icons with the proper Tabby brand icon — the cat-ear receipt shape with cat face (eyes, whiskers, nose) and receipt lines — at 192×512px. Also adds icon.svg for the browser favicon and corrects the manifest theme_color from indigo to brand orange. --- packages/web/public/icon-192.png | Bin 547 -> 4555 bytes packages/web/public/icon-512.png | Bin 1881 -> 13007 bytes packages/web/public/icon.svg | 35 +++++++++++++++++++++++++++++++ packages/web/vite.config.ts | 2 +- 4 files changed, 36 insertions(+), 1 deletion(-) create mode 100644 packages/web/public/icon.svg diff --git a/packages/web/public/icon-192.png b/packages/web/public/icon-192.png index 12c1bf6c53a99cc9e0f44e07987db5a28478310a..1d857e79c0b410fe2fdfc64be24a065c1d6b5fa2 100644 GIT binary patch literal 4555 zcmai&cTiK`w#SnY1VS%TqzfX7h=70!7ziB&LXj@gYal4a5Fn6%6h(@n^cE3OdKc+v zD54ZY?^Qr)p+;I>yl?KzoB6%_-XG_j{aI(vT5F%PX7>KBSh%4MGvpiu001!S>1vu# zpRIo{dJy$K)qDg80N4O}n(Ah#%(W~=|9eAeoh_lg20mSk^krZgAUlj6S@^Z5jax@u zN-#Qb$f7}8r}J%%*C*TFV!k5cfI__K#8Azz7!}A+ywmz!?+UHzq07h*;%tc)czSH3 znh5Yk;$(2&*omQH6kBh7ef`mfUtj&fQAvZPL(a>r(1Smll(7V44k!JSTj3(}7XV;U zAVW+d4y>uG4mzJN0%SKy45z=Os}{*6E&_vau!++CkJtUJ5oSp6yuPO*_FyYB9OcFz zcA^Zg;)}^PLoT))US$ow>favBQoZ1^a-(zRNR~}?Htdk0TIq9b&8%$W1(9mu(cKq& zMADQqETuL0mN|W;%iEE=T}~{6F3@=$xjdgMN9?G+NEPwiJNsfHoE-iW39U{Nix=pA zIY2>jqAMOyP(oUw1$b}*19pZrt?A5O;M|U*x$gkQU02GR-WS_?!4L#f+us+{b>pn8 z5yraR?c%4VbJpgFJ->uuY$5?*;C|HCMkD?}&HT=IrQA5*Cl|T(og6c9bkIg@ENL0CC*<&3|Qz|p0hHXiON!(zo>cqWr(CXH9!Ib z!5xZo&VZW;O1e@xmVw~;Fa7}@gi<+zVXp@R)>Ft^ya|V{>m+VV{56XYMZOTrMXl*1 zj!SSwpU}T>gXujILCBue39Cag;41rKtzW+ozBng>fmYrwJCK+RGljg5>pJDDZ}U^( zass;T81N+z7-=FwL{DO|Hr$!&87(31L5-Z6_?t!C8;awS7qy}W`W$I{7Vbz5q%V=o zcEtYC2exqwj-#@iL^AJxGlOIjbz#h$`nf0clM13df|7Yu26F1>|BF+=$*3cC@>C>; z4-~{>&?QaRu9)ObwTwq{Afce1NIRf~uZEhrm+!d0C~NJkQ5{a$*cpm5=$VogwGhxv zJE12F=g3zFcSfcIJ{A{x6`Ezy$(Hm@Rs0| zaGd=Ui_UceZ&Nyqdf<@V>&=G)ujVra(2wf@#;_uIt~wK7FcCWU=|7 z_&U?kDOjqB-475zXgKjuoGU}HIwXC17OhpIs*@4ea5|C@QMP3&9K$SFG(#4g&_L-4 zp|`MgN{tsz8)l>U?LyZB45~bYQX}dQ4jO$}#T!u;1_R4b01KhvU_-eM(Md1WSS3pw>meapn*Y3S9sx&Cup_OTQ7D5|Nv zuCkzHnB$7J;<(Xw*8`qCXl zg23r6u?A{0CG~LVX^OzJ=pAje1Q|R-A9G)R=Dqbu>3u(!cXXz9n6bIBx7ggk?<%^I z>3$^hvdW-L_ucsl*{ZgSWNkI;Sf?zXAQgEu;P-s3`5>qT-W zc3Z$L^LM;(ok3Yy(KF5S`}JqzaFO%LqPM;ei0L3$Z=RhvkGw$!Q+BZezjhb9UoQ9M z)T#P!OxAaFoSD$LGGGzIT+0L3&}bs&3O)ACb3<*+Ku0X(R%X28uGYdG52i7A9@`TGJ75)Y)ma}o+E_S+~=`~;T>Sq$` zACjt^S6U+`hnP2S{Dwv7hJD6H>O{AZXr5+w|9jLMJXhbJo(|0pfFim;(N$3@jj+vF zl8k+Fmz7r=%<+6X&HWgJ_*ybNkLR0v9{p_`GRO(FqRBjv65iPge5X-2Svk57arorq zGZZhDOKxQfKy~c*xAV6kY#ML+E#pjmdLIn4cZ_Z^+&CT4?sL@QRQL0Eu5PTtMpW*t ztYVJuRG#?e)IgqFclEwt>y91m3c-Wc&?(Z=(mTtxBSjid>uR4)1+O6;zISR+lE|^# z@8%U06r@vwLv=b`_Tui>tqX5dOADo2k)vgeOkG$zWT6e{ctx}X*e|npo<`@K6}j$k z#NA0fY`c3i0)!%}I}MHeS&kMRY^$VGcinf1rb$ESG8i_mR<*=aDzRcEo5N_xM?UF3 z-FJ$s1yV#~DVL=s{%PwO)vTBkB9EQzZI@qW6CrV|cC$LSagi_C2RmkbT^{-PY6-DJ)aw^|WoVTTF~}rnVaKCVD1!oA)T)rH&=1ZTMvosm z7a5a2k*1BvU$hdTAg)<+&G|&x@l+Wr@1+mj@jJV7hEY;+dffG9=VxD?>hqjJ7K(dbs7CvSZ}*ih9>Iu61D(7a0^njW5u*-;|iDdo|J!w4a zOf9RpTa4nqbrDXxFWlazugVvnU|@$RL8qTl)GzYfBKjwetSbydOJqXN%!9%#ve0a6 zLwrbRkxXor1)J4DN!R7Bx4Heill(LU9vtGND`d+cSiG^uK zEc8aU_^0WbSL4-Xp7I;v7)PNHrOKZ|aHHAg2ktL@qA-pdhc$mlHi+tgm$+|0!*`^p z6FdiM0Xr&hlxJg^lk4GxWI*~Y{Jce=Utnfwh{jH2gA5Wb84+U||AhKYSo<=1Plsa5 zRQbKgSGYHoD8;X4=20&_l_O|^cTi_LryUab(QElH!_lo#@r1cE)29_Q)4$=U^*Uc) z9$yyG^)qy~NlHS?2GOnew-g7@Hivre5>ej^x;C@tvr718nr&y265pmeHQZgJ&3-+F zOD&i{li!Pxu~RK=13@E$zf!KKGB=DLBj{$q2lWM8ACTo0Bdf&Mo=ZxfXXkq`^>3#q zDRfSoXbg&9oF*ATCY0fu12T08^Raw$c7!79&V&$2j&i98Raho@wlmO%Skf7Y72aC! zfZ?J29kBK{iQ#Mgpz%eU>W4d5r@1qJfBQV~Ep&7Ckq}$Tn>D`Jv52v~103Xhmg`=} zmrkc$wT6AeCO1Hs!+SeRNSlh^vW&W5(C3;TPi|x}U+xl0CcBhhP2R;8`^M|iiQjUb z=a}o=N^i(p5GWM&J%GHPQFcyJ8qu)}kESeEkzK$H(^Rk8^};}^N3issS5jFO`#48!Rm^mMKI!VW&eh#&7{*0Ty9 z-3qVEsvTDIUDY=J+$HF_$V5xqe{DKG`L`zV+VuTzG4+pCG2ttW)bsZfBk*-pa#YWr zmJ7o9Ccg>JYanUnlrf(htDOCL>73VI0Z9aN*A{`i&63?&MBUG<1~jEQoEDvblZu+~ zPxM{ea*KR#GMGfQy@9KW3@1d#Ke=?LxY@rmh?6i_o}eT&`#d^X(^!Au0&t00gJ5YG zp(yVNOXdvn6Rehyj?`!Heiw9yhX49@<(Fa=Te~MR!#jUs&q?uiaS(wwC^u0N;*2rR zC2JPtDsB0#rk6QEf4Yr|&ml(pycE@+vU?^R_eCHk1xkt(N4H28*|_HrC{NBqVqnLI z=);7Pqp4U=U7=D&NvTb|Bc!J|T3IJ2xM^kXNSYOSYw-G#T|?>hF*N9EU5&Ahk{cZ*mTwH9z+;MhbM!#8IIb|ENg&%!9M*cY8_u;#^L9 z=e-YH^J$U{?do(88x?_<15~4DKByLfo(0q0as^wF%$msaLItG|mHvC!qb0F{L(L&g z{9aTQl+s?ww+1>G=Nf*d8>1w6y=1ddxaFpQEr|Vz{Z;e#3bn1W9u9n(4*;u(hEccl zoyRJkb#gw*^twdZR=>qMW0)BL&&eTmI;p)_M?taJ1bH@KcxBXkznZVR&&dfzNji=;E2=taH zw519^T(b(15&2C!A)kVU%0fdFwkZkN9MbaePaj-8;zNSP5obK+%@e!QYPD~1@9az0%% z54_{?jKk+LpiJJIr?tg$(;*x`0AV`fc>l%%A*}hKi!ST2w8->ydp+KQ)Sb7zr*cpessRhM2tL^;n ziunIZT6Q2XHOk6@z`7Z}MJs}b$qwwV02&V?wtgW&>}Ns7C0YOg(Eo2Q;Aw22>!eBx z^vf8nq{KL%7!$;{>m@JK<)>3nBsyhslPWS)nb-0Ac zROe>9fqHUNx@B6pBwM?w^HRjQWCr(EHIYV*eS3IBr7ufzNFr4x=c47R)R`gFttNF$ z4FxdAZ^0zF*krOTki(};vb2*k8@zXL2(7zTq2WqnoJR)B6<16fx28w2RH*Qnx50H7K5PB^xBe$y8RzHjt z{YDviXa`?*oHV{os>zuvd1rNlk5>0A>L=i}X=@eZXzqE*%XA}pFT!KYu=Ch|G&AO9 nsGS%JrL&`jmO41|_xsZTOl;G9VcN>aR0}{)%TTivW{>+Xtv{DE literal 547 zcmeAS@N?(olHy`uVBq!ia0vp^2SAvE2}s`E_d9@rf$^26i(^Q|oVS-8IT;if4mfO< zIJ52BrsnF7f&#{GH)d2H-1>1(!+Ob%BMvHTN`?ZRjUGHMNeV*D6D3B4hEzxtF&MYp WT76AylP)mw89ZJ6T-G@yGywolR&baRlwbfPXOJ8O$r%O& z$vH>{L2`~Wz%Vm=neV(k`+mJWdv@R1U)8s7b#+yBcU5)Wy1`l+$``3vsQ>`DsPb6x z82~`RCKRAJ13s(@1pq(?s3<Mkz=SgR4+<66w@|@as2-3KEda_kbXz zmej*wt9Q)xAI|!u2_euH8g~C{7l;d|@suj4o*$9q#%W@q!S*RvjmL)_fe0)k*9hHlsGAh4g#JlllaG)MJQOk%R~kGYGJ~ z(-TF!8V^L)E|Df(zX}+35ITuk{jgz&%c<;}KTl}~U}Zee)To6jLeq22KEhL!t0is} z9}NyeJ%0$41?ZOgAJSG+z7hnu<4S*iU{L_OC$GrZ59%q+ zUWLSeoE-_;UV^~~7G1Es>OiNOS{KNyJ?!@*fJv|Gj2)m;34~$tM9O#+4=?aZc)Lf_ z7OEw>CwwN|8Q#+dl7g(bXU`_kvV_6uA5G!H_<>9@Rg%g;&h^v&6S2(p3^z5F0%Z|w zweALTTe3px(FfTIN{9LX)R-W@_}FF-IN)%*kSOw-whp<>VWE35#pvD%g;6>ui#B+YUBKWn!oCD zrumtF5|EEd0F(ZE%)Jas_^O~Hi7<#4Mx}i=wHCvFkm@TSnBnK-qQQuIrd36f?=cMC z#8g7!H0lxwGBH84Za#YRi(VZt)ca0a!zMc5y;OSd!J17;nGg1HPi^=R3i5!Fua1nMQE!xvdm1lD^K_PUN z&&PlF|FP&Z5reyog_O3RDU#a>2LIu=N2Ij7NT8M+f~8*Z+mla55RE?Zb9;iX3|$yO zturaxpRETTAe5Xo>on)qG7S2&0gLKpGpKmDbiLBdp< zEp+}N(2}9Z`9hTu^-JjE84Wr{C^t>!Q9KpN%_gG=z?ex#*RRy{ziI7k}!k;G+% zazl*>eLlvjQN&*`Hmf{)@hgTWhA zYe@`*51vVrC?o-S%M0x3&Xag}8u{)_)9q}Kuozdtvt8bc^F%U1!{=YL4^^$72u;fBdTxg{6P&PexX?1`NTRm}^y zMxaQ-WL--;Q^!IO(Ei{VX|XU@g-GgEhQVnVNa7V$!bq|h(*d}MAEaTj*YZij{D85P z4d3= z@ksY*jt`{lA(_v*!$gS7Pv|%1<-N|S!v|rD@<+qHfl4qnt`BSH!5|-z8?H>teLg2?Kyz!{p zO2;Yb1V2mR^_tcdQ{ zOlnLeo?Zq3l*#`q@lK;$?1RAA!gDK@AmK)QPzALNX zL~(?~yyVt~yteJ#7!R4#-(qBet6y#Wx-oC1uTubri30*MjPi5rZz9WN;Cn;Gfo?l2 zm`m^KT&g9B9o^KDIQu2)`Ip`o-9k?iIZphc^74)o33F{V7%Tai;sK)rKS?}|^Nh}W z3mD4Ox)FvgOOZY&p!&rD;eBM2*xZXXC3tyvirG)U?p2z$es04N)jZqV7D1GaHNrw-JdUrYeNc8j#BSwjSR_doSk$)HGpOR`zPV#N^!#PEBM)wigcgBOP69~?Yu8C zFQhFOed^-$3a!t$myYyz7<#^2VAJz}i$3Q8U^~bD_QjgGWI|RnmML~sPSB&ne+dyt z9dC7By|C)w>X2h<*?AxDj9&DB)QQD=8W@UdYgJwov4Q+@YtZ{itwwGiF#=l3QX!>= z*cHWn4*&B~Gkn-i-b3EI91ekUuU?-R|0N%*E(+lvshB@yo5mtlikPtr&e^@yy%|&< z^_7pNUdlNey-(|X@cj-Q5d5dXeoYuF^-?ox@WmJ0H?C?M6QkjEI=F}pS-R6uWrSm!=5d&6Iie-ebfw}fXDpe8|QjEX1_65PkkCD zt9-oNkY=#lkW1}Uj;0cN(W~t15Wpqym_N+d3 zV>Vbd*UfkPfQ@%Iw;;Eeyq%NZr)cA9#8Iqg(senUUhrYYLm_kFpbQsHLPhXT{RBD3 zi9V!fIfphYanUXtxiP6{qH7`xpZ^;oKb`XSrzDPkpoPWl6R0MJh{diLd|#h0rV)?5 zL+DZoWZz3qF_v|jdK2uwDm5&-`l%Z+%Y2Q3174zY_?iY+)-qQhIa{~mrBEIe@2znWZHKbd8OWDEI0s$#e7@M?tirx=^=OwCX-?bbqlE0@tfEbE-QzPO zgnuOu_IDdQZc=z3#tnm~WoVp6=LWq{Mf?l67-NPh&kdFRGb}JXIy(CrpW=(pH?zFW z65Oo;llrI0e8-Rc<^hMuw~>(%{5;avcj&9+So6T}@>m&Rf-lBljIKH0M^;*r&s3%# z>?**Ju?{e{)%3;3bEHTwZ^YPik8Rr!7Nd! z(hQ5U8_L#{A!?_*;=ks~ECHE5PZ{n9JPsKSo|SO<@_n{?uXEH4Dbl9dfOoFMucvrD zw#>qr+x%*K1TiACm5e6f%O}lzLsCvBe#FVwp9nC-IYOTaME>FE3IfScfjGBN6E7BL zy$Jb_%=V`93k|DYzgJx1L>lZRpkh0Tk~8|Y$W4)x@C4_Y;!I`Fl

*LD;qPkTANf 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 J@S(Zi{{d12IR*d# literal 1881 zcmeAS@N?(olHy`uVBq!ia0y~yU;;9k7&t&wwUqN(1_pKoPZ!6KiaBqu8uBt2@Eq8X zB)MUu?D~T*1ijfN=ojB(Rmix;%@C2uz!1pBAdosrjRwJJDj3ZOqh-NpaX2Dsgs+V6 Y#C&uoRQx>!tTGuqUHx3vIVCg!02j69X8-^I diff --git a/packages/web/public/icon.svg b/packages/web/public/icon.svg new file mode 100644 index 0000000..c2020e1 --- /dev/null +++ b/packages/web/public/icon.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/web/vite.config.ts b/packages/web/vite.config.ts index 3836ae1..1028e42 100644 --- a/packages/web/vite.config.ts +++ b/packages/web/vite.config.ts @@ -25,7 +25,7 @@ export default defineConfig({ name: 'Tabby', short_name: 'Tabby', description: 'Split expenses with friends, no account required', - theme_color: '#6366f1', + theme_color: '#F97316', background_color: '#ffffff', display: 'standalone', start_url: '/',