netx/web/src/config/networkNav.ts
oliver 0eead0e662 Add industrial config sync separate from collection tasks.
Periodic vendor-aware CLI sync stores zlib snapshots in Postgres with dashboard, retry, and config viewer under Network Management.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-31 10:25:36 +08:00

57 lines
1.6 KiB
TypeScript

/**
* Left-nav tree for the Network Management module.
* Add leaf items here when extending (devices / topology / alarms / tasks).
*/
export type NetworkNavGroupId = "detail" | "tasks";
export type NetworkNavItem = {
id: string;
path: string;
labelKey: string;
group: NetworkNavGroupId;
};
export type NetworkNavGroup = {
id: NetworkNavGroupId;
labelKey: string;
items: NetworkNavItem[];
};
export const NETWORK_NAV: readonly NetworkNavGroup[] = [
{
id: "detail",
labelKey: "network.nav.detail",
items: [
{ id: "devices", path: "/network/devices", labelKey: "network.nav.devices", group: "detail" },
{ id: "topology", path: "/network/topology", labelKey: "network.nav.topology", group: "detail" },
{ id: "alarms", path: "/network/alarms", labelKey: "network.nav.alarms", group: "detail" },
{ id: "configs", path: "/network/configs", labelKey: "network.nav.configs", group: "detail" },
{ id: "webcrt", path: "/network/webcrt", labelKey: "network.nav.webcrt", group: "detail" },
],
},
{
id: "tasks",
labelKey: "network.nav.tasks",
items: [
{
id: "collect",
path: "/network/tasks/collect",
labelKey: "network.nav.collectTasks",
group: "tasks",
},
{
id: "config-sync",
path: "/network/tasks/config-sync",
labelKey: "network.nav.configSync",
group: "tasks",
},
{
id: "port-traffic",
path: "/network/tasks/port-traffic",
labelKey: "network.nav.portTraffic",
group: "tasks",
},
],
},
] as const;