From 7c15ed82a0407bf8bc21942ee84d3908772f2bf3 Mon Sep 17 00:00:00 2001 From: mirivlad Date: Fri, 17 Apr 2026 16:43:25 +0800 Subject: [PATCH] fix: Dashboard route now passes groups to template The / route was using anonymous function that passed $servers but template expected $groups. Now both use the same logic. --- public/index.php | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/public/index.php b/public/index.php index ef57800..1bdd7c9 100755 --- a/public/index.php +++ b/public/index.php @@ -141,10 +141,32 @@ $dashboardGroup = $app->group('', function ($group) use ($twig) { // Get servers with latest metrics $servers = $serverModel->getServersWithStatus(); + // Group servers by group_name + $groups = []; + $noGroupServers = []; + foreach ($servers as $server) { + if (empty($server['group_name'])) { + $noGroupServers[] = $server; + } else { + $groups[$server['group_name']]['name'] = $server['group_name']; + $groups[$server['group_name']]['color'] = $server['group_color'] ?? '#6c757d'; + $groups[$server['group_name']]['icon'] = $server['group_icon'] ?? 'fa-server'; + $groups[$server['group_name']]['servers'][] = $server; + } + } + if (!empty($noGroupServers)) { + $groups['Без группы'] = [ + 'name' => 'Без группы', + 'color' => '#6c757d', + 'icon' => 'fa-server', + 'servers' => $noGroupServers + ]; + } + $templateData = [ 'title' => 'Дашборд мониторинга', 'stats' => $stats, - 'servers' => $servers + 'groups' => $groups ]; return $twig->render($response, 'dashboard.twig', $templateData);