diff --git a/frontend-modern/src/App.tsx b/frontend-modern/src/App.tsx index 61f0772..a9329a9 100644 --- a/frontend-modern/src/App.tsx +++ b/frontend-modern/src/App.tsx @@ -874,7 +874,7 @@ function AppLayout(props: { id: 'hosts' as const, label: 'Hosts', route: '/hosts', - settingsRoute: '/settings', + settingsRoute: '/settings/host-agents', tooltip: 'Monitor hosts with the host agent', enabled: hasHosts() || !!seenPlatforms()['hosts'], live: hasHosts(), diff --git a/frontend-modern/src/components/Dashboard/Dashboard.tsx b/frontend-modern/src/components/Dashboard/Dashboard.tsx index 4b50458..02630f8 100644 --- a/frontend-modern/src/components/Dashboard/Dashboard.tsx +++ b/frontend-modern/src/components/Dashboard/Dashboard.tsx @@ -926,13 +926,13 @@ export function Dashboard(props: DashboardProps) { Type {sortKey() === 'type' && (sortDirection() === 'asc' ? '▲' : '▼')} handleSort('vmid')} > VMID {sortKey() === 'vmid' && (sortDirection() === 'asc' ? '▲' : '▼')} handleSort('uptime')} > Uptime {sortKey() === 'uptime' && (sortDirection() === 'asc' ? '▲' : '▼')} diff --git a/frontend-modern/src/components/Dashboard/GuestRow.tsx b/frontend-modern/src/components/Dashboard/GuestRow.tsx index b4202c6..13e1699 100644 --- a/frontend-modern/src/components/Dashboard/GuestRow.tsx +++ b/frontend-modern/src/components/Dashboard/GuestRow.tsx @@ -560,13 +560,13 @@ export function GuestRow(props: GuestRowProps) { {/* VMID */} - + {props.guest.vmid} {/* Uptime */} diff --git a/frontend-modern/src/components/Docker/DockerUnifiedTable.tsx b/frontend-modern/src/components/Docker/DockerUnifiedTable.tsx index 9591c03..cf66362 100644 --- a/frontend-modern/src/components/Docker/DockerUnifiedTable.tsx +++ b/frontend-modern/src/components/Docker/DockerUnifiedTable.tsx @@ -32,7 +32,7 @@ const typeBadgeClass = (type: 'container' | 'service' | 'task' | 'unknown') => { case 'container': return 'bg-blue-100 text-blue-700 dark:bg-blue-900/40 dark:text-blue-200'; case 'service': - return 'bg-purple-100 text-purple-700 dark:bg-purple-900/40 dark:text-purple-200'; + return 'bg-purple-50 text-purple-700 dark:bg-purple-900/30 dark:text-purple-200'; case 'task': return 'bg-slate-200 text-slate-600 dark:bg-slate-700 dark:text-slate-200'; default: @@ -286,17 +286,6 @@ const statusDotClass = (state: string) => { } }; -const hostStatusBadge = (host: DockerHost) => { - const status = toLower(host.status); - if (status === 'online') { - return 'bg-green-100 text-green-700 dark:bg-green-900/40 dark:text-green-300'; - } - if (OFFLINE_HOST_STATUSES.has(status)) { - return 'bg-red-100 text-red-700 dark:bg-red-900/40 dark:text-red-300'; - } - return 'bg-amber-100 text-amber-700 dark:bg-amber-900/40 dark:text-amber-300'; -}; - const serviceHealthBadge = (service: DockerService) => { const desired = service.desiredTasks ?? 0; const running = service.runningTasks ?? 0; @@ -341,24 +330,6 @@ const DockerHostGroupHeader: Component<{ host: DockerHost; colspan: number }> = ({props.host.hostname}) - - {status ? status.charAt(0).toUpperCase() + status.slice(1) : 'Unknown'} - - - - Docker {props.host.dockerVersion} - - - - - Uptime {formatUptime(uptime!)} - - - - - Last seen {formatRelativeTime(lastSeen!)} - - @@ -425,6 +396,12 @@ const DockerContainerRow: Component<{ row: Extract { + const primary = container.name || container.id || 'Container'; + const identifier = container.id && container.name && container.id !== container.name ? container.id : ''; + return identifier ? `${primary} \u2014 ${identifier}` : primary; + }; + return ( <> - -
+ +