From 7d4f027062c866675683d0da29fb08aafaffd127 Mon Sep 17 00:00:00 2001 From: limitcool Date: Sun, 5 Apr 2026 17:06:23 +0800 Subject: [PATCH] Update frontend test favicon --- frontend/public/favicon-default.ico | Bin 0 -> 32038 bytes frontend/public/favicon.svg | 55 ++++++++++++++++++++++++---- frontend/src/pages/favicon.ico.ts | 2 +- 3 files changed, 48 insertions(+), 9 deletions(-) create mode 100644 frontend/public/favicon-default.ico diff --git a/frontend/public/favicon-default.ico b/frontend/public/favicon-default.ico new file mode 100644 index 0000000000000000000000000000000000000000..9fda6e6955d16ab8ee294f8ca821656413f5ff79 GIT binary patch literal 32038 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 HC-wgU2W(>T literal 0 HcmV?d00001 diff --git a/frontend/public/favicon.svg b/frontend/public/favicon.svg index f157bd1..22e13e5 100644 --- a/frontend/public/favicon.svg +++ b/frontend/public/favicon.svg @@ -1,9 +1,48 @@ - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/frontend/src/pages/favicon.ico.ts b/frontend/src/pages/favicon.ico.ts index fba62f8..89487fb 100644 --- a/frontend/src/pages/favicon.ico.ts +++ b/frontend/src/pages/favicon.ico.ts @@ -3,7 +3,7 @@ import type { APIRoute } from 'astro' import { createApiClient, DEFAULT_SITE_SETTINGS } from '../lib/api/client' function resolveFaviconTarget(requestUrl: URL, configured: string | undefined) { - const fallbackTarget = '/favicon.svg' + const fallbackTarget = '/favicon-default.ico' const candidate = configured?.trim() if (!candidate) {