diff --git a/apps/web/src/pages/diagnosis-detail-page.tsx b/apps/web/src/pages/diagnosis-detail-page.tsx index fe23342..11d1c74 100644 --- a/apps/web/src/pages/diagnosis-detail-page.tsx +++ b/apps/web/src/pages/diagnosis-detail-page.tsx @@ -1,5 +1,6 @@ import { Link, useParams } from "react-router-dom"; import { useQuery } from "@tanstack/react-query"; +import { useEffect } from "react"; import { Button } from "@/components/ui/button"; import { Card, @@ -10,9 +11,19 @@ import { } from "@/components/ui/card"; import { apiClient } from "@/lib/api-client"; import { DiagnosisResultView } from "../components/diagnose-result-view"; +import { diseaseCatalogSeed } from "@zeavis/shared"; // Pastikan jalur import ini benar export function DiagnosisDetailPage() { const { id } = useParams(); + + // Scroll to top when diagnosis ID changes + useEffect(() => { + window.scrollTo({ + top: 0, + behavior: "smooth", + }); + }, [id]); + const query = useQuery({ queryKey: ["diagnosis", id], queryFn: () => apiClient.getDiagnosis(id!), @@ -33,44 +44,55 @@ export function DiagnosisDetailPage() { ); const diagnosis = query.data; + + // fallback Logic for image and medicine recommendations const finalImageUrl = diagnosis.imageUrl || "/src/assets/images/placeholder-image.png"; + const seedData = diagnosis.disease + ? diseaseCatalogSeed.find( + (seed) => seed.commonName === diagnosis.disease?.commonName, + ) + : null; + + const finalMedicines = + (diagnosis.disease as any)?.medicineRecommendations || + seedData?.medicineRecommendations || + []; + return (
- Hasil deteksi AI dan panduan edukasi berdasarkan gambar yang - diunggah + Hasil deteksi AI dan panduan edukasi