import { useMemo } from "react"; import { Link } from "react-router-dom"; import { useQuery } from "@tanstack/react-query"; import { BookOpen, ChevronRight, Pill, Shield, Scan } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card"; import { useUiStore } from "@/store/ui-store"; import { apiClient } from "@/lib/api-client"; import bg from "@/assets/images/dashboard-bg.png"; export function DashboardPage() { const { dashboardCompact } = useUiStore(); const summaryQuery = useQuery({ queryKey: ["dashboard-summary"], queryFn: () => apiClient.getDashboardSummary(), }); const diseasesQuery = useQuery({ queryKey: ["diseases"], queryFn: () => apiClient.getDiseases(), }); const summary = summaryQuery.data; const diseases = diseasesQuery.data ?? []; const diseasesQuick = useMemo(() => diseases .sort((a, b) => a.displayOrder - b.displayOrder) .map((d) => ({ name: d.commonName, sci: d.label, color: d.accentColor, slug: d.slug, })), [diseases] ); const missionCards = [ { icon: Scan, title: "Deteksi Otomatis", description: "Upload foto daun jagung dan AI kami akan mengidentifikasi penyakit secara instan.", accent: "text-lime-600", }, { icon: BookOpen, title: "Modul Edukasi", description: "Informasi detail tentang gejala, penyebab, dan dampak setiap penyakit daun jagung.", accent: "text-amber-600", }, { icon: Shield, title: "Panduan Pencegahan", description: "Strategi pencegahan berbasis sains untuk melindungi tanaman Anda dari infeksi.", accent: "text-blue-600", }, { icon: Pill, title: "Rekomendasi Obat", description: "Saran fungisida dan perawatan mandiri yang tepat sesuai jenis penyakit.", accent: "text-violet-600", }, ]; const isLoadingData = summaryQuery.isLoading; const hasError = Boolean(summaryQuery.error); return (
{/* Hero header */}
AI FOR SMART EDUCATION

Selamat Datang di

ZeaVis Edu

Platform edukasi berbasis AI untuk membantu petani jagung Indonesia mendeteksi penyakit daun secara mandiri, cepat, dan akurat.

{/* Loading / Error states */} {isLoadingData && ( Memuat data dashboard... )} {hasError && (
Gagal memuat data dashboard
{String(summaryQuery.error?.message)}
)} {/* Main dashboard content */} {!isLoadingData && !hasError && ( <> {summary && (

Proyek Urgensi

Data ringkasan terbaru dari proyek Anda untuk memantau perkembangan dan hasil deteksi penyakit daun jagung

{/* Total Diagnoses — the actual count from diagnoses table */} Total Diagnosa
{summary.imageClassificationCount}
Lihat daftar
{/* Menunggu Review */} Menunggu Review
{summary.needsReviewCount}
Lihat daftar
{/* Diagnosa Gagal */} Gagal
Lihat daftar
{/* Risiko Tinggi — catalog count, link to catalog filtered */} Kategori Risiko Tinggi
{summary.riskDistribution.high}
Lihat pustaka
)} {/* Mission section */}

Misi Platform

Fitur inti yang kami sediakan untuk mendukung petani jagung Indonesia

{missionCards.map((card) => { const Icon = card.icon; return (

{card.title}

{card.description}

); })}
{/* Diseases quick access - now clickable, link to catalog/:slug */}

Penyakit yang Dapat Dideteksi

{diseases.length} kelas penyakit dan kondisi daun jagung dalam sistem kami

Lihat Pustaka
{diseasesQuery.isLoading ? (
Memuat data penyakit...
) : (
{diseasesQuick.map((d) => (
{d.name}
{d.sci}
))}
)}
{/* Scan quick access */}

Siap Mendeteksi Penyakit Daun?

Unggah foto daun jagung Anda dan dapatkan hasil analisis AI dalam hitungan detik.

)}
); }