web: unify Agent management and add a draggable link board
Replace Probe pages with directed Agent links, shared deployment controls and unified display data. Add node dragging, canvas pan and zoom, saved layouts, and per-direction link controls.
This commit is contained in:
1 parent
016dbc2bbf
commit
15f0023614
32 files changed
+937
-1093
No files matched your search
@@ -30,7 +30,7 @@ function AddAgentDialog({ onClose, onCreated }: { onClose: () => void; onCreated
|
||||
const [created, setCreated] = useState<CreatedJoinTokenDto>()
|
||||
const [controllers, setControllers] = useState<string[] | null>(null)
|
||||
|
||||
if (created) return <JoinTokenCreated created={created} kind="Agent" onClose={onClose} />
|
||||
if (created) return <JoinTokenCreated created={created} onClose={onClose} />
|
||||
|
||||
return (
|
||||
<Dialog
|
||||
@@ -151,7 +151,7 @@ export function Agents() {
|
||||
<th>名称</th>
|
||||
<th>地址</th>
|
||||
<th>版本</th>
|
||||
<th>连着的 Probe</th>
|
||||
<th>连接(拨出 / 接入)</th>
|
||||
<th>最后在线</th>
|
||||
<th>标签</th>
|
||||
</tr>
|
||||
@@ -171,7 +171,7 @@ export function Agents() {
|
||||
<td className="mono muted">{a.public_host || '—'}</td>
|
||||
<td className="muted">{a.agent_version ?? '—'}</td>
|
||||
<td>
|
||||
<Chip tone={a.probes.length > 0 ? 'ok' : ''}>{a.probes.length} 个</Chip>
|
||||
<Chip tone={a.outgoing.length + a.dialers.length > 0 ? 'ok' : ''}>{a.outgoing.length} / {a.dialers.length}</Chip>
|
||||
</td>
|
||||
<td className="muted">{fmtAgo(a.last_seen_at)}</td>
|
||||
<td>
|
||||
|
||||
Reference in new issue
Block a user