"use client"; import Link from "next/link"; import { useQuery } from "@tanstack/react-query"; import { Activity, AlertTriangle, CalendarDays, HeartPulse, TrendingUp, } from "lucide-react"; import { PieChart, Pie, Cell, ResponsiveContainer, Legend, Tooltip, } from "recharts"; import { Card, CardContent } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { Button } from "@/components/ui/button"; import { api } from "@/lib/api"; import { useT } from "@/i18n/context"; export function DashboardClient() { const { dict, locale } = useT(); const stats = useQuery({ queryKey: ["stats"], queryFn: api.stats }); const history = useQuery({ queryKey: ["history"], queryFn: api.history }); const s = stats.data ?? { total: 0, high_risk: 0, low_risk: 0, high_risk_pct: 0, today: 0, }; const recent = (history.data ?? []).slice(-8).reverse(); const pieData = [ { name: dict.dashboard.kpi.lowRisk, value: s.low_risk, color: "var(--success)" }, { name: dict.dashboard.kpi.highRisk, value: s.high_risk, color: "var(--destructive)" }, ]; return (
| {dict.history.columns.patientId} | {dict.history.columns.date} | {dict.history.columns.age} | {dict.history.columns.sex} | {dict.history.columns.probability} | {dict.history.columns.risk} |
|---|---|---|---|---|---|
| {r.patient_id} | {r.date} ยท {r.time} | {r.age} | {r.sex} | {r.probability.toFixed(1)}% |
|