diff --git a/extensions/Servers/Proxmox/Livewire/Server.php b/extensions/Servers/Proxmox/Livewire/Server.php index c82a6b4c2..6a0f0876f 100644 --- a/extensions/Servers/Proxmox/Livewire/Server.php +++ b/extensions/Servers/Proxmox/Livewire/Server.php @@ -3,6 +3,7 @@ namespace Paymenter\Extensions\Servers\Proxmox\Livewire; use Paymenter\Extensions\Servers\Proxmox\Models\Server as ServerModel; +use Carbon\Carbon; class Server extends Component { @@ -11,6 +12,34 @@ class Server extends Component parent::mount($server); } + public function getMonthlyTrafficProperty() + { + $startOfMonth = Carbon::now()->startOfMonth(); + + // Get the earliest and latest statistics for this month + $firstStat = $this->server->statistics() + ->where('DateTime', '>=', $startOfMonth) + ->orderBy('DateTime', 'asc') + ->first(); + + $latestStat = $this->server->statistics() + ->where('DateTime', '>=', $startOfMonth) + ->orderBy('DateTime', 'desc') + ->first(); + + if (!$firstStat || !$latestStat) { + return 0; + } + + // Calculate total traffic (in + out) for the month + $netinDiff = max(0, $latestStat->netin - $firstStat->netin); + $netoutDiff = max(0, $latestStat->netout - $firstStat->netout); + $totalBytes = $netinDiff + $netoutDiff; + + // Convert to GiB + return round($totalBytes / (1024 * 1024 * 1024), 2); + } + public function render() { return view('proxmox::server'); diff --git a/extensions/Servers/Proxmox/views/server.blade.php b/extensions/Servers/Proxmox/views/server.blade.php index d4a6f209d..ff5b86f7c 100644 --- a/extensions/Servers/Proxmox/views/server.blade.php +++ b/extensions/Servers/Proxmox/views/server.blade.php @@ -9,18 +9,28 @@ {{ $status->name }} -
- @if($status->status == 'running') - - @elseif($status->status == 'stopped') - - @else - - @endif +
+
+ @if($status->status == 'running') + + @elseif($status->status == 'stopped') + + @else + + @endif +
+ + @if($status->status == 'running') + Running + @elseif($status->status == 'stopped') + Stopped + @else + {{ ucfirst($status->status) }} + @endif +
@@ -109,7 +119,8 @@ Bandwidth - + {{ $this->monthlyTraffic }} GiB this month + Connection reduced to 1 MiB/s if account's data usage exceeds network's 95% threshold. diff --git a/themes/lucentui/views/home.blade.php b/themes/lucentui/views/home.blade.php index 7dedb6c08..7b6523bdd 100644 --- a/themes/lucentui/views/home.blade.php +++ b/themes/lucentui/views/home.blade.php @@ -1,3 +1,4 @@ +