import React, { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; import ReactMarkdown from 'react-markdown'; import remarkGfm from 'remark-gfm'; import { DOC_LAST_UPDATED } from '@/defines'; import { useResponsive } from '@/hooks/useResponsive'; import { getDirByLang, loadMdByLang } from '@/utils/mdLoader'; const PrivacyPolicy: React.FC = () => { const { i18n, t } = useTranslation(); const { isMobile } = useResponsive(); const [mdContent, setMdContent] = useState(''); const [mdLang, setMdLang] = useState('en-US'); const [dir, setDir] = useState<'ltr' | 'rtl'>('ltr'); useEffect(() => { loadMdByLang('privacyPolicy', i18n.language, { replacements: { '[Insert Date]': DOC_LAST_UPDATED }, // 替换 MD 中的 [Insert Date] }).then(({ content, usedLang }) => { setMdLang(usedLang); setMdContent(content); }); }, [i18n.language]); useEffect(() => { setDir(getDirByLang(mdLang)); }, [mdLang]); return (
{t('pages.privacyPolicy.title')}
{mdContent && ( {mdContent} )}
); }; export default PrivacyPolicy;