import { useQuery } from '@tanstack/react-query'; import { Box, Typography, Skeleton, Chip } from '@mui/material'; import apiClient from '../../lib/api/client'; import { formatCurrency } from '../../lib/format'; interface VendorProposal { id: string; vendorName: string; fileName: string; totalVendorCost: number; processingStatus: string; extractedData: { lineItems?: Array<{ description: string; quantity?: number; unitPrice?: number; total?: number; }>; } | null; } interface VendorDataPanelProps { proposalId: string; } export default function VendorDataPanel({ proposalId }: VendorDataPanelProps) { const { data: vendors, isLoading } = useQuery({ queryKey: ['vendorProposals', proposalId], queryFn: async () => { const res = await apiClient.get(`/proposals/${proposalId}/vendors`); return res.data; }, enabled: !!proposalId, }); if (isLoading) { return ; } if (!vendors || vendors.length === 0) { return ( Vendor Data No vendor proposals attached ); } return ( Vendor Data {vendors.map((vp) => ( {vp.vendorName} {vp.fileName} {vp.totalVendorCost > 0 && ( Vendor Total: {formatCurrency(vp.totalVendorCost)} )} {vp.extractedData?.lineItems && vp.extractedData.lineItems.length > 0 && ( {vp.extractedData.lineItems.map((li, i) => ( {li.description} {li.total != null && ( {formatCurrency(li.total)} )} ))} )} ))} ); }