feat(dashboard)!: add routing table and split endpoint settings

- Add #/routing-table with one-second polling and route filters
- Separate auto-connect targets from local external endpoints
- Remove the obsolete interfaces navigation module

BREAKING CHANGE: #/interfaces is removed.
This commit is contained in:
2026-08-27 23:19:39 +08:00
parent ad94d2c274
commit 89474b9e91
7 changed files with 450 additions and 162 deletions
+2 -12
View File
@@ -3,7 +3,6 @@ import {
Network,
GitFork,
Share2,
Cpu,
Settings,
Activity,
Layers,
@@ -24,12 +23,11 @@ import {
} from '@/components/ui/sidebar'
import { Badge } from '@/components/ui/badge'
export type NavTab = 'overview' | 'connections' | 'routes' | 'topology' | 'interfaces' | 'settings'
export type NavTab = 'overview' | 'connections' | 'routing-table' | 'topology' | 'settings'
interface AppSidebarProps {
currentTab: NavTab
onSelectTab: (tab: NavTab) => void
onlineDevices?: number
linksCount?: number
establishedLinksCount?: number
isConnected?: boolean
@@ -38,7 +36,6 @@ interface AppSidebarProps {
export function AppSidebar({
currentTab,
onSelectTab,
onlineDevices = 0,
linksCount = 0,
establishedLinksCount = 0,
isConnected = false,
@@ -56,7 +53,7 @@ export function AppSidebar({
badge: linksCount > 0 ? `${establishedLinksCount}/${linksCount}` : undefined,
},
{
id: 'routes' as NavTab,
id: 'routing-table' as NavTab,
title: 'SRv6 路由表',
icon: GitFork,
},
@@ -64,12 +61,6 @@ export function AppSidebar({
id: 'topology' as NavTab,
title: '网络拓扑',
icon: Share2,
badge: onlineDevices > 0 ? `${onlineDevices}` : undefined,
},
{
id: 'interfaces' as NavTab,
title: '网卡接口',
icon: Cpu,
},
{
id: 'settings' as NavTab,
@@ -160,4 +151,3 @@ export function AppSidebar({
</Sidebar>
)
}