"use client";
import { useWorkflowStore } from "@/store/workflowStore";
import Badge from "@/components/ui/Badge";
import { CheckCircle2, XCircle, Loader2, Clock } from "lucide-react";
export default function RunLogPanel() {
const { runLogs, isRunning } = useWorkflowStore();
if (!isRunning && runLogs.length === 0) {
return null;
}
const getStatusIcon = (status: string) => {
switch (status) {
case "success":
return ;
case "error":
return ;
case "running":
return ;
default:
return ;
}
};
const getStatusBadge = (status: string) => {
switch (status) {
case "success":
return Başarılı;
case "error":
return Hata;
case "running":
return Çalışıyor;
default:
return Bekliyor;
}
};
const formatTime = (timeString: string) => {
return new Date(timeString).toLocaleTimeString("tr-TR", {
hour: "2-digit",
minute: "2-digit",
second: "2-digit",
});
};
const getDuration = (start: string, end?: string) => {
if (!end) return "-";
const duration = new Date(end).getTime() - new Date(start).getTime();
return `${duration}ms`;
};
return (
Run Logs
{isRunning && (
Çalışıyor...
)}
{runLogs.length === 0 ? (
Henüz log yok
) : (
runLogs.map((log, index) => (
{getStatusIcon(log.status)}
{log.nodeName}
{getStatusBadge(log.status)}
Başlangıç:{" "}
{formatTime(log.startTime)}
{log.endTime && (
Bitiş:{" "}
{formatTime(log.endTime)}
)}
Süre:{" "}
{getDuration(log.startTime, log.endTime)}
{log.payload && (
Payload'ı göster
{JSON.stringify(log.payload, null, 2)}
)}
{log.error && (
Hata: {log.error}
)}
))
)}
);
}