feat(MED-105): show empty text on no ordered analyses

This commit is contained in:
2025-08-11 09:21:27 +03:00
parent c8621c4453
commit 37f233e363
3 changed files with 15 additions and 8 deletions

View File

@@ -60,10 +60,12 @@ async function AnalysisResultsPage() {
return { return {
results, results,
} }
}); }) ?? [];
const analysisElementsWithoutResults = analysisElements const analysisElementsWithoutResults = analysisElements
.filter((element) => !analysisElementsWithResults?.some(({ results }) => results.analysis_element_original_id === element.analysis_id_original)); .filter((element) => !analysisElementsWithResults?.some(({ results }) => results.analysis_element_original_id === element.analysis_id_original));
const hasNoAnalysisElements = analysisElementsWithResults.length === 0 && analysisElementsWithoutResults.length === 0;
return ( return (
<PageBody> <PageBody>
<div className="mt-8 flex flex-col sm:flex-row sm:items-center justify-between gap-4 sm:gap-0"> <div className="mt-8 flex flex-col sm:flex-row sm:items-center justify-between gap-4 sm:gap-0">
@@ -80,13 +82,13 @@ async function AnalysisResultsPage() {
</p> </p>
</div> </div>
<Button asChild> <Button asChild>
<Link href={pathsConfig.app.orderAnalysis}> <Link href={pathsConfig.app.orderAnalysisPackage}>
<Trans i18nKey="analysis-results:orderNewAnalysis" /> <Trans i18nKey="analysis-results:orderNewAnalysis" />
</Link> </Link>
</Button> </Button>
</div> </div>
<div className="flex flex-col gap-2"> <div className="flex flex-col gap-2">
{analysisElementsWithResults?.map(({ results }) => { {analysisElementsWithResults.map(({ results }) => {
const analysisElement = analysisElements.find((element) => element.analysis_id_original === results.analysis_element_original_id); const analysisElement = analysisElements.find((element) => element.analysis_id_original === results.analysis_element_original_id);
if (!analysisElement) { if (!analysisElement) {
return null; return null;
@@ -95,11 +97,14 @@ async function AnalysisResultsPage() {
<Analysis key={results.id} analysisElement={analysisElement} results={results} /> <Analysis key={results.id} analysisElement={analysisElement} results={results} />
); );
})} })}
{analysisElementsWithoutResults?.map((element) => { {analysisElementsWithoutResults.map((element) => (
return ( <Analysis key={element.analysis_id_original} analysisElement={element} />
<Analysis key={element.analysis_id_original} analysisElement={element} /> ))}
); {hasNoAnalysisElements && (
})} <div className="text-muted-foreground text-sm">
<Trans i18nKey="analysis-results:noAnalysisElements" />
</div>
)}
</div> </div>
</PageBody> </PageBody>
); );

View File

@@ -4,6 +4,7 @@
"descriptionEmpty": "If you've already done your analysis, your results will appear here soon.", "descriptionEmpty": "If you've already done your analysis, your results will appear here soon.",
"orderNewAnalysis": "Order new analyses", "orderNewAnalysis": "Order new analyses",
"waitingForResults": "Waiting for results", "waitingForResults": "Waiting for results",
"noAnalysisElements": "No analysis orders found",
"results": { "results": {
"range": { "range": {
"normal": "Normal range" "normal": "Normal range"

View File

@@ -4,6 +4,7 @@
"descriptionEmpty": "Kui oled juba käinud analüüse andmas, siis varsti jõuavad siia sinu analüüside vastused.", "descriptionEmpty": "Kui oled juba käinud analüüse andmas, siis varsti jõuavad siia sinu analüüside vastused.",
"orderNewAnalysis": "Telli uued analüüsid", "orderNewAnalysis": "Telli uued analüüsid",
"waitingForResults": "Tulemuse ootel", "waitingForResults": "Tulemuse ootel",
"noAnalysisElements": "Veel ei ole tellitud analüüse",
"results": { "results": {
"range": { "range": {
"normal": "Normaalne vahemik" "normal": "Normaalne vahemik"