import { GridColDef, GridRenderCellParams } from '@mui/x-data-grid-premium'; import Chip from '@mui/material/Chip'; import { formatCurrency, formatDate, getStatusColor } from '../../utils/orderFormatters'; /** * Mapeia códigos de status para texto legível. */ const STATUS_LABELS: Record = { 'F': 'Faturado', 'C': 'Cancelado', 'P': 'Pendente', }; const getStatusLabel = (status: string): string => STATUS_LABELS[status] || status; export const createInformationPanelColumns = (): GridColDef[] => [ { field: 'customerName', headerName: 'Cliente', width: 250, description: 'Nome do cliente do pedido', }, { field: 'storeId', headerName: 'Filial', width: 80, align: 'center', headerAlign: 'center', description: 'Código da filial', }, { field: 'createDate', headerName: 'Data Criação', width: 110, align: 'center', headerAlign: 'center', description: 'Data de criação do pedido', valueFormatter: (value) => formatDate(value as string), }, { field: 'status', headerName: 'Situação', width: 120, align: 'center', headerAlign: 'center', description: 'Situação atual do pedido', renderCell: (params: Readonly) => ( ), }, { field: 'paymentName', headerName: 'Forma Pagamento', width: 150, description: 'Forma de pagamento utilizada', }, { field: 'billingName', headerName: 'Cond. Pagamento', width: 150, description: 'Condição de pagamento', }, { field: 'amount', headerName: 'Valor Total', width: 120, align: 'right', headerAlign: 'right', description: 'Valor total do pedido', valueFormatter: (value) => formatCurrency(value as number), }, { field: 'deliveryType', headerName: 'Tipo Entrega', width: 150, description: 'Tipo de entrega selecionado', }, { field: 'deliveryLocal', headerName: 'Local Entrega', width: 200, flex: 1, description: 'Local de entrega do pedido', }, ];