const API_BASE = (process.env.NEXT_PUBLIC_API_URL || "http://localhost:3333").replace(/\/$/, "") + "/api";

export interface DashboardSummary {
  revenueMonth: number;
  revenueYear: number;
  activeRentals: number;
  availableEquipment: number;
  rentedEquipment: number;
  maintenanceEquipment: number;
  reservedEquipment: number;
  totalEquipment: number;
  activeCustomers: number;
  delinquentCustomers: number;
  occupancyRate: number;
  averageTicket: number;
  cashFlow: number;
  revenueChart: { month: string; value: number }[];
  statusChart: { name: string; value: number; color: string }[];
}

export async function fetchDashboardSummary(): Promise<DashboardSummary | null> {
  try {
    const res = await fetch(`${API_BASE}/dashboard/summary`, {
      headers: {
        "x-tenant-id": "default",
      },
      cache: "no-store",
    });

    if (res.ok) {
      return await res.json();
    }
  } catch (err) {
    console.warn("Failed to fetch dashboard summary from API", err);
  }

  return null;
}
