import React from "react"; import { List, Activity } from "lucide-react"; import { useTranslation } from "react-i18next"; import type { ServerMetrics } from "@/ui/main-axios.ts"; interface ProcessesWidgetProps { metrics: ServerMetrics | null; metricsHistory: ServerMetrics[]; } export function ProcessesWidget({ metrics }: ProcessesWidgetProps) { const { t } = useTranslation(); const metricsWithProcesses = metrics as ServerMetrics & { processes?: { total?: number; running?: number; top?: Array<{ pid: number; cpu: number; mem: number; command: string; user: string; }>; }; }; const processes = metricsWithProcesses?.processes; const topProcesses = processes?.top || []; return (

{t("serverStats.processes")}

{t("serverStats.totalProcesses")}:{" "} {processes?.total ?? "N/A"}
{t("serverStats.running")}:{" "} {processes?.running ?? "N/A"}
{topProcesses.length === 0 ? (

{t("serverStats.noProcessesFound")}

) : (
{topProcesses.map((proc, index: number) => (
PID: {proc.pid}
CPU: {proc.cpu}% MEM: {proc.mem}%
{proc.command}
User: {proc.user}
))}
)}
); }