From bffa43f67063936378943890ee50dc87055b7c3c Mon Sep 17 00:00:00 2001 From: Marco Sadjadi Date: Tue, 19 May 2026 22:28:47 +0200 Subject: [PATCH] feat(web): favicon (SVG) + apple-touch-icon (Next ImageResponse) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit app/icon.svg — 32px vector with the brand 'M' (logo-matching) on #6366F1 indigo rounded square. Sharp at every browser size. app/apple-icon.tsx — 180x180 PNG rendered at request time via next/og ImageResponse with the same design scaled up. Covers iOS home-screen + iPadOS. Next 15 auto-discovers both via the file-based metadata convention and injects: Verified: both URLs return 200, both link tags appear in the rendered HTML head, brand matches the in-page Logo component. --- apps/web/app/apple-icon.tsx | 40 +++++++++++++++++++++++++++++++++++++ apps/web/app/icon.svg | 4 ++++ 2 files changed, 44 insertions(+) create mode 100644 apps/web/app/apple-icon.tsx create mode 100644 apps/web/app/icon.svg diff --git a/apps/web/app/apple-icon.tsx b/apps/web/app/apple-icon.tsx new file mode 100644 index 0000000..0101bca --- /dev/null +++ b/apps/web/app/apple-icon.tsx @@ -0,0 +1,40 @@ +import { ImageResponse } from 'next/og'; + +export const size = { width: 180, height: 180 }; +export const contentType = 'image/png'; + +export default function AppleIcon() { + return new ImageResponse( + ( +
+ + BuildMyMCPServer + + +
+ ), + { ...size }, + ); +} diff --git a/apps/web/app/icon.svg b/apps/web/app/icon.svg new file mode 100644 index 0000000..a27a411 --- /dev/null +++ b/apps/web/app/icon.svg @@ -0,0 +1,4 @@ + + + +