import React from 'react'; import { useTranslation } from 'react-i18next'; import { StructuredListSkeleton, StructuredListRow, StructuredListCell, StructuredListWrapper, StructuredListHead, StructuredListBody, Tile, } from '@carbon/react'; import styles from './regimen-history.scss'; import { useRegimenHistory } from '../hooks/useRegimenHistory'; import { formatDate, parseDate, useLayoutType } from '@openmrs/esm-framework'; import { RegimenType } from '../types'; export interface RegimenHistoryProps { patientUuid: string; category: string; } const RegimenHistory: React.FC = ({ patientUuid, category }) => { const { t } = useTranslation(); const isTablet = useLayoutType() == 'tablet'; const { regimen, isLoading, error } = useRegimenHistory(patientUuid, RegimenType[category]); if (isLoading) { return ; } if (error) { return {t('errorRegimenHistory', 'Error loading regimen history')}; } if (regimen?.length === 0) { return; } if (regimen?.length) { const structuredListBodyRowGenerator = () => { return regimen .filter((regimen) => regimen?.startDate) .map((regimen, i) => ( {regimen?.startDate ? formatDate(parseDate(regimen?.startDate), { mode: 'wide' }) : ''} {regimen?.endDate ? formatDate(parseDate(regimen?.endDate), { mode: 'wide' }) : ''} {regimen?.regimenShortDisplay ? regimen?.regimenShortDisplay : '——'} {regimen?.regimenLine ? regimen?.regimenLine : '——'} {regimen?.changeReasons ? regimen?.changeReasons.slice(1, -1) : '——'} )); }; return (

{t('regimenHistory', 'Regimen History')}

{t('start', 'Start')} {t('end', 'End')} {t('regimen', 'Regimen')} {t('regimenLine', 'Regimen line')} {t('changeReason', 'Change reason')} {structuredListBodyRowGenerator()}
); } }; export default RegimenHistory;