"use client" import { useState } from "react" import { formatCurrency } from "@/lib/utils" import { TrendingUp, TrendingDown, Building2 } from "lucide-react" interface MonthData { key: string; label: string; revenue: number; expense: number; net: number } interface PropertyPnL { id: string; name: string; revenue: number; expense: number; net: number; margin: number } export function ReportsClient({ monthlyData, propertyPnL }: { monthlyData: MonthData[]; propertyPnL: PropertyPnL[] }) { const [view, setView] = useState<"revenue" | "expense" | "net">("revenue") const maxVal = Math.max(...monthlyData.map(m => view === "revenue" ? m.revenue : view === "expense" ? m.expense : Math.abs(m.net) ), 1) const barColor = view === "revenue" ? "bg-indigo-500" : view === "expense" ? "bg-rose-500" : "bg-emerald-500" const viewLabel = view === "revenue" ? "Revenue" : view === "expense" ? "Expenses" : "Net Income" return (
Monthly {viewLabel}
{formatCurrency(s.value)}
{s.label}
Property P&L
Income vs expenses per property (last 6 months)
{p.name}
{p.margin}% profit margin
= 0 ? "text-emerald-400" : "text-red-400"}`}> {formatCurrency(p.net)}
Revenue
{formatCurrency(p.revenue)}
Expenses
{formatCurrency(p.expense)}