"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 (
{/* Hero Section */}

FitAI Dashboard

Performance metrics & athlete insights

{/* Stats Grid */}
0 ? "+" : ""}${stats.revenueGrowth}%`} trend={stats.revenueGrowth >= 0 ? "up" : "down"} icon={CreditCard} color="purple" />
{/* Main Content Grid */}
{/* User Management - Full Width */}

Active Athletes

Manage and monitor your fitness clients

{/* Analytics - 3 Columns Horizontal Layout */}

Analytics

Performance metrics and insights

); }