Skip to content

Commit 366b4ec

Browse files
committed
fix: show only connected nodes in logs
1 parent d44826a commit 366b4ec

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

dashboard/src/pages/_dashboard.nodes.logs.tsx

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { Download as DownloadIcon, Loader2, Pause, Play } from 'lucide-react'
2-
import React, { useEffect, useRef, useState } from 'react'
2+
import React, { useEffect, useMemo, useRef, useState } from 'react'
33
import { useTranslation } from 'react-i18next'
44
import { Card, CardContent } from '@/components/ui/card'
55
import { useGetNodes } from '@/service/api'
@@ -59,12 +59,19 @@ export default function NodeLogs() {
5959

6060
const { data: nodes = [] } = useGetNodes({})
6161

62-
// Auto-select first node if available and none is selected
62+
// Filter to only show connected nodes
63+
const connectedNodes = useMemo(() => nodes.filter(node => node.status === 'connected'), [nodes])
64+
65+
// Auto-select first connected node if available and none is selected
6366
useEffect(() => {
64-
if (nodes.length > 0 && selectedNode === 0) {
65-
setSelectedNode(nodes[0].id)
67+
if (connectedNodes.length > 0 && selectedNode === 0) {
68+
setSelectedNode(connectedNodes[0].id)
69+
}
70+
// Reset selection if selected node is no longer connected
71+
if (selectedNode !== 0 && !connectedNodes.find(node => node.id === selectedNode)) {
72+
setSelectedNode(0)
6673
}
67-
}, [nodes, selectedNode])
74+
}, [connectedNodes, selectedNode])
6875

6976
const scrollToBottom = () => {
7077
if (autoScroll && scrollRef.current) {
@@ -293,12 +300,12 @@ export default function NodeLogs() {
293300
<Label htmlFor="node-select" className="mb-1 block text-sm">
294301
{t('nodes.title')}
295302
</Label>
296-
<Select value={selectedNode.toString()} onValueChange={value => handleNodeChange(Number(value))}>
297-
<SelectTrigger id="node-select" className="h-9 w-full text-sm sm:w-[250px]">
298-
<SelectValue placeholder={t('nodes.selectNode')} />
303+
<Select value={selectedNode.toString()} onValueChange={value => handleNodeChange(Number(value))} disabled={connectedNodes.length === 0}>
304+
<SelectTrigger id="node-select" className="h-9 w-full text-sm sm:w-[250px]" disabled={connectedNodes.length === 0}>
305+
<SelectValue placeholder={connectedNodes.length === 0 ? t('nodes.noNodes') : t('nodes.selectNode')} />
299306
</SelectTrigger>
300307
<SelectContent>
301-
{nodes.map(node => (
308+
{connectedNodes.map(node => (
302309
<SelectItem key={node.id} value={node.id.toString()} className="text-sm">
303310
{node.name}
304311
</SelectItem>

0 commit comments

Comments
 (0)