diff --git a/solution/frontend/public/brand/favicon-w4a.png b/solution/frontend/public/brand/favicon-w4a.png new file mode 100644 index 0000000..7ba4919 Binary files /dev/null and b/solution/frontend/public/brand/favicon-w4a.png differ diff --git a/solution/frontend/src/root.tsx b/solution/frontend/src/root.tsx index cece0f4..329b9a7 100644 --- a/solution/frontend/src/root.tsx +++ b/solution/frontend/src/root.tsx @@ -15,6 +15,7 @@ const PUBLISH_HOST = import.meta.env.VITE_PUBLISH_HOST || 'web4ai.o2osolution.ai export const ORIGIN = `https://${PUBLISH_HOST}`; export const links: LinksFunction = () => [ + {rel: 'icon', type: 'image/png', sizes: '32x32', href: '/brand/favicon-w4a.png'}, {rel: 'icon', type: 'image/svg+xml', href: '/brand/favicon-w4a.svg?v=14'}, // self-host Pretendard 가 어떤 환경에서든 못 뜰 때 한글이 굴림/맑은고딕으로 떨어지지 않게 하는 안전망 {rel: 'preconnect', href: 'https://fonts.googleapis.com'}, diff --git a/solution/site/src/seo/head.ts b/solution/site/src/seo/head.ts index d66f78f..d4cb4aa 100644 --- a/solution/site/src/seo/head.ts +++ b/solution/site/src/seo/head.ts @@ -181,6 +181,7 @@ export function renderHead({payload, meta, scriptSrc, cssHrefs = []}: HeadOption * 파일은 오리진 루트의 공용 자산이라 사이트마다 복사하지 않는다 — `basePath` 가 아니라 * 루트 절대경로로 가리킨다(robots·sitemap 과 같은 자리다). */ + tag('link', {rel: 'icon', type: 'image/png', sizes: '32x32', href: '/brand/favicon-w4a.png'}), tag('link', {rel: 'icon', type: 'image/svg+xml', href: '/brand/favicon-w4a.svg'}), tag('link', {rel: 'apple-touch-icon', href: '/apple-touch-icon.png'}), tag('meta', {'http-equiv': 'content-language', content: 'ko-KR'}),