/* 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, Skeleton, Tag } from '@douyinfe/semi-ui'; import { VChart } from '@visactor/react-vchart'; import { useNavigate } from 'react-router-dom'; import { useTranslation } from 'react-i18next'; const StatsCards = ({ groupedStatsData, loading, getTrendSpec, CARD_PROPS, CHART_CONFIG, }) => { const navigate = useNavigate(); const { t } = useTranslation(); return (
{groupedStatsData.map((group, idx) => (
{group.items.map((item, itemIdx) => (
{item.icon}
{item.title}
} > {item.value}
{item.title === t('当前余额') ? ( { e.stopPropagation(); navigate('/console/topup'); }} > {t('充值')} ) : ( (loading || (item.trendData && item.trendData.length > 0)) && (
) )}
))}
))}
); }; export default StatsCards;