From b4b6105288168d1cc623cec36b53b4f57c014f61 Mon Sep 17 00:00:00 2001 From: bipproduction Date: Mon, 13 Oct 2025 17:34:42 +0800 Subject: [PATCH] tambahan --- src/pages/scr/dashboard/dashboard_home.tsx | 205 ++++++++++++++++++++- 1 file changed, 202 insertions(+), 3 deletions(-) diff --git a/src/pages/scr/dashboard/dashboard_home.tsx b/src/pages/scr/dashboard/dashboard_home.tsx index 97210bc..5c3f085 100644 --- a/src/pages/scr/dashboard/dashboard_home.tsx +++ b/src/pages/scr/dashboard/dashboard_home.tsx @@ -1,7 +1,206 @@ +import { + Card, + Container, + Flex, + Group, + Stack, + Text, + Title, + Progress, + Badge, + Button, + Grid, + Divider, +} from "@mantine/core"; +import { + IconActivity, + IconUsers, + IconServer, + IconDatabase, + IconSettings, + IconArrowRight, +} from "@tabler/icons-react"; + export default function Dashboard() { return ( -
-

Dashboard

-
+ + + + + + Dashboard Overview + + + Live + + + + + + + + } + label="Active Users" + value="1,248" + change="+12%" + color="teal" + /> + + + } + label="Server Uptime" + value="99.98%" + change="+0.02%" + color="cyan" + /> + + + } + label="Database Ops" + value="82.4K" + change="+5.6%" + color="blue" + /> + + + } + label="System Health" + value="Stable" + change="" + color="green" + /> + + + + + + + + System Performance + + + + + + Resource usage and performance indicators. + + + + + + + + + + + + ); +} + +function MetricCard({ + icon, + label, + value, + change, + color, +}: { + icon: React.ReactNode; + label: string; + value: string; + change?: string; + color: string; +}) { + return ( + + (e.currentTarget.style.boxShadow = "0 0 10px rgba(0,255,200,0.2)") + } + onMouseLeave={(e) => (e.currentTarget.style.boxShadow = "none")} + > + + + {icon} + + {label} + + + + + {value} + + {change && ( + + {change} + + )} + + + + ); +} + +function ProgressSection({ + label, + value, + color, +}: { + label: string; + value: number; + color: string; +}) { + return ( + + + + {label} + + + {value}% + + + + ); }