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.
This commit is contained in:
mirivlad 2026-04-17 16:43:25 +08:00
parent d5338b1fc2
commit 7c15ed82a0
1 changed files with 23 additions and 1 deletions

View File

@ -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);