diff --git a/app/routes/sys-rijig-adminpanel.dashboard._index.tsx b/app/routes/sys-rijig-adminpanel.dashboard._index.tsx index 23a2ace..d85c9a6 100644 --- a/app/routes/sys-rijig-adminpanel.dashboard._index.tsx +++ b/app/routes/sys-rijig-adminpanel.dashboard._index.tsx @@ -4,13 +4,13 @@ import { BarChart3, Users, Recycle, - DollarSign, + UserCheck, TrendingUp, TrendingDown, Package, MapPin, - Clock, - AlertCircle + User, + Shield } from "lucide-react"; import { Card, @@ -19,72 +19,21 @@ import { CardHeader, CardTitle } from "~/components/ui/card"; -import { Badge } from "~/components/ui/badge"; import { Button } from "~/components/ui/button"; export const loader = async () => { const dashboardData = { stats: { - totalUsers: 1234, - totalWaste: 5678, - totalRevenue: 98765, - activeCollectors: 45 + totalMasyarakat: 1156, + totalPengelola: 32, + totalPengepul: 46, + totalManagedWaste: 8945 }, - recentTransactions: [ - { - id: 1, - user: "Ahmad Rizki", - type: "Plastik", - amount: 15000, - time: "2 menit lalu" - }, - { - id: 2, - user: "Siti Nurhaliza", - type: "Kertas", - amount: 8500, - time: "5 menit lalu" - }, - { - id: 3, - user: "Budi Santoso", - type: "Logam", - amount: 25000, - time: "10 menit lalu" - }, - { - id: 4, - user: "Diana Putri", - type: "Plastik", - amount: 12000, - time: "15 menit lalu" - } - ], wasteStats: [ { type: "Plastik", percentage: 45, color: "bg-blue-500" }, { type: "Kertas", percentage: 30, color: "bg-green-500" }, { type: "Logam", percentage: 15, color: "bg-yellow-500" }, { type: "Organik", percentage: 10, color: "bg-red-500" } - ], - alerts: [ - { - id: 1, - message: "Kapasitas gudang Pengepul A mencapai 85%", - type: "warning", - time: "1 jam lalu" - }, - { - id: 2, - message: "Harga plastik naik 15% hari ini", - type: "info", - time: "2 jam lalu" - }, - { - id: 3, - message: "5 pengepul baru menunggu verifikasi", - type: "urgent", - time: "3 jam lalu" - } ] }; @@ -123,35 +72,17 @@ export default function AdminDashboard() { - Total Pengguna + Total Masyarakat
- {dashboardData.stats.totalUsers.toLocaleString()} + {dashboardData.stats.totalMasyarakat.toLocaleString()}

- +12% dari bulan lalu -

-
-
- - - - - Total Sampah (kg) - - - - -
- {dashboardData.stats.totalWaste.toLocaleString()} -
-

- - +8% dari bulan lalu + +15% dari bulan lalu

@@ -159,17 +90,17 @@ export default function AdminDashboard() { - Total Revenue + Total Pengelola - +
- Rp {dashboardData.stats.totalRevenue.toLocaleString()} + {dashboardData.stats.totalPengelola}

- +23% dari bulan lalu + +3% dari bulan lalu

@@ -177,135 +108,146 @@ export default function AdminDashboard() { - Pengepul Aktif + Total Pengepul - +
- {dashboardData.stats.activeCollectors} + {dashboardData.stats.totalPengepul}

- - -2% dari bulan lalu + + +8% dari bulan lalu +

+
+
+ + + + + Sampah Terkelola (kg) + + + + +
+ {dashboardData.stats.totalManagedWaste.toLocaleString()} +
+

+ + +18% dari bulan lalu

{/* Content Grid */} -
- {/* Recent Transactions */} - +
+ {/* Waste Statistics */} + - - - Transaksi Terbaru - + Distribusi Jenis Sampah - Aktivitas transaksi sampah dalam 24 jam terakhir + Persentase berdasarkan volume yang berhasil dikelola - -
- {dashboardData.recentTransactions.map((transaction) => ( -
-
-
- -
-
-

- {transaction.user} -

-

- {transaction.type} -

-
-
-
-

- Rp {transaction.amount.toLocaleString()} -

-

- - {transaction.time} -

-
+ + {dashboardData.wasteStats.map((waste, index) => ( +
+
+ {waste.type} + {waste.percentage}%
- ))} -
- +
+
+
+
+ ))} - {/* Side Panel */} -
- {/* Waste Statistics */} - - - Distribusi Jenis Sampah - Persentase berdasarkan volume - - - {dashboardData.wasteStats.map((waste, index) => ( -
-
- {waste.type} - {waste.percentage}% + {/* User Distribution */} + + + Distribusi Pengguna + + Breakdown pengguna berdasarkan peran + + + +
+
+
+
+
-
-
-
-
- ))} - - - - {/* Alerts */} - - - - - Notifikasi Penting - - - - {dashboardData.alerts.map((alert) => ( -
-
-

- {alert.message} +

+

+ Masyarakat +

+

+ Pengguna umum

- - {alert.type} -
-

- - {alert.time} -

- ))} - - -
+
+

+ {dashboardData.stats.totalMasyarakat.toLocaleString()} +

+

93.4%

+
+
+ +
+
+
+ +
+
+

+ Pengelola +

+

+ Admin sistem +

+
+
+
+

+ {dashboardData.stats.totalPengelola} +

+

2.6%

+
+
+ +
+
+
+ +
+
+

+ Pengepul +

+

+ Mitra pengepul +

+
+
+
+

+ {dashboardData.stats.totalPengepul} +

+

3.7%

+
+
+
+
+
{/* Quick Actions */}