Files
2025-11-30 11:57:22 +01:00

53 lines
1.2 KiB
PHP

<?php
namespace Paymenter\Extensions\Others\UptimeLab\Livewire\Uptime;
use Livewire\Component;
use Paymenter\Extensions\Others\UptimeLab\Models\UptimeServer;
use Paymenter\Extensions\Others\UptimeLab\Services\UptimeMonitoringService;
class Index extends Component
{
public $servers = [];
public $isRefreshing = false;
public function mount()
{
$this->loadServers();
}
public function loadServers()
{
$this->servers = UptimeServer::where('is_active', true)
->orderBy('name')
->get();
}
public function refreshStatus()
{
$this->isRefreshing = true;
try {
$monitoringService = new UptimeMonitoringService();
$monitoringService->checkAllServers();
$this->loadServers();
$this->dispatch('status-refreshed');
} catch (\Exception $e) {
// Handle error
} finally {
$this->isRefreshing = false;
}
}
public function render()
{
return view('uptime-lab::index', [
'servers' => $this->servers,
])->layoutData([
'sidebar' => true,
]);
}
}