import React from 'react'; import { useTranslation } from 'react-i18next'; import { type AssignedExtension, useAssignedExtensions, Extension, useConfig } from '@openmrs/esm-framework'; // ComponentContext is not part of the public API but is needed here to render extensions // in a custom layout (CSS grid tiles) without the wrapper div that ExtensionSlot adds. // eslint-disable-next-line no-restricted-imports import { ComponentContext } from '@openmrs/esm-framework/src/internal'; import styles from './laboratory-summary-tiles.scss'; import { type Config } from '../config-schema'; const LaboratorySummaryTiles: React.FC = () => { const { t } = useTranslation(); const { enableReviewingLabResultsBeforeApproval } = useConfig(); const labTileSlot = 'lab-tiles-slot'; const tilesExtensions = useAssignedExtensions(labTileSlot) as AssignedExtension[]; const filteredExtensions = tilesExtensions.filter((extension) => { const meta = extension.meta ?? {}; if (Object.keys(meta).length === 0) { return false; } if (extension.name === 'pending-review-list-tile-component') { return enableReviewingLabResultsBeforeApproval === true; } return true; }); return (
{filteredExtensions.map((extension, index) => { return ( ); })}
); }; export default LaboratorySummaryTiles;