/* Copyright (C) 2025 QuantumNous This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . For commercial licensing, please contact support@quantumnous.com */ import React from 'react'; import { Card, Avatar, Tag, Divider, Empty } from '@douyinfe/semi-ui'; import { Server, Gauge, ExternalLink } from 'lucide-react'; import { IllustrationConstruction, IllustrationConstructionDark, } from '@douyinfe/semi-illustrations'; import ScrollableContainer from '../common/ui/ScrollableContainer'; const ApiInfoPanel = ({ apiInfoData, handleCopyUrl, handleSpeedTest, CARD_PROPS, FLEX_CENTER_GAP2, ILLUSTRATION_SIZE, t, }) => { return ( {t('API信息')} } bodyStyle={{ padding: 0 }} > {apiInfoData.length > 0 ? ( apiInfoData.map((api) => (
{api.route.substring(0, 2)}
{api.route}
} size='small' color='white' shape='circle' onClick={() => handleSpeedTest(api.url)} className='cursor-pointer hover:opacity-80 text-xs' > {t('测速')} } size='small' color='white' shape='circle' onClick={() => window.open(api.url, '_blank', 'noopener,noreferrer') } className='cursor-pointer hover:opacity-80 text-xs' > {t('跳转')}
handleCopyUrl(api.url)} > {api.url}
{api.description}
)) ) : (
} darkModeImage={ } title={t('暂无API信息')} description={t('请联系管理员在系统设置中配置API信息')} />
)}
); }; export default ApiInfoPanel;