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 &&