@php $actiongroup = \App\Filament\App\Resources\Servers\Pages\ListServers::getPowerActionGroup()->record($server); $backgroundImage = $server->icon ?? $server->egg->image; $serverEntryColumn = $column ?? \App\Filament\Components\Tables\Columns\ServerEntryColumn::make('server_entry'); $serverNodeStatistics = $server->node->statistics(); $serverNodeSystemInfo = $server->node->systemInformation(); $warningPercent = $serverEntryColumn->getWarningThresholdPercent() ?? 0.7; $dangerPercent = $serverEntryColumn->getDangerThresholdPercent() ?? 0.9; @endphp
@if($backgroundImage)
@endif
!$server->description, ])>

{{ $server->name }} ({{ $server->formatResource(\App\Enums\ServerResourceType::Uptime) }})

@if ($actiongroup->isVisible())
{{ $actiongroup }}
@endif
@if ($server->description)

{{ Str::limit($server->description, 40, preserveWords: true) }}

@endif
@php $cpuCurrent = \App\Enums\ServerResourceType::CPU->getResourceAmount($server); $cpuMax = \App\Enums\ServerResourceType::CPULimit->getResourceAmount($server) === 0 ? (($serverNodeSystemInfo['cpu_count'] ?? 0) * 100) : \App\Enums\ServerResourceType::CPULimit->getResourceAmount($server); $getState = fn() => $cpuCurrent; $getMaxValue = fn() => $cpuMax; $getProgressPercentage = fn() => $cpuMax > 0 ? ($cpuCurrent / $cpuMax) * 100 : 0; $getProgressLabel = fn () => $server->formatResource(\App\Enums\ServerResourceType::CPU, 0) . ' / ' . $server->formatResource(\App\Enums\ServerResourceType::CPULimit, 0); $getProgressStatus = fn() => ($cpuMax > 0 && ($cpuCurrent / $cpuMax) * 100 >= ($dangerPercent * 100)) ? 'danger' : (( $cpuMax > 0 && ($cpuCurrent / $cpuMax) * 100 >= ($warningPercent * 100)) ? 'warning' : 'success'); $getProgressColor = fn() => $serverEntryColumn->getProgressColorForStatus($getProgressStatus()); @endphp @include('livewire.columns.progress-bar-column', [ 'getState' => $getState, 'getMaxValue' => $getMaxValue, 'getProgressPercentage' => $getProgressPercentage, 'getProgressLabel' => $getProgressLabel, 'getProgressStatus' => $getProgressStatus, 'getProgressColor' => $getProgressColor, ])
@php $memCurrent = \App\Enums\ServerResourceType::Memory->getResourceAmount($server); $memMax = \App\Enums\ServerResourceType::MemoryLimit->getResourceAmount($server) === 0 ? $serverNodeStatistics['memory_total'] : \App\Enums\ServerResourceType::MemoryLimit->getResourceAmount($server); $getState = fn() => $memCurrent; $getMaxValue = fn() => $memMax > 0 ? $memMax : null; $getProgressPercentage = fn() => ($memMax > 0) ? ($memCurrent / $memMax) * 100 : 0; $getProgressLabel = fn() => $server->formatResource(\App\Enums\ServerResourceType::Memory) . ' / ' . $server->formatResource(\App\Enums\ServerResourceType::MemoryLimit); $getProgressStatus = fn() => ($memMax > 0 && ($memCurrent / $memMax) * 100 >= ($dangerPercent * 100)) ? 'danger' : (( $memMax > 0 && ($memCurrent / $memMax) * 100 >= ($warningPercent * 100)) ? 'warning' : 'success'); $getProgressColor = fn() => $serverEntryColumn->getProgressColorForStatus($getProgressStatus()); @endphp @include('livewire.columns.progress-bar-column', [ 'getState' => $getState, 'getMaxValue' => $getMaxValue, 'getProgressPercentage' => $getProgressPercentage, 'getProgressLabel' => $getProgressLabel, 'getProgressStatus' => $getProgressStatus, 'getProgressColor' => $getProgressColor, ])
@php $diskCurrent = \App\Enums\ServerResourceType::Disk->getResourceAmount($server); $diskMax = \App\Enums\ServerResourceType::DiskLimit->getResourceAmount($server) === 0 ? $serverNodeStatistics['disk_total'] : \App\Enums\ServerResourceType::DiskLimit->getResourceAmount($server); $getState = fn() => $diskCurrent; $getMaxValue = fn() => $diskMax > 0 ? $diskMax : null; $getProgressPercentage = fn() => ($diskMax > 0) ? ($diskCurrent / $diskMax) * 100 : 0; $getProgressLabel = fn() => $server->formatResource(\App\Enums\ServerResourceType::Disk) . ' / ' . $server->formatResource(\App\Enums\ServerResourceType::DiskLimit); $getProgressStatus = fn() => ($diskMax > 0 && ($diskCurrent / $diskMax) * 100 >= ($dangerPercent * 100)) ? 'danger' : (( $diskMax > 0 && ($diskCurrent / $diskMax) * 100 >= ($warningPercent * 100)) ? 'warning' : 'success'); $getProgressColor = fn() => $serverEntryColumn->getProgressColorForStatus($getProgressStatus()); @endphp @include('livewire.columns.progress-bar-column', [ 'getState' => $getState, 'getMaxValue' => $getMaxValue, 'getProgressPercentage' => $getProgressPercentage, 'getProgressLabel' => $getProgressLabel, 'getProgressStatus' => $getProgressStatus, 'getProgressColor' => $getProgressColor, ])