import { useState, useEffect } from "react"; import { useParams, useNavigate } from "react-router-dom"; import { useQuery } from "@tanstack/react-query"; import { useTheme } from "@/contexts/ThemeContext"; import { useLanguage } from "@/contexts/LanguageContext"; import { useSidebar } from "@/contexts/SidebarContext"; import { Sidebar } from "@/components/dashboard/Sidebar"; import { Header } from "@/components/dashboard/Header"; import { serverService } from "@/services/serverService"; import { authService } from "@/services/authService"; import { Button } from "@/components/ui/button"; import { ArrowLeft, Server, Database } from "lucide-react"; import { ServerMetricsCharts } from "@/components/servers/ServerMetricsCharts"; import { ServerMetricsOverview } from "@/components/servers/ServerMetricsOverview"; import { ServerHistoryCharts } from "@/components/servers/ServerHistoryCharts"; const ServerDetail = () => { const { serverId } = useParams(); const navigate = useNavigate(); const { theme } = useTheme(); const { t } = useLanguage(); const { sidebarCollapsed, toggleSidebar } = useSidebar(); const [currentUser, setCurrentUser] = useState(authService.getCurrentUser()); console.log('ServerDetail component loaded with serverId:', serverId); const { data: server, isLoading: serverLoading, error: serverError } = useQuery({ queryKey: ['server', serverId], queryFn: () => serverService.getServer(serverId!), enabled: !!serverId }); const handleLogout = () => { authService.logout(); navigate('/login'); }; const handleBackToServers = () => { navigate('/instance-monitoring'); }; if (serverError) { console.error('Server detail error:', serverError); return (

Error loading server

Unable to fetch server data. Please check your connection and try again.

Error: {serverError?.message || 'Unknown error'}
); } if (serverLoading) { return (

Loading server details...

); } return (
{/* Header Section */}

{server?.name || 'Server Detail'}

Monitor server performance metrics and system health {server && ( {server.hostname} • {server.ip_address} • {server.os_type} • {server.system_info} )}

{/* Server Overview Cards */} {server && (
)} {/* Historical Charts Section */} {server && (
)} {/* Metrics Charts Section */} {server && (
)}
); }; export default ServerDetail;