Read-only mirrors. Development, issues and pull requests are on GitHub.

summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorLeitwolf112026-10-29 18:25:16 +0300
committerLeitwolf112026-10-29 18:25:16 +0300
commit6a87306ec5b972cbf18d76836a6df5d7828575ea (patch)
treef370238905970832e3663eed131fefae2100898e
parent6b4e5e403875d3648be383395f1dad50f0d6503d (diff)
downloadprogmaweb-feature/site-icons.tar.gz
Serve the Progmasoft mark as the site iconfeature/site-icons
The sites declared no icon and /favicon.ico answered 404, so search engines and assistants that show a site's icon (DuckDuckGo, ChatGPT) fell back to a gray placeholder; the only copy of the mark was the BIMI logo for mail. The app now has the Next.js icon files, so every page links them: - app/icon.svg: the four squares of the BIMI logo, cropped to the mark so it fills a browser tab, on a transparent field. - app/favicon.ico: the same mark at 16, 32 and 48 pixels (PNG entries), for clients that ask for /favicon.ico without reading the page. - app/apple-icon.png: 180 pixels on the white field of the BIMI logo, since iOS fills transparency with black. The proxy rewrites paths per host, which would send /icon.svg on the account, ViGet and the other hosts into their own page trees; the matcher now skips the two new files as it already skipped favicon.ico, so every Progmasoft host serves the same icons.
-rw-r--r--apps/web/app/apple-icon.pngbin0 -> 790 bytes
-rw-r--r--apps/web/app/favicon.icobin0 -> 574 bytes
-rw-r--r--apps/web/app/icon.svg7
-rw-r--r--apps/web/proxy.ts2
4 files changed, 8 insertions, 1 deletions
diff --git a/apps/web/app/apple-icon.png b/apps/web/app/apple-icon.png
new file mode 100644
index 0000000..dbbbd2f
--- /dev/null
+++ b/apps/web/app/apple-icon.png
Binary files differ
diff --git a/apps/web/app/favicon.ico b/apps/web/app/favicon.ico
new file mode 100644
index 0000000..792dba0
--- /dev/null
+++ b/apps/web/app/favicon.ico
Binary files differ
diff --git a/apps/web/app/icon.svg b/apps/web/app/icon.svg
new file mode 100644
index 0000000..c7c9ead
--- /dev/null
+++ b/apps/web/app/icon.svg
@@ -0,0 +1,7 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="100 100 312 312">
+ <title>Progmasoft</title>
+ <rect x="112" y="112" width="132" height="132" fill="#3b4658"/>
+ <rect x="268" y="112" width="132" height="132" fill="#1e7188"/>
+ <rect x="112" y="268" width="132" height="132" fill="#7655fa"/>
+ <rect x="268" y="268" width="132" height="132" fill="#dc7644"/>
+</svg>
diff --git a/apps/web/proxy.ts b/apps/web/proxy.ts
index 99e9cc3..6898962 100644
--- a/apps/web/proxy.ts
+++ b/apps/web/proxy.ts
@@ -226,6 +226,6 @@ function internalRoute(request: NextRequest, pathname: string): URL {
export const config = {
matcher: [
- "/((?!_next/static|_next/image|favicon.ico|robots.txt|sitemap.xml).*)",
+ "/((?!_next/static|_next/image|favicon.ico|icon.svg|apple-icon.png|robots.txt|sitemap.xml).*)",
],
};