{{-- Server Status Indicator Component - AdminLTE style Usage: --}} @props([ 'status', 'showLabel' => true, 'size' => 'md', 'minimal' => false, ]) @php $statusConfig = [ 'running' => [ 'color' => 'success', 'label' => 'Running', 'pulse' => true, ], 'stopped' => [ 'color' => 'muted', 'label' => 'Stopped', 'pulse' => false, ], 'paused' => [ 'color' => 'warning', 'label' => 'Paused', 'pulse' => false, ], 'suspended' => [ 'color' => 'warning', 'label' => 'Suspended', 'pulse' => false, ], 'migrating' => [ 'color' => 'info', 'label' => 'Migrating', 'pulse' => true, ], 'starting' => [ 'color' => 'info', 'label' => 'Starting', 'pulse' => true, ], 'stopping' => [ 'color' => 'warning', 'label' => 'Stopping', 'pulse' => true, ], 'unknown' => [ 'color' => 'danger', 'label' => 'Unknown', 'pulse' => false, ], ]; $config = $statusConfig[strtolower($status)] ?? $statusConfig['unknown']; $colorStyles = [ 'success' => 'color: var(--lte-success, #198754);', 'warning' => 'color: #997404;', 'danger' => 'color: var(--lte-danger, #dc3545);', 'info' => 'color: var(--lte-info, #0dcaf0);', 'muted' => 'color: var(--lte-secondary, #6c757d);', ]; $bgStyles = [ 'success' => 'background-color: rgba(25, 135, 84, 0.1);', 'warning' => 'background-color: rgba(255, 193, 7, 0.15);', 'danger' => 'background-color: rgba(220, 53, 69, 0.1);', 'info' => 'background-color: rgba(13, 202, 240, 0.1);', 'muted' => 'background-color: #f8f9fa;', ]; $dotStyles = [ 'success' => 'background-color: var(--lte-success, #198754);', 'warning' => 'background-color: var(--lte-warning, #ffc107);', 'danger' => 'background-color: var(--lte-danger, #dc3545);', 'info' => 'background-color: var(--lte-info, #0dcaf0);', 'muted' => 'background-color: #adb5bd;', ]; $sizeStyles = [ 'sm' => 'font-size: 0.75rem; padding: 0.25rem 0.5rem;', 'md' => 'font-size: 0.8125rem; padding: 0.375rem 0.625rem;', 'lg' => 'font-size: 0.875rem; padding: 0.5rem 0.75rem;', ]; $dotSizeStyles = [ 'sm' => 'width: 0.375rem; height: 0.375rem;', 'md' => 'width: 0.5rem; height: 0.5rem;', 'lg' => 'width: 0.625rem; height: 0.625rem;', ]; @endphp @if($minimal) {{-- Minimal dot-only variant --}}
@if($config['pulse']) @endif @if($showLabel) {{ $config['label'] }} @endif
@else {{-- Full badge variant --}}
@if($config['pulse']) @endif @if($showLabel) {{ $config['label'] }} @endif
@endif