Improved Nodes Card

This commit is contained in:
Moritz Deiaco
2024-05-29 20:55:23 +02:00
parent f3a5a8de25
commit 09dffe020d

View File

@@ -9,24 +9,27 @@
<div class="card"> <div class="card">
<div class="card-body"> <div class="card-body">
<h4 class="card-title mb-4 d-flex align-items-center gap-3"> <h4 class="card-title mb-4 d-flex align-items-center gap-3">
<i class="bx bx-md bx-cube text-primary"></i> <i class="bx bx-md bx-microchip text-primary"></i>
<span>Nodes Overview</span> <span>Nodes Overview</span>
</h4> </h4>
<div class="row mx-2"> <div class="row mx-2">
<LazyLoader Load="Load">
@if (Nodes.Any()) @if (Nodes.Any())
{ {
foreach (var node in Nodes) foreach (var node in Nodes)
{ {
<div class="col-12 col-md-6 col-3"> <div class="col-12 col-md-6 col-3">
<a href="/admin/servers/nodes/view/@node.Item1.Id">
<div class="row"> <div class="row">
<span class="col-auto d-flex align-items-center"> <span class="col-auto d-flex align-items-center">
<span class="badge text-bg-@(node.Item2 == null ? "danger" : "success") text-capitalize">@(node.Item2 == null ? "offline" : "online")</span> <span class="badge text-bg-@(node.Item2 == null ? "danger" : "success") text-capitalize">@(node.Item2 == null ? "offline" : "online")</span>
</span> </span>
<div class="col"> <div class="col">
<span class="fs-5 fw-bold d-block">@node.Item1.Name</span> <span class="fs-5 fw-bold d-block text-white">@node.Item1.Name</span>
<span class="text-muted text-lowercase fs-6 d-block">@node.Item1.Fqdn</span> <span class="text-muted text-lowercase fs-6 d-block">@node.Item1.Fqdn</span>
</div> </div>
</div> </div>
</a>
</div> </div>
} }
} }
@@ -34,6 +37,7 @@
{ {
<span class="text-muted fs-4">You dont have any nodes.</span> <span class="text-muted fs-4">You dont have any nodes.</span>
} }
</LazyLoader>
</div> </div>
</div> </div>
</div> </div>
@@ -42,17 +46,19 @@
private List<Tuple<ServerNode, SystemStatus?>> Nodes = new(); private List<Tuple<ServerNode, SystemStatus?>> Nodes = new();
protected override async Task OnInitializedAsync() private async Task Load(LazyLoader arg)
{ {
foreach (var node in NodeRepository.Get().ToList()) foreach (var node in NodeRepository.Get().ToList())
{ {
SystemStatus? nodeStatus = null; SystemStatus? nodeStatus = null;
await arg.SetText("Fetching Nodes...");
try try
{ {
nodeStatus = await NodeService.GetStatus(node); nodeStatus = await NodeService.GetStatus(node);
} }
catch (Exception e) catch
{ {
// Ignored // Ignored
} }