diff --git a/frontend/src/pages/inbounds/InboundsPage.vue b/frontend/src/pages/inbounds/InboundsPage.vue
index 2f40b7d2..a3858b2a 100644
--- a/frontend/src/pages/inbounds/InboundsPage.vue
+++ b/frontend/src/pages/inbounds/InboundsPage.vue
@@ -61,9 +61,11 @@ useWebSocket({
inbounds: applyInboundsEvent,
});
const { isMobile } = useMediaQuery();
-// Node list lives on the central panel; the Inbounds page consumes
-// the id→node map for the new "Node" column. Fetched once on mount.
const { byId: nodesById, hasActive: hasActiveNode } = useNodeList();
+const hasNodeAttachedInbound = computed(() =>
+ (dbInbounds.value || []).some((ib) => ib?.nodeId != null),
+);
+const showNodeInfo = computed(() => hasNodeAttachedInbound.value || hasActiveNode.value);
const basePath = window.X_UI_BASE_PATH || '';
const requestUri = window.location.pathname;
@@ -460,18 +462,17 @@ function onRowAction({ key, dbInbound }) {
+ :sub-enable="subSettings.enable" :nodes-by-id="nodesById" :has-active-node="showNodeInfo"
+ :stats-version="statsVersion" @refresh="refresh" @add-inbound="onAddInbound"
+ @general-action="onGeneralAction" @row-action="onRowAction" />
-
+