fix : 修复 artalk 明暗切换时的显示 bug

This commit is contained in:
_
2024-12-23 19:27:44 +08:00
committed by GitHub
parent 1c4cb7b0e4
commit 1b8df1174f

View File

@@ -20,18 +20,32 @@ const Artalk = ({ siteInfo }) => {
const initArtalk = async () => { const initArtalk = async () => {
await loadExternalResource(artalkCss, 'css') await loadExternalResource(artalkCss, 'css')
window?.Artalk?.init({ const artalk = window?.Artalk?.init({
server: artalkServer, // 后端地址 server: artalkServer,
el: '#artalk', // 容器元素 el: '#artalk',
locale: artalkLocale, locale: artalkLocale,
// pageKey: '/post/1', // 固定链接 (留空自动获取) site: site,
// pageTitle: '关于引入 Artalk 的这档子事', // 页面标题 (留空自动获取) darkMode: document.documentElement.classList.contains('dark')
site: site // 你的站点名
}) })
const observer = new MutationObserver((mutations) => {
mutations.forEach((mutation) => {
if (mutation.attributeName === 'class') {
const isDark = document.documentElement.classList.contains('dark')
artalk?.setDarkMode(isDark)
}
})
})
observer.observe(document.documentElement, {
attributes: true,
attributeFilter: ['class']
})
return () => observer.disconnect()
} }
return (
<div id="artalk"></div> return <div id="artalk"></div>
)
} }
export default Artalk export default Artalk