import React from 'react'; import { useTranslation } from 'react-i18next'; import type { ReactNode } from 'react'; import { Accordion, AccordionItem, StructuredListBody, StructuredListCell, StructuredListRow, StructuredListWrapper, } from '@carbon/react'; import { capitalize } from 'lodash-es'; import { ExtensionSlot, formatDate, parseDate } from '@openmrs/esm-framework'; import { type GroupedOrders } from '../../types'; import styles from './list-order-details.scss'; type OrderDetailsRowProps = { label: ReactNode; value: ReactNode; }; export interface ListOrdersDetailsProps { groupedOrders: GroupedOrders; } const OrderDetailRow = ({ label, value }: OrderDetailsRowProps) => { return ( {label} {value} ); }; const ListOrderDetails: React.FC = ({ groupedOrders }) => { const { t } = useTranslation(); const originalOrders = groupedOrders?.originalOrders ?? []; return (
{originalOrders.map((order) => (
{capitalize(order.urgency?.replace(/_/g, ' '))}
} /> {capitalize(order.fulfillerStatus?.replace('_', ' ')) || t('orderNotPicked', 'Order not picked')}
} /> {order.fulfillerStatus === 'DECLINED' && ( )} {(order.fulfillerStatus === 'COMPLETED' || order.fulfillerStatus === 'DRAFT') && ( {t('viewTestResults', 'View test results')}} >
)}
{order.fulfillerStatus === 'RECEIVED' || order.fulfillerStatus == null ? ( <>
) : order.fulfillerStatus === 'IN_PROGRESS' ? ( <>
) : order.fulfillerStatus === 'DRAFT' ? ( <>
) : null}
))} ); }; export default ListOrderDetails;