From b18b98e1a79328f9f1e8db40db514e32f322f5f3 Mon Sep 17 00:00:00 2001 From: seriouselly Date: Mon, 15 Jun 2026 20:54:44 +0700 Subject: [PATCH] fix(scan): resolve empty medicine data and clean up linter warning - Add local fallback using `diseaseCatalogSeed` to populate medicine recommendations in the diagnosis preview modal when API data is missing. - Remove unused `diagnosesQuery` assignment to resolve SonarLint warning while preserving the background prefetching logic. --- apps/web/src/pages/scan-page.tsx | 66 ++++++++++++++++++++------------ 1 file changed, 42 insertions(+), 24 deletions(-) diff --git a/apps/web/src/pages/scan-page.tsx b/apps/web/src/pages/scan-page.tsx index 28938ac..24bb9dd 100644 --- a/apps/web/src/pages/scan-page.tsx +++ b/apps/web/src/pages/scan-page.tsx @@ -16,6 +16,7 @@ import { Button } from "@/components/ui/button"; import { Card, CardContent } from "@/components/ui/card"; import { Modal } from "@/components/ui/modal"; import type { DiagnosisRecord } from "@zeavis/shared"; +import { diseaseCatalogSeed } from "@zeavis/shared"; // Import data seed lokal ditambahkan import { apiClient } from "@/lib/api-client"; import { trackScan, trackDiagnosisResult } from "@/lib/telemetry"; import { DiagnosisResultView } from "../components/diagnose-result-view"; @@ -76,7 +77,7 @@ export function ScanPage() { const [diagnosisPreview, setDiagnosisPreview] = useState(null); - const diagnosesQuery = useQuery({ + useQuery({ queryKey: ["diagnoses"], queryFn: () => apiClient.getDiagnoses(), enabled: previewOpen, @@ -373,29 +374,46 @@ export function ScanPage() { )} - + {/* Render DiagnosisResultView dengan Fallback Obat */} + {(() => { + // Fallback logic for scientific name and medicine recommendations + const seedData = diagnosisPreview.disease + ? diseaseCatalogSeed.find( + (seed) => + seed.commonName === diagnosisPreview.disease?.commonName, + ) + : null; + + // If the API doesn't return medicine recommendations, use the seed data as a fallback + const finalMedicines = + (diagnosisPreview.disease as any)?.medicineRecommendations || + seedData?.medicineRecommendations || + []; + + return ( + + ); + })()} {/* All Model Predictions */} {diagnosisPreview.predictions &&