import { AppSidebar } from "@/components/app-sidebar"; import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, } from "@/components/ui/breadcrumb"; import { Separator } from "@/components/ui/separator"; import { SidebarInset, SidebarProvider, SidebarTrigger, } from "@/components/ui/sidebar"; import { useEffect, useState } from "react"; import axios from "axios"; // Korrekter Import import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "@/components/ui/card" import { Activity, Layers, Network, Server } from "lucide-react"; import { Button } from "@/components/ui/button"; interface StatsResponse { serverCount: number; applicationCount: number; onlineApplicationsCount: number; } import Link from "next/link"; export default function Dashboard() { const [serverCount, setServerCount] = useState(0); const [applicationCount, setApplicationCount] = useState(0); const [onlineApplicationsCount, setOnlineApplicationsCount] = useState(0); const getStats = async () => { try { const response = await axios.post('/api/dashboard/get', {}); setServerCount(response.data.serverCount); setApplicationCount(response.data.applicationCount); setOnlineApplicationsCount(response.data.onlineApplicationsCount); } catch (error: any) { console.log("Axios error:", error.response?.data); } }; useEffect(() => { getStats(); }, []); return (
/ Dashboard

Dashboard

Servers
Manage your server infrastructure
{serverCount}

Active servers

Applications
Manage your deployed applications
{applicationCount}

Running applications

Uptime
Monitor your service availability
{onlineApplicationsCount}/{applicationCount}

online Applications

Network
Manage network configuration
{serverCount + applicationCount}

Active connections

) }