import { useQuery } from "@tanstack/react-query";
import { Card, CardContent } from "@/components/ui/card";
import { Skeleton } from "@/components/ui/skeleton";
import { PendingRequests } from "./PendingRequests";
import { AssignmentTool } from "./AssignmentTool";
export function AdminDashboard() {
const { data: stats, isLoading } = useQuery({
queryKey: ["/api/stats/admin"],
});
if (isLoading) {
return (
{[...Array(4)].map((_, i) => (
))}
);
}
const statCards = [
{
title: "Total DJs",
value: stats?.totalDJs || 0,
icon: "fas fa-users",
color: "blue",
},
{
title: "Active Events",
value: stats?.activeEvents || 0,
icon: "fas fa-calendar-check",
color: "green",
},
{
title: "Pending Requests",
value: stats?.pendingRequests || 0,
icon: "fas fa-exclamation-triangle",
color: "yellow",
},
{
title: "This Month",
value: stats?.thisMonth || 0,
icon: "fas fa-chart-bar",
color: "purple",
},
];
return (
Admin Dashboard
Manage DJs, events, and system settings
{statCards.map((stat) => (
{stat.title}
{stat.value}
))}
);
}