import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { Progress } from "@/components/ui/progress"; import { DashboardStats, UserDashboardStats } from "./service"; interface DashboardStatsCardProps { stats: DashboardStats | UserDashboardStats; showUserStats?: boolean; } export function DashboardStatsCard({ stats, showUserStats = false }: DashboardStatsCardProps) { const userStats = showUserStats ? stats as UserDashboardStats : null; const completionRate = stats.total > 0 ? Math.round((stats.completed / stats.total) * 100) : 0; const myCompletionRate = userStats && userStats.myTotal > 0 ? Math.round((userStats.myCompleted / userStats.myTotal) * 100) : 0; return ( {stats.displayName} {/* 팀 전체 통계 */}
팀 전체 {stats.total}건
대기 {stats.pending} 진행 {stats.inProgress} 완료 {stats.completed}
완료율 {completionRate}%
{/* 개인 통계 */} {showUserStats && userStats && ( <>
내 업무 {userStats.myTotal}건
대기 {userStats.myPending} 진행 {userStats.myInProgress} 완료 {userStats.myCompleted}
완료율 {myCompletionRate}%
)}
); }