diff --git a/modules/rnetwork/mod.ts b/modules/rnetwork/mod.ts
index 2704a9d..eb00936 100644
--- a/modules/rnetwork/mod.ts
+++ b/modules/rnetwork/mod.ts
@@ -622,8 +622,7 @@ routes.get("/", (c) => {
spaceSlug: space,
modules: getModuleInfoList(),
head: GRAPH3D_HEAD,
- body: `
-`,
+ body: ``,
scripts: ``,
styles: ``,
}));
diff --git a/server/shell.ts b/server/shell.ts
index 69f975e..2599983 100644
--- a/server/shell.ts
+++ b/server/shell.ts
@@ -1362,6 +1362,13 @@ const SUBNAV_CSS = `
border-color: var(--rs-border);
font-weight: 500;
}
+.rapp-nav-pill--external {
+ margin-left: auto;
+ color: var(--rs-text-muted);
+ font-size: 0.75rem;
+ border: 1px dashed var(--rs-border);
+}
+.rapp-nav-pill--external:hover { color: var(--rs-text-primary); border-style: solid; }
`;
/** Build the module sub-nav bar from outputPaths + subPageInfos. */
@@ -1397,6 +1404,7 @@ function renderModuleSubNav(moduleId: string, spaceSlug: string, modules: Module
...items.map(it =>
`${it.icon ? escapeHtml(it.icon) + ' ' : ''}${escapeHtml(it.label)}`
),
+ ...(mod.externalApp ? [`Open ${escapeHtml(mod.externalApp.name)} ↗`] : []),
];
return `