/*
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;