From 54647ab7cf2ca0b0984936e32464333dfd505c0b Mon Sep 17 00:00:00 2001 From: Gronod Date: Sat, 16 May 2026 15:34:24 +0100 Subject: [PATCH] feat: add favicon from sofarr-logoonly.png Generated favicon.ico (16/32/48px multi-size), favicon-32.png, and favicon-192.png (apple-touch-icon/PWA) from the logo, centred on a transparent square canvas. Linked all three in index.html with appropriate rel/type/sizes attributes plus theme-color meta tag. --- public/favicon-192.png | Bin 0 -> 11225 bytes public/favicon-32.png | Bin 0 -> 1071 bytes public/favicon.ico | Bin 0 -> 543 bytes public/index.html | 4 ++++ 4 files changed, 4 insertions(+) create mode 100644 public/favicon-192.png create mode 100644 public/favicon-32.png create mode 100644 public/favicon.ico diff --git a/public/favicon-192.png b/public/favicon-192.png new file mode 100644 index 0000000000000000000000000000000000000000..ac9ff2cb4aa9abf1eba5449c9cb783422b1ab0de GIT binary patch literal 11225 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 literal 0 HcmV?d00001 diff --git a/public/favicon-32.png b/public/favicon-32.png new file mode 100644 index 0000000000000000000000000000000000000000..36850a40fd4ceba650ef9c22d3568dbf3765d2ad GIT binary patch literal 1071 zcmV+~1kn45P)zu(-R{o(eAv4fV+^@ipUk(+?lSyle&6r! z46un!{NKSk=T}0m7Lf$SlCDc$gz$a!Z&aFP|HP>Q3jpXpn8vn>!*qeb=rWP6`XMB)WvgWgD7?fVKr;MxX{Jgd^#J&0omhysYjyyWfRK!QpjqO=1ku2MO2=`H{B z+8*^2D3&z3&Pn?(=!Mp=Yh#Kgnwyn4B8^wIDq9s_NQe;1izO~+uDJto_==nVeb>YX zuPuN?y`C`WI!6S7#etV@*1#uYCl38k$NJNS!QmIs*pvr(0V1rDsDl6kmp>46D{bx; zqBCE7s%f$-pO_j1vZg`)5bXq@LbKs&Q0-$wCuzK4CvlS~J*%6q{iyZlg~mTcDE~Nu zz=@z1cdom5mlF_j=dUMD-#hWf;YTkWe}0bxJ!P`DBM2OPe~m4L06+&*ab*WU;18{v zf{3tGDrp5^rgh(a4Jef~d{H2$;wVlm8XYB)O8NWf>D2%T!B<`;Gu*oGxg16V>UHJ- zNf{Uzu*?q*pTV^4o;(%I0Z?sE9{rleEFy}hgkppcI#w%DkT{$W1t_6_;!&F&%DU0W z##0^5+33{=cS)hKQ9^6E7)A|NL{mryp#ng{nUtrZO66Tcp+qQa0LbqTo{=z|bmj7g z(9}xc2o2B?&;TqF2CCY5G$10@ExbqSEUC>;W0&#r$6vsXXig%EeC=ii2M5Q_Y8$LXC%A=VCtQt-)w#O;Gk-2 zzsp4tl#q65$;vLP{xYutKu81N*zSA6&bFKlt;6-rTV}32{m@>(BFS1!M`zQi^fnts zVxZ7kQDF{18O5SzOZ)p&sUMY+F)Dfr$|Xvelzh!>p@2z3kV1lt9B^Yxu6#?!R+Tkc zWdTlCVxtuupaF3tAqq+Ww;;5Sux-D8Or^3t;-VRtR0fss;>4RTKDL_M{tFNQS{^@i zo%Xy2MPn!4K777<#; pjiahemZdbW@-=G{o7lwK_yaC8uhl(0kjDT3002ovPDHLkV1h->^J)M9 literal 0 HcmV?d00001 diff --git a/public/favicon.ico b/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..5066b26728e3f476811d0906e54b8f3b4068a674 GIT binary patch literal 543 zcmV+)0^t1s0096201yxW0000W00{yB02TlM0EtjeM-2)Z3IG5A4M|8uQUCw|5C8xG z5C{eU001BJ|6u?C0nkZAK~#90#ge~klTj3gpL6d`lbTi~ZEAy9Ekr7DaB-1N3eHk# zGf78_f`j7ZV2I%0AK<2RaSJ#KPL>F@f*D+N2>v3C)e=QZYxCv%?mZ4wDA=t?-}M|G zo^yC%uOk4c3gw#Faidlafc{5=O2v$}k|U-+doFmN{2f?h@qiJYe7=9{8>oQ%V`8XQ z12%OrIJ1-rEIO0Cu&PVO`bDd{tZ|qEgqfPzf*_!RssOnB+?`qJ%M`;#*R&qoez%>T zzgqb!*u#KQEBo!@f4+y45QbJr-^iQjdhS}Kyo?Ou?xNgFqY*A&BW4adCWi{`uSW<<-q_DBJgO z^k8;r;aD()5T!LoOCy*OX+lqIO?UH5&K>e zGv!rkossA@Z!na$2uBwd-0;MNZ+s}|!}&`JNVD0r?RHzD!ZFT{k9T)fB2^V(X2t?g hDk;@!*cEY4@*8j4!sqosvA+NS002ovPDHLkV1o3r_Z9#E literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html index 6c49234..6f5a0fc 100644 --- a/public/index.html +++ b/public/index.html @@ -4,6 +4,10 @@ sofarr - Your Downloads Dashboard + + + +