"use client" import { Briefcase } 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 InvoiceService = { id: number invoice_id: number service_id: number quantity: string | number rate: string | number description?: string chart_of_account?: string department_id?: number created_at?: string updated_at?: string } type InvoiceServicesSectionProps = { services?: InvoiceService[] } export function InvoiceServicesSection({ services = [] }: InvoiceServicesSectionProps) { if (!services || services.length === 0) { return null } const subtotal = services.reduce((sum, service) => { const qty = parseFloat(String(service.quantity)) const rate = parseFloat(String(service.rate)) return sum + (qty * rate) }, 0) return ( Services
Description Quantity Rate Amount {services.map((service) => { const qty = parseFloat(String(service.quantity)) const rate = parseFloat(String(service.rate)) const amount = qty * rate return ( {service.description || `Service #${service.service_id}`} {formatNumber(qty)} {formatCurrency(rate)} {formatCurrency(amount)} ) })} Subtotal {formatCurrency(subtotal)}
) }