"use client"; import { useEffect, useState } from "react"; import { Users, CreditCard, CalendarCheck, TrendingUp } from "lucide-react"; import { StatsCard } from "@/components/ui/StatsCard"; import { UserManagement } from "@/components/users/UserManagement"; import { AnalyticsDashboard } from "@/components/analytics/AnalyticsDashboard"; import axios from "axios"; interface DashboardStats { totalUsers: number; activeClients: number; totalRevenue: number; revenueGrowth: number; } export default function Home() { const [stats, setStats] = useState({ totalUsers: 0, activeClients: 0, totalRevenue: 0, revenueGrowth: 0, }); const [loading, setLoading] = useState(true); useEffect(() => { const fetchStats = async () => { try { const response = await axios.get("/api/admin/stats"); setStats(response.data); } catch (error) { console.error("Failed to fetch dashboard stats:", error); } finally { setLoading(false); } }; fetchStats(); }, []); const formatCurrency = (value: number) => { return new Intl.NumberFormat("en-US", { style: "currency", currency: "USD", }).format(value); }; return (

Dashboard

Welcome back, here's what's happening today.

0 ? "+" : ""}${stats.revenueGrowth}%`} trend={stats.revenueGrowth >= 0 ? "up" : "down"} icon={CreditCard} color="purple" />

Recent Activity

Quick Analytics

); }