feat(MED-131): initial fix for analysis results table so result elements are shown correctly

This commit is contained in:
2025-08-04 16:28:57 +03:00
parent 30c7d192fa
commit 0a4be89fc9
2 changed files with 20 additions and 20 deletions

View File

@@ -1,3 +1,4 @@
import { Fragment } from 'react';
import { createI18nServerInstance } from '@/lib/i18n/i18n.server'; import { createI18nServerInstance } from '@/lib/i18n/i18n.server';
import { withI18n } from '@/lib/i18n/with-i18n'; import { withI18n } from '@/lib/i18n/with-i18n';
@@ -40,21 +41,25 @@ async function AnalysisResultsPage() {
</Button> </Button>
</div> </div>
<div className="flex flex-col gap-2"> <div className="flex flex-col gap-2">
{analysisList?.map((analysis, index) => ( {analysisList?.map((analysis) => (
<Fragment key={analysis.id}>
{analysis.elements.map((element) => (
<Analysis <Analysis
key={analysis.id} key={element.id}
analysis={{ analysis={{
name: analysis.element.analysis_name || '', name: element.analysis_name || '',
status: analysis.element.norm_status as AnalysisStatus, status: element.norm_status as AnalysisStatus,
unit: analysis.element.unit || '', unit: element.unit || '',
value: analysis.element.response_value, value: element.response_value,
normLowerIncluded: !!analysis.element.norm_lower_included, normLowerIncluded: !!element.norm_lower_included,
normUpperIncluded: !!analysis.element.norm_upper_included, normUpperIncluded: !!element.norm_upper_included,
normLower: analysis.element.norm_lower || 0, normLower: element.norm_lower || 0,
normUpper: analysis.element.norm_upper || 0, normUpper: element.norm_upper || 0,
}} }}
/> />
))} ))}
</Fragment>
))}
</div> </div>
</PageBody> </PageBody>
); );

View File

@@ -209,15 +209,10 @@ class AccountsApi {
return null; return null;
} }
const elementMap = new Map(
analysisResponseElements.map((e) => [e.analysis_response_id, e]),
);
return analysisResponses return analysisResponses
.filter((r) => elementMap.has(r.id))
.map((r) => ({ .map((r) => ({
...r, ...r,
element: elementMap.get(r.id)!, elements: analysisResponseElements.filter((e) => e.analysis_response_id === r.id),
})); }));
} }
} }