import { useMutation, useQuery } from '@tanstack/react-query'; import { api } from '@/services/api'; import { Table, TableBody, TableCell, TableHead, TableHeader, TableRow } from '@/components/ui/table'; import { Button } from '@/components/ui/button'; import { Badge } from '@/components/ui/badge'; import { LoadCargoDialog } from './LoadCargoDialog'; import type { Cargo } from '@/services/cargoService'; export function CargoesTable({ containerId }: { containerId: string }) { const { data: cargoes, refetch } = useQuery( api.cargoes.listByContainer.queryOptions({ input: { containerId }, enabled: !!containerId, }), ); const deliver = useMutation(api.cargoes.deliver.mutationOptions()); const unload = useMutation(api.cargoes.unload.mutationOptions()); if (!cargoes?.length) return
No cargoes for this container.
; return ( Reference Description Quantity Weight (kg) Status Actions {cargoes.map((cargo: Cargo) => ( {cargo.cargoReference} {cargo.description || '-'} {cargo.quantity} {cargo.weight} {cargo.status} {cargo.status === 'PENDING' && refetch()} />} {cargo.status === 'LOADED' && } {cargo.status === 'LOADED' && } ))}
); }