"use client"; import { useState, useEffect } from "react"; import { Dialog, DialogContent, DialogHeader, DialogTitle, } from "@/components/ui/dialog"; import { ScrollArea } from "@/components/ui/scroll-area"; import { fetchAPI } from "@/lib/api"; interface ContainerLogsModalProps { containerId: string | null; containerName: string; endpoint: string; onClose: () => void; } export function ContainerLogsModal({ containerId, containerName, endpoint, onClose, }: ContainerLogsModalProps) { const [logs, setLogs] = useState(""); const [loading, setLoading] = useState(false); useEffect(() => { if (!containerId) return; setLoading(true); setLogs(""); fetchAPI<{ logs: string }>( `/api/containers/${endpoint}/${containerId}/logs` ) .then((data) => setLogs(data.logs)) .catch((err) => setLogs(`Error fetching logs: ${err.message}`)) .finally(() => setLoading(false)); }, [containerId, endpoint]); return ( onClose()}> Logs: {containerName} {loading ? (

Loading logs...

) : (
              {logs || "No logs available"}
            
)}
); }