feat(topology): add device description support and polish UI layouts

- Topology: query /api/node-info on node select and display multi-line description
- Topology: widen device node cards and remove SID truncation for full display
- Topology: tune d3-force layout parameters (increased distance & repulsion)
- Topology: fix d3-force string ID matching error ("node not found: 0")
- Settings: switch device description field from Input to multi-line Textarea
- Overview: fix active lines count logic and broken badge layout
- Sidebar: remove redundant Live badge from overview navigation item
This commit is contained in:
2026-08-26 21:27:44 +08:00
parent f38d640ac4
commit ad94d2c274
8 changed files with 103 additions and 27 deletions
+5 -3
View File
@@ -21,6 +21,7 @@ import {
} from '@/components/ui/card'
import { Button } from '@/components/ui/button'
import { Input } from '@/components/ui/input'
import { Textarea } from '@/components/ui/textarea'
import { Switch } from '@/components/ui/switch'
import { Slider } from '@/components/ui/slider'
import { Alert, AlertDescription, AlertTitle } from '@/components/ui/alert'
@@ -411,15 +412,16 @@ function SettingsForm({
<Field className="md:col-span-2">
<FieldLabel htmlFor="deviceDescription"></FieldLabel>
<Input
<Textarea
id="deviceDescription"
placeholder="如: 机房 A 区多线聚合网关"
placeholder={'如: 机房 A 区多线聚合网关\n支持多行输入'}
className="min-h-20"
value={form.DeviceDescription || ''}
onChange={(e) =>
setForm((prev) => ({ ...prev, DeviceDescription: e.target.value }))
}
/>
<FieldDescription></FieldDescription>
<FieldDescription></FieldDescription>
</Field>
</FieldGroup>
</CardContent>