diff --git a/components/CusdisComponent.js b/components/CusdisComponent.js index f1fce6ef..83b962b5 100644 --- a/components/CusdisComponent.js +++ b/components/CusdisComponent.js @@ -2,10 +2,31 @@ import { useGlobal } from '@/lib/global' import { ReactCusdis } from 'react-cusdis' import BLOG from '@/blog.config' import { useRouter } from 'next/router' +import { useEffect } from 'react' const CusdisComponent = ({ frontMatter }) => { const { locale } = useGlobal() const router = useRouter() + const { isDarkMode } = useGlobal() + + // 处理cusdis主题 + useEffect(() => { + const cusdisThread = document?.getElementById('cusdis_thread') + const cusdisIframe = cusdisThread?.getElementsByTagName('iframe') + if (cusdisIframe) { + const cusdisWrapper = cusdisIframe[0]?.contentDocument?.getElementById('root') + if (isDarkMode) { + cusdisWrapper?.classList?.remove('light') + cusdisWrapper?.classList?.add('dark') + } else { + cusdisWrapper?.classList?.remove('dark') + cusdisWrapper?.classList?.add('light') + } + if (!cusdisWrapper?.firstElementChild?.classList?.contains('dark:text-gray-100')) { + cusdisWrapper?.firstElementChild?.classList?.add('dark:text-gray-100') + } + } + }) return