mirror of
https://github.com/crocofied/CoreControl.git
synced 2025-12-29 16:14:43 +00:00
Add function if a server has no temp or gpu
This commit is contained in:
@@ -118,6 +118,8 @@ interface MonitoringData {
|
|||||||
ramUsage: number
|
ramUsage: number
|
||||||
diskUsage: number
|
diskUsage: number
|
||||||
uptime: number
|
uptime: number
|
||||||
|
gpuUsage?: number
|
||||||
|
temp?: number
|
||||||
}
|
}
|
||||||
|
|
||||||
export default function Dashboard() {
|
export default function Dashboard() {
|
||||||
@@ -239,7 +241,6 @@ export default function Dashboard() {
|
|||||||
console.log("ID:" + server.id)
|
console.log("ID:" + server.id)
|
||||||
}
|
}
|
||||||
setServers(response.data.servers)
|
setServers(response.data.servers)
|
||||||
console.log(response.data.servers)
|
|
||||||
setMaxPage(response.data.maxPage)
|
setMaxPage(response.data.maxPage)
|
||||||
setTotalItems(response.data.totalItems)
|
setTotalItems(response.data.totalItems)
|
||||||
setLoading(false)
|
setLoading(false)
|
||||||
@@ -437,7 +438,9 @@ export default function Dashboard() {
|
|||||||
online: serverMonitoring.online,
|
online: serverMonitoring.online,
|
||||||
cpuUsage: serverMonitoring.cpuUsage,
|
cpuUsage: serverMonitoring.cpuUsage,
|
||||||
ramUsage: serverMonitoring.ramUsage,
|
ramUsage: serverMonitoring.ramUsage,
|
||||||
diskUsage: serverMonitoring.diskUsage
|
diskUsage: serverMonitoring.diskUsage,
|
||||||
|
gpuUsage: serverMonitoring.gpuUsage ? Number(serverMonitoring.gpuUsage) : 0,
|
||||||
|
temp: serverMonitoring.temp ? Number(serverMonitoring.temp) : 0
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
return server;
|
return server;
|
||||||
@@ -1169,13 +1172,21 @@ export default function Dashboard() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<div className="flex items-center justify-between">
|
<div className="flex items-center justify-between">
|
||||||
<div className="flex items-center gap-2">
|
<div className="flex items-center gap-2">
|
||||||
<Microchip className="h-4 w-4 text-muted-foreground" />
|
<Microchip className="h-4 w-4 text-muted-foreground" />
|
||||||
<span className="text-sm font-medium">GPU</span>
|
<span className="text-sm font-medium">GPU</span>
|
||||||
</div>
|
|
||||||
<span className="text-xs font-medium">{server.gpuUsage !== null && server.gpuUsage !== undefined && server.gpuUsage !== 0 ? `${server.gpuUsage}%` : "NO DATA"}</span>
|
|
||||||
</div>
|
</div>
|
||||||
|
<span className="text-xs font-medium">
|
||||||
|
{server.online &&
|
||||||
|
server.gpuUsage &&
|
||||||
|
server.gpuUsage !== null &&
|
||||||
|
server.gpuUsage !== undefined &&
|
||||||
|
server.gpuUsage.toString() !== "0"
|
||||||
|
? `${server.gpuUsage}%`
|
||||||
|
: "NO DATA"}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
<div className="h-2 w-full overflow-hidden rounded-full bg-secondary mt-1">
|
<div className="h-2 w-full overflow-hidden rounded-full bg-secondary mt-1">
|
||||||
<div
|
<div
|
||||||
className={`h-full ${server.gpuUsage && server.gpuUsage > 80 ? "bg-destructive" : server.gpuUsage && server.gpuUsage > 60 ? "bg-amber-500" : "bg-emerald-500"}`}
|
className={`h-full ${server.gpuUsage && server.gpuUsage > 80 ? "bg-destructive" : server.gpuUsage && server.gpuUsage > 60 ? "bg-amber-500" : "bg-emerald-500"}`}
|
||||||
@@ -1186,13 +1197,20 @@ export default function Dashboard() {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className="mt-4">
|
<div className="mt-4">
|
||||||
<div className="flex items-center justify-between">
|
<div className="flex items-center justify-between">
|
||||||
<div className="flex items-center gap-2">
|
<div className="flex items-center gap-2">
|
||||||
<Thermometer className="h-4 w-4 text-muted-foreground" />
|
<Thermometer className="h-4 w-4 text-muted-foreground" />
|
||||||
<span className="text-sm font-medium">Temp</span>
|
<span className="text-sm font-medium">Temp</span>
|
||||||
</div>
|
|
||||||
<span className="text-xs font-medium">{server.temp !== null && server.temp !== undefined && server.temp !== 0 ? `${server.temp}°C` : "NO DATA"}</span>
|
|
||||||
</div>
|
</div>
|
||||||
|
<span className="text-xs font-medium">
|
||||||
|
{server.online &&
|
||||||
|
server.temp !== null &&
|
||||||
|
server.temp !== undefined &&
|
||||||
|
server.temp.toString() !== "0"
|
||||||
|
? `${server.temp}°C`
|
||||||
|
: "NO DATA"}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
<div className="h-2 w-full overflow-hidden rounded-full bg-secondary mt-1">
|
<div className="h-2 w-full overflow-hidden rounded-full bg-secondary mt-1">
|
||||||
<div
|
<div
|
||||||
className={`h-full ${server.temp && server.temp > 80 ? "bg-destructive" : server.temp && server.temp > 60 ? "bg-amber-500" : "bg-emerald-500"}`}
|
className={`h-full ${server.temp && server.temp > 80 ? "bg-destructive" : server.temp && server.temp > 60 ? "bg-amber-500" : "bg-emerald-500"}`}
|
||||||
|
|||||||
@@ -627,26 +627,35 @@ export default function ServerDetail() {
|
|||||||
</div>
|
</div>
|
||||||
<span>{server.diskUsage !== null && server.diskUsage !== undefined ? `${server.diskUsage}%` : "NO DATA"}</span>
|
<span>{server.diskUsage !== null && server.diskUsage !== undefined ? `${server.diskUsage}%` : "NO DATA"}</span>
|
||||||
</div>
|
</div>
|
||||||
<div className="text-muted-foreground">GPU Usage:</div>
|
{server.gpuUsage && server.gpuUsage !== null && server.gpuUsage !== undefined && server.gpuUsage.toString() !== "0" && (
|
||||||
<div className="flex items-center gap-2">
|
<>
|
||||||
<div className="w-full h-2 bg-secondary rounded-full overflow-hidden">
|
<div className="text-muted-foreground">GPU Usage:</div>
|
||||||
|
<div className="flex items-center gap-2">
|
||||||
|
<div className="w-full h-2 bg-secondary rounded-full overflow-hidden">
|
||||||
<div
|
<div
|
||||||
className={`h-full ${server.gpuUsage && server.gpuUsage > 80 ? "bg-destructive" : server.gpuUsage && server.gpuUsage > 60 ? "bg-amber-500" : "bg-emerald-500"}`}
|
className={`h-full ${server.gpuUsage && server.gpuUsage > 80 ? "bg-destructive" : server.gpuUsage && server.gpuUsage > 60 ? "bg-amber-500" : "bg-emerald-500"}`}
|
||||||
style={{ width: `${server.gpuUsage || 0}%` }}
|
style={{ width: `${server.gpuUsage || 0}%` }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<span>{server.gpuUsage !== null && server.gpuUsage !== undefined && server.gpuUsage !== 0 ? `${server.gpuUsage}%` : "NO DATA"}</span>
|
<span>
|
||||||
</div>
|
{server.gpuUsage && server.gpuUsage !== null && server.gpuUsage !== undefined ? `${server.gpuUsage}%` : "NO DATA"}</span>
|
||||||
<div className="text-muted-foreground">Temperature:</div>
|
</div>
|
||||||
<div className="flex items-center gap-2">
|
</>
|
||||||
<div className="w-full h-2 bg-secondary rounded-full overflow-hidden">
|
)}
|
||||||
|
{server.temp && server.temp !== null && server.temp !== undefined && server.temp.toString() !== "0" && (
|
||||||
|
<>
|
||||||
|
<div className="text-muted-foreground">Temperature:</div>
|
||||||
|
<div className="flex items-center gap-2">
|
||||||
|
<div className="w-full h-2 bg-secondary rounded-full overflow-hidden">
|
||||||
<div
|
<div
|
||||||
className={`h-full ${server.temp && server.temp > 80 ? "bg-destructive" : server.temp && server.temp > 60 ? "bg-amber-500" : "bg-emerald-500"}`}
|
className={`h-full ${server.temp && server.temp > 80 ? "bg-destructive" : server.temp && server.temp > 60 ? "bg-amber-500" : "bg-emerald-500"}`}
|
||||||
style={{ width: `${Math.min(server.temp || 0, 100)}%` }}
|
style={{ width: `${Math.min(server.temp || 0, 100)}%` }}
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
<span>{server.temp !== null && server.temp !== undefined && server.temp !== 0 ? `${server.temp}°C` : "NO DATA"}</span>
|
<span>{server.temp !== null && server.temp !== undefined && server.temp !== 0 ? `${server.temp}°C` : "NO DATA"}</span>
|
||||||
</div>
|
</div>
|
||||||
|
</>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
@@ -699,12 +708,16 @@ export default function ServerDetail() {
|
|||||||
<div className="h-[200px] relative bg-background">
|
<div className="h-[200px] relative bg-background">
|
||||||
<canvas id="disk-chart" />
|
<canvas id="disk-chart" />
|
||||||
</div>
|
</div>
|
||||||
<div className="h-[200px] relative bg-background">
|
{server.history?.datasets.gpu.some(value => value !== null && value !== 0) && (
|
||||||
<canvas id="gpu-chart" />
|
<div className="h-[200px] relative bg-background">
|
||||||
</div>
|
<canvas id="gpu-chart" />
|
||||||
<div className="h-[200px] relative bg-background">
|
</div>
|
||||||
<canvas id="temp-chart" />
|
)}
|
||||||
</div>
|
{server.history?.datasets.temp.some(value => value !== null && value !== 0) && (
|
||||||
|
<div className="h-[200px] relative bg-background">
|
||||||
|
<canvas id="temp-chart" />
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
</div>
|
</div>
|
||||||
</CardContent>
|
</CardContent>
|
||||||
</Card>
|
</Card>
|
||||||
|
|||||||
Reference in New Issue
Block a user