Files
gitlab-instance-0a899031_na…/components/dynamic-metadata.tsx
2025-11-13 05:05:53 +08:00

29 lines
741 B
TypeScript

'use client'
import { useEffect } from 'react'
import { useSiteInfo } from './site-provider'
export function DynamicMetadata() {
const { siteInfo } = useSiteInfo()
useEffect(() => {
if (siteInfo) {
// 更新文档标题
document.title = siteInfo.basic.title
// 更新 meta 描述
const metaDescription = document.querySelector('meta[name="description"]')
if (metaDescription) {
metaDescription.setAttribute('content', siteInfo.basic.description)
} else {
const meta = document.createElement('meta')
meta.name = 'description'
meta.content = siteInfo.basic.description
document.head.appendChild(meta)
}
}
}, [siteInfo])
return null
}