beinahe suizidiert
This commit is contained in:
@@ -1,5 +1,3 @@
|
|||||||
|
|
||||||
|
|
||||||
using System.ComponentModel.DataAnnotations;
|
using System.ComponentModel.DataAnnotations;
|
||||||
using System.ComponentModel.DataAnnotations.Schema;
|
using System.ComponentModel.DataAnnotations.Schema;
|
||||||
|
|
||||||
@@ -28,7 +26,6 @@ public class ServerDetailsViewModel
|
|||||||
public int CpuCores { get; set; } = 0;
|
public int CpuCores { get; set; } = 0;
|
||||||
public string? GpuType { get; set; } = string.Empty;
|
public string? GpuType { get; set; } = string.Empty;
|
||||||
public double RamSize { get; set; } = 0;
|
public double RamSize { get; set; } = 0;
|
||||||
public string? DiskSpace { get; set; } = string.Empty;
|
|
||||||
|
|
||||||
|
|
||||||
// Database
|
// Database
|
||||||
@@ -39,16 +36,4 @@ public class ServerDetailsViewModel
|
|||||||
public DateTime LastSeen { get; set; }
|
public DateTime LastSeen { get; set; }
|
||||||
|
|
||||||
public Boolean IsVerified { get; set; } = false;
|
public Boolean IsVerified { get; set; } = false;
|
||||||
|
|
||||||
// Display Properties for View
|
|
||||||
public string DisplayCpuType => !string.IsNullOrWhiteSpace(CpuType) ? CpuType : "-";
|
|
||||||
public string DisplayCpuCores => CpuCores > 0 ? CpuCores.ToString() : "-";
|
|
||||||
public string DisplayGpuType => !string.IsNullOrWhiteSpace(GpuType) ? GpuType : "-";
|
|
||||||
public string DisplayRamSize => RamSize > 0 ? $"{RamSize} GB" : "-";
|
|
||||||
//public string DisplayDiskSpace => !string.IsNullOrWhiteSpace(DiskSpace) ? DiskSpace : "-";
|
|
||||||
public string DisplayCreatedAt => CreatedAt.ToLocalTime().ToString("dd.MM.yyyy HH:mm");
|
|
||||||
public string DisplayLastSeen => LastSeen.ToLocalTime().ToString("dd.MM.yyyy HH:mm");
|
|
||||||
public string StatusBadgeClass => IsOnline ? "bg-success" : "bg-danger";
|
|
||||||
public string StatusIcon => IsOnline ? "bi-check-circle" : "bi-x-circle";
|
|
||||||
public string StatusText => IsOnline ? "Online" : "Offline";
|
|
||||||
}
|
}
|
@@ -4,13 +4,12 @@
|
|||||||
<div class="row g-4">
|
<div class="row g-4">
|
||||||
@foreach (var s in Model)
|
@foreach (var s in Model)
|
||||||
{
|
{
|
||||||
<div class="col-12 col-sm-6 col-lg-4">
|
<div class="col-12 col-sm-6">
|
||||||
<div class="card h-100 border-secondary shadow-sm">
|
<div class="card h-100 border-secondary shadow-sm">
|
||||||
<div class="card-body d-flex flex-column gap-3">
|
<div class="card-body d-flex flex-column gap-3">
|
||||||
<!-- Header mit Name und Status -->
|
|
||||||
<div class="d-flex justify-content-between align-items-center mb-3">
|
<div class="d-flex justify-content-between align-items-center mb-3">
|
||||||
<h5 class="card-title text-dark mb-0">
|
<h5 class="card-title text-dark mb-0">
|
||||||
<i class="bi bi-server me-2 text-primary"></i>(#@s.Id) @s.Name
|
<i class="bi bi-pc-display me-2 text-muted"></i>(#@s.Id) @s.Name
|
||||||
</h5>
|
</h5>
|
||||||
<span class="badge
|
<span class="badge
|
||||||
@(s.IsOnline ? "bg-success text-light" : "bg-danger text-light")">
|
@(s.IsOnline ? "bg-success text-light" : "bg-danger text-light")">
|
||||||
@@ -19,7 +18,6 @@
|
|||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Server Details -->
|
|
||||||
<div class="row mb-3">
|
<div class="row mb-3">
|
||||||
<div class="col-md-5 text-muted small">
|
<div class="col-md-5 text-muted small">
|
||||||
<div><i class="bi bi-globe me-1"></i><strong>IP:</strong> @s.IPAddress</div>
|
<div><i class="bi bi-globe me-1"></i><strong>IP:</strong> @s.IPAddress</div>
|
||||||
@@ -37,10 +35,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Action Buttons -->
|
<div class="d-flex flex-wrap gap-2">
|
||||||
<div class="d-flex flex-wrap gap-2 mt-auto">
|
|
||||||
<a asp-action="Details" asp-route-id="@s.Id" class="btn btn-sm btn-outline-primary flex-grow-1">
|
<a asp-action="EditServer" asp-route-id="@s.Id" class="btn btn-outline-primary">
|
||||||
<i class="bi bi-info-circle me-1"></i> Details
|
<i class="bi bi-pencil-square me-1"></i> Bearbeiten
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<a asp-asp-controller="Server" asp-action="Details" asp-route-id="@s.Id"
|
<a asp-asp-controller="Server" asp-action="Details" asp-route-id="@s.Id"
|
||||||
@@ -67,19 +65,3 @@
|
|||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<style>
|
|
||||||
.card {
|
|
||||||
transition: transform 0.2s, box-shadow 0.2s;
|
|
||||||
}
|
|
||||||
|
|
||||||
.card:hover {
|
|
||||||
transform: translateY(-2px);
|
|
||||||
box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.badge {
|
|
||||||
font-size: 0.8rem;
|
|
||||||
padding: 0.35em 0.65em;
|
|
||||||
}
|
|
||||||
</style>
|
|
@@ -2,84 +2,42 @@
|
|||||||
<div class="card shadow-sm">
|
<div class="card shadow-sm">
|
||||||
<div class="card-header d-flex justify-content-between align-items-center">
|
<div class="card-header d-flex justify-content-between align-items-center">
|
||||||
<h5 class="mb-0">
|
<h5 class="mb-0">
|
||||||
<i class="bi bi-server me-2 text-primary"></i>Serverdetails: @Model.Name
|
<i class="bi bi-hdd-network me-2 text-primary"></i>Serverdetails: @Model.Name
|
||||||
</h5>
|
</h5>
|
||||||
<span class="badge @Model.StatusBadgeClass">
|
<span class="badge @(Model.IsOnline ? "bg-success" : "bg-danger")">
|
||||||
<i class="bi @Model.StatusIcon me-1"></i>
|
<i class="bi @(Model.IsOnline ? "bi-check-circle" : "bi-x-circle") me-1"></i>
|
||||||
@Model.StatusText
|
@(Model.IsOnline ? "Online" : "Offline")
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<div class="row">
|
<dl class="row mb-0">
|
||||||
<!-- System Information -->
|
<dt class="col-sm-3">ID</dt>
|
||||||
<div class="col-md-6">
|
<dd class="col-sm-9">@Model.Id</dd>
|
||||||
<h6><i class="bi bi-info-circle me-2"></i>Systeminformationen</h6>
|
|
||||||
<dl class="row">
|
|
||||||
<dt class="col-sm-4">ID</dt>
|
|
||||||
<dd class="col-sm-8">@Model.Id</dd>
|
|
||||||
|
|
||||||
<dt class="col-sm-4">IP-Adresse</dt>
|
<dt class="col-sm-3">IP-Adresse</dt>
|
||||||
<dd class="col-sm-8">@Model.IPAddress</dd>
|
<dd class="col-sm-9">@Model.IPAddress</dd>
|
||||||
|
|
||||||
<dt class="col-sm-4">Typ</dt>
|
<dt class="col-sm-3">Typ</dt>
|
||||||
<dd class="col-sm-8">@Model.Type</dd>
|
<dd class="col-sm-9">@Model.Type</dd>
|
||||||
|
|
||||||
<dt class="col-sm-4">Erstellt am</dt>
|
<dt class="col-sm-3">Erstellt am</dt>
|
||||||
<dd class="col-sm-8">@Model.DisplayCreatedAt</dd>
|
<dd class="col-sm-9">@Model.CreatedAt.ToLocalTime().ToString("dd.MM.yyyy HH:mm")</dd>
|
||||||
|
|
||||||
<dt class="col-sm-4">Zuletzt online</dt>
|
<dt class="col-sm-3">Zuletzt gesehen</dt>
|
||||||
<dd class="col-sm-8">@Model.DisplayLastSeen</dd>
|
<dd class="col-sm-9">@Model.LastSeen.ToLocalTime().ToString("dd.MM.yyyy HH:mm")</dd>
|
||||||
</dl>
|
</dl>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="card-footer text-end">
|
||||||
<!-- Hardware Information -->
|
|
||||||
<div class="col-md-6">
|
|
||||||
<h6><i class="bi bi-cpu me-2"></i>Hardwareinformationen</h6>
|
|
||||||
<dl class="row">
|
|
||||||
<dt class="col-sm-4">CPU-Typ</dt>
|
|
||||||
<dd class="col-sm-8">@Model.DisplayCpuType</dd>
|
|
||||||
|
|
||||||
<dt class="col-sm-4">CPU-Kerne</dt>
|
|
||||||
<dd class="col-sm-8">@Model.DisplayCpuCores</dd>
|
|
||||||
|
|
||||||
<dt class="col-sm-4">GPU-Typ</dt>
|
|
||||||
<dd class="col-sm-8">@Model.DisplayGpuType</dd>
|
|
||||||
|
|
||||||
<dt class="col-sm-4">RAM</dt>
|
|
||||||
<dd class="col-sm-8">@Model.DisplayRamSize</dd>
|
|
||||||
|
|
||||||
<dt class="col-sm-4">Festplatte</dt>
|
|
||||||
<dd class="col-sm-8">@Model.DisplayDiskSpace</dd>
|
|
||||||
</dl>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Description -->
|
|
||||||
@if (!string.IsNullOrEmpty(Model.Description))
|
|
||||||
{
|
|
||||||
<div class="mt-4">
|
|
||||||
<h6><i class="bi bi-card-text me-2"></i>Beschreibung</h6>
|
|
||||||
<div class="alert alert-light">
|
|
||||||
@Model.Description
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<!-- Card Footer with Actions -->
|
|
||||||
<div class="card-footer d-flex flex-wrap gap-2">
|
|
||||||
<a href="/Download/File/Linux/heartbeat" class="btn btn-success">
|
<a href="/Download/File/Linux/heartbeat" class="btn btn-success">
|
||||||
🖥️ Linux Agent
|
🖥️ Linux Agent
|
||||||
</a>
|
</a>
|
||||||
|
<a asp-action="EditServer" asp-route-id="@Model.Id" class="btn btn-outline-primary me-2">
|
||||||
<a asp-action="EditServer" asp-route-id="@Model.Id" class="btn btn-outline-primary">
|
<i class="bi bi-pencil"></i> Bearbeiten
|
||||||
<i class="bi bi-pencil me-1"></i> Bearbeiten
|
|
||||||
</a>
|
</a>
|
||||||
<form asp-action="Delete" asp-route-id="@Model.Id" method="post" class="d-inline"
|
<form asp-action="Delete" asp-route-id="@Model.Id" method="post" class="d-inline"
|
||||||
onsubmit="return confirm('Diesen Server wirklich löschen?');">
|
onsubmit="return confirm('Diesen Server wirklich löschen?');">
|
||||||
<button type="submit" class="btn btn-outline-danger">
|
<button type="submit" class="btn btn-outline-danger">
|
||||||
<i class="bi bi-trash me-1"></i> Löschen
|
<i class="bi bi-trash"></i> Löschen
|
||||||
</button>
|
</button>
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
@@ -106,9 +64,4 @@
|
|||||||
<canvas id="uptimeChart"></canvas>
|
<canvas id="uptimeChart"></canvas>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<h6><i class="bi bi-graph-up me-1"></i>RAM Last</h6>
|
|
||||||
<div class="bg-light border rounded p-4 text-center text-muted" style="height: 250px;">
|
|
||||||
<canvas id="uptimeChart"></canvas>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
@@ -7,8 +7,7 @@
|
|||||||
<h1 class="h2 fw-bold mb-0">
|
<h1 class="h2 fw-bold mb-0">
|
||||||
<i class="bi bi-hdd-network me-2 text-primary"></i>Serverübersicht
|
<i class="bi bi-hdd-network me-2 text-primary"></i>Serverübersicht
|
||||||
</h1>
|
</h1>
|
||||||
<a asp-controller="Server" asp-action="AddServer"
|
<a asp-controller="Server" asp-action="AddServer" class="btn btn-primary d-flex align-items-center gap-1">
|
||||||
class="btn btn-primary d-flex align-items-center gap-1">
|
|
||||||
<i class="bi bi-plus-circle"></i> Server hinzufügen
|
<i class="bi bi-plus-circle"></i> Server hinzufügen
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
|
Reference in New Issue
Block a user