26 lines
739 B
TypeScript
26 lines
739 B
TypeScript
'use client'
|
|
|
|
import { useEffect } from 'react'
|
|
import { getApiBase } from '../lib/auth'
|
|
|
|
const STORAGE_KEY = 'branding_version'
|
|
|
|
export default function BrandingFavicon() {
|
|
useEffect(() => {
|
|
const baseUrl = getApiBase()
|
|
const version =
|
|
(typeof window !== 'undefined' && window.localStorage.getItem(STORAGE_KEY)) || ''
|
|
const versionSuffix = version ? `?v=${encodeURIComponent(version)}` : ''
|
|
const href = `${baseUrl}/branding/favicon.ico${versionSuffix}`
|
|
let link = document.querySelector("link[rel='icon']") as HTMLLinkElement | null
|
|
if (!link) {
|
|
link = document.createElement('link')
|
|
link.rel = 'icon'
|
|
document.head.appendChild(link)
|
|
}
|
|
link.href = href
|
|
}, [])
|
|
|
|
return null
|
|
}
|