import React, { useEffect, useState } from 'react'; import { API, showError } from '../../helpers'; import { marked } from 'marked'; import { Empty } from '@douyinfe/semi-ui'; import { IllustrationConstruction, IllustrationConstructionDark } from '@douyinfe/semi-illustrations'; import { Link } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; const About = () => { const { t } = useTranslation(); const [about, setAbout] = useState(''); const [aboutLoaded, setAboutLoaded] = useState(false); const currentYear = new Date().getFullYear(); const displayAbout = async () => { setAbout(localStorage.getItem('about') || ''); const res = await API.get('/api/about'); const { success, message, data } = res.data; if (success) { let aboutContent = data; if (!data.startsWith('https://')) { aboutContent = marked.parse(data); } setAbout(aboutContent); localStorage.setItem('about', aboutContent); } else { showError(message); setAbout(t('加载关于内容失败...')); } setAboutLoaded(true); }; useEffect(() => { displayAbout().then(); }, []); const emptyStyle = { padding: '24px' }; const customDescription = (

{t('可在设置页面设置关于内容,支持 HTML & Markdown')}

{t('New API项目仓库地址:')} https://github.com/QuantumNous/new-api

{t('NewAPI © {{currentYear}} QuantumNous | 基于 One API v0.5.4 © 2023 JustSong。', { currentYear })}

{t('本项目根据MIT许可证授权,需在遵守Apache-2.0协议的前提下使用。')}

); return ( <> {aboutLoaded && about === '' ? (
} darkModeImage={} description={t('管理员暂时未设置任何关于内容')} style={emptyStyle} > {customDescription}
) : ( <> {about.startsWith('https://') ? (