import React from 'react'; import PropTypes from 'prop-types'; import { Box, IconButton, Paper, Typography, useTheme, useMediaQuery } from '@mui/material'; import { AreaChart, Area, XAxis, YAxis, Tooltip, Legend, ResponsiveContainer, CartesianGrid } from 'recharts'; import MoreVertIcon from '@mui/icons-material/MoreVert'; const formatCurrency = (value) => { if (value >= 1000000) return `$${(value / 1000000).toFixed(1)}M`; if (value >= 1000) return `$${(value / 1000).toFixed(1)}K`; return `$${value}`; }; const StatisticsCard = ({ title = "Statistics", subtitle = "Delivery Times", data = [], dataKeys = [ { key: 'revenue', name: 'Revenue', color: '#E46A11' }, // << هنا تغيير اللون { key: 'sales', name: 'Sales', color: '#0182FC' } // << وهنا أيضاً ], xDataKey = 'month', valueFormatter = formatCurrency, timeFrame = 'month', onTimeFrameChange }) => { const theme = useTheme(); const isMobile = useMediaQuery(theme.breakpoints.down('sm')); const isTablet = useMediaQuery(theme.breakpoints.between('sm', 'md')); const handleTimeFrameChange = (newTimeFrame) => { if (onTimeFrameChange) onTimeFrameChange(newTimeFrame); }; return ( {/* Header */} {title} {subtitle} {/* Chart */} {dataKeys.map(({ key, color }) => ( ))} {dataKeys.map(({ key, name, color }) => ( ))} ); }; StatisticsCard.propTypes = { title: PropTypes.string, subtitle: PropTypes.string, data: PropTypes.arrayOf(PropTypes.object), dataKeys: PropTypes.arrayOf(PropTypes.shape({ key: PropTypes.string.isRequired, name: PropTypes.string.isRequired, color: PropTypes.string.isRequired })), xDataKey: PropTypes.string, valueFormatter: PropTypes.func, timeFrame: PropTypes.oneOf(['day', 'week', 'month', 'year']), onTimeFrameChange: PropTypes.func }; export default StatisticsCard;