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,20 +41,24 @@ 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) => (
<Analysis <Fragment key={analysis.id}>
key={analysis.id} {analysis.elements.map((element) => (
analysis={{ <Analysis
name: analysis.element.analysis_name || '', key={element.id}
status: analysis.element.norm_status as AnalysisStatus, analysis={{
unit: analysis.element.unit || '', name: element.analysis_name || '',
value: analysis.element.response_value, status: element.norm_status as AnalysisStatus,
normLowerIncluded: !!analysis.element.norm_lower_included, unit: element.unit || '',
normUpperIncluded: !!analysis.element.norm_upper_included, value: element.response_value,
normLower: analysis.element.norm_lower || 0, normLowerIncluded: !!element.norm_lower_included,
normUpper: analysis.element.norm_upper || 0, normUpperIncluded: !!element.norm_upper_included,
}} normLower: element.norm_lower || 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),
})); }));
} }
} }