"use client" import { Receipt } from "lucide-react" import { Card, CardContent, CardHeader, CardTitle } from "@/shared/components/ui/card" import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from "@/shared/components/ui/table" import { formatCurrency, formatNumber } from "@/shared/utils/formatters" type BillExpense = { id: number bill_id: number expense_id: number quantity: string | number rate: string | number description?: string expense?: { id?: number; title?: string; invoice_number?: string } } type BillExpensesSectionProps = { expenses?: BillExpense[] } export function BillExpensesSection({ expenses = [] }: BillExpensesSectionProps) { if (!expenses || expenses.length === 0) return null const subtotal = expenses.reduce((sum, expense) => { const qty = parseFloat(String(expense.quantity)) const rate = parseFloat(String(expense.rate)) return sum + (qty * rate) }, 0) return ( Expenses
Expense Description Quantity Rate Amount {expenses.map((expense) => { const qty = parseFloat(String(expense.quantity)) const rate = parseFloat(String(expense.rate)) const amount = qty * rate return ( {expense.expense?.title || `Expense #${expense.expense_id}`} {expense.description || "—"} {formatNumber(qty)} {formatCurrency(rate)} {formatCurrency(amount)} ) })} Subtotal {formatCurrency(subtotal)}
) }