import { useParams, Link } from 'react-router-dom'; import { useQuery } from '@tanstack/react-query'; import { isDiseaseSlug } from '@zeavis/shared'; import { ArrowLeft, AlertCircle, BookOpen } from 'lucide-react'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from '@/components/ui/card'; import { RiskBadge } from '@/components/risk-badge'; import { apiClient } from '@/lib/api-client'; export function DiseaseDetailPage() { const { slug } = useParams<{ slug: string }>(); const validatedSlug = slug && isDiseaseSlug(slug) ? slug : null; const { data: disease, isLoading, error } = useQuery({ queryKey: ['disease', slug], queryFn: () => apiClient.getDisease(validatedSlug!), enabled: validatedSlug !== null, }); if (!validatedSlug || error || (!isLoading && !disease)) { return (

Materi tidak ditemukan

); } if (isLoading) { return (

Memuat materi...

); } if (!disease) { return null; } return (

{disease.commonName}

{disease.label}

{disease.summary}

Deskripsi

{disease.description}

Gejala Tanda-tanda yang perlu diperhatikan
    {disease.symptoms.map((symptom, index) => (
  • {symptom}
  • ))}
Rekomendasi Penanganan Langkah-langkah untuk mengendalikan penyakit
    {disease.recommendations.map((recommendation, index) => (
  1. {index + 1} {recommendation}
  2. ))}
); }