/** * 통계 카드 컴포넌트 * 대시보드 상단 통계 카드 그리드 */ import React from 'react'; import { Users, Send, Inbox, ShieldAlert } from 'lucide-react'; /** * 개별 통계 카드 */ const StatCard = ({ title, value, icon: Icon, bgColor, iconBg }) => (

{title}

{value || '0'}

); /** * 통계 카드 그리드 * @param {Object} props * @param {Object} props.stats - 통계 데이터 */ const StatCards = ({ stats }) => { const cards = [ { title: '전체 사용자', value: stats.userCount?.toLocaleString(), icon: Users, bgColor: 'bg-gradient-to-br from-white to-blue-50', iconBg: 'bg-gradient-to-br from-blue-500 to-indigo-600' }, { title: '오늘 발송', value: stats.sentToday?.toLocaleString(), icon: Send, bgColor: 'bg-gradient-to-br from-white to-green-50', iconBg: 'bg-gradient-to-br from-green-500 to-emerald-600' }, { title: '오늘 수신', value: stats.receivedToday?.toLocaleString(), icon: Inbox, bgColor: 'bg-gradient-to-br from-white to-purple-50', iconBg: 'bg-gradient-to-br from-purple-500 to-violet-600' }, { title: '스팸 차단', value: stats.totalSpam?.toLocaleString(), icon: ShieldAlert, bgColor: 'bg-gradient-to-br from-white to-red-50', iconBg: 'bg-gradient-to-br from-red-500 to-rose-600' }, ]; return (
{cards.map((card, index) => ( ))}
); }; export default StatCards;