From 2acf5f8966a40c1c9a97680c8dc263ee3f1ad3d1 Mon Sep 17 00:00:00 2001 From: dujinkim Date: Wed, 2 Jul 2025 00:45:49 +0000 Subject: (대표님/최겸) 20250702 변경사항 업데이트 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- lib/dashboard/dashboard-summary-cards.tsx | 64 +++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 lib/dashboard/dashboard-summary-cards.tsx (limited to 'lib/dashboard/dashboard-summary-cards.tsx') diff --git a/lib/dashboard/dashboard-summary-cards.tsx b/lib/dashboard/dashboard-summary-cards.tsx new file mode 100644 index 00000000..9d1d9ef2 --- /dev/null +++ b/lib/dashboard/dashboard-summary-cards.tsx @@ -0,0 +1,64 @@ +import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; +import { CheckCircle, Clock, PlayCircle, Users } from "lucide-react"; +import { DashboardData } from "./service"; + +interface DashboardSummaryCardsProps { + summary: DashboardData['summary']; +} + +export function DashboardSummaryCards({ summary }: DashboardSummaryCardsProps) { + const cards = [ + { + title: "전체 업무", + value: summary.totalTasks, + icon: Users, + description: `내 업무 ${summary.myTasks}건`, + color: "text-blue-600" + }, + { + title: "대기중", + value: summary.teamPending, + icon: Clock, + description: `내 대기 ${summary.myPending}건`, + color: "text-gray-600" + }, + { + title: "진행중", + value: summary.teamInProgress, + icon: PlayCircle, + description: `내 진행 ${summary.myInProgress}건`, + color: "text-blue-600" + }, + { + title: "완료", + value: summary.teamCompleted, + icon: CheckCircle, + description: `내 완료 ${summary.myCompleted}건`, + color: "text-green-600" + } + ]; + + return ( +
+ {cards.map((card, index) => { + const Icon = card.icon; + return ( + + + + {card.title} + + + + +
{card.value}
+

+ {card.description} +

+
+
+ ); + })} +
+ ); +} \ No newline at end of file -- cgit v1.2.3