From eefe92468332782ca0b05571709b5ed8f840e5fe Mon Sep 17 00:00:00 2001 From: Jesse Egbosionu Date: Sat, 24 Oct 2026 22:08:34 +0200 Subject: [PATCH] feat: add custom je favicon SVG icon matching the header logo mark (dark tile, "je", emerald dot), with a multi-size favicon.ico fallback and an apple-touch-icon. Co-Authored-By: Claude Opus 5.5 (1M context) --- components/Layout.js | 5 ++++- public/apple-touch-icon.png | Bin 0 -> 3563 bytes public/favicon.ico | Bin 15086 -> 2394 bytes public/icon.svg | 8 ++++++++ 4 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 public/apple-touch-icon.png create mode 100644 public/icon.svg diff --git a/components/Layout.js b/components/Layout.js index 6397da5..2b6290d 100644 --- a/components/Layout.js +++ b/components/Layout.js @@ -16,7 +16,10 @@ export default function Layout({ children, title, description }) { - + + + +
diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..ed174c9991c327a318265ec54c0b1dcb91b5d7f5 GIT binary patch literal 3563 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 literal 15086 zcmeHOOH5Q(7(R0cc?bh2AT>N@1PWL!LLfZKyG5c!MTHoP7_p!sBz0k$?pjS;^lmgJ zU6^i~bWuZYHL)9$wuvEKm~qo~(5=Lvx5&Hv;?X#m}i|`yaGY4gX+&b>tew;gcnRQA1kp zBbm04SRuuE{Hn+&1wk%&g;?wja_Is#1gKoFlI7f`Gt}X*-nsMO30b_J@)EFNhzd1QM zdH&qFb9PVqQOx@clvc#KAu}^GrN`q5oP(8>m4UOcp`k&xwzkTio*p?kI4BPtIwX%B zJN69cGsm=x90<;Wmh-bs>43F}ro$}Of@8)4KHndLiR$nW?*{Rl72JPUqRr3ta6e#A z%DTEbi9N}+xPtd1juj8;(CJt3r9NOgb>KTuK|z7!JB_KsFW3(pBN4oh&M&}Nb$Ee2 z$-arA6a)CdsPj`M#1DS>fqj#KF%0q?w50GN4YbmMZIoF{e1yTR=4ablqXHBB2!`wM z1M1ke9+<);|AI;f=2^F1;G6Wfpql?1d5D4rMr?#f(=hkoH)U`6Gb)#xDLjoKjp)1;Js@2Iy5yk zMXUqj+gyk1i0yLjWS|3sM2-1ECc;MAz<4t0P53%7se$$+5Ex`L5TQO_MMXXi04UDIU+3*7Ez&X|mj9cFYBXqM{M;mw_ zpw>azP*qjMyNSD4hh)XZt$gqf8f?eRSFX8VQ4Y+H3jAtvyTrXr`qHAD6`m;aYmH2zOhJC~_*AuT} zvUxC38|JYN94i(05R)dVKgUQF$}#cxV7xZ4FULqFCNX*Forhgp*yr6;DsIk=ub0Hv zpk2L{9Q&|uI^b<6@i(Y+iSxeO_n**4nRLc`P!3ld5jL=nZRw6;DEJ*1z6Pvg+eW|$lnnjO zjd|8>6l{i~UxI244CGn2kK@cJ|#ecwgSyt&HKA2)z zrOO{op^o*- + + + + + + +