refactor(ui): repoint internal links from /app/nodes to /app/cluster

Signed-off-by: Ettore Di Giacinto <mudler@localai.io>
This commit is contained in:
Ettore Di Giacinto
2026-06-01 23:17:43 +00:00
committed by localai-org-maint-bot
parent cc2bc8dd18
commit 60bee92a2c
4 changed files with 7 additions and 7 deletions

View File

@@ -462,7 +462,7 @@ export default function NodeInstallPicker({
Approve pending workers or register new ones.
{pendingCount > 0 && ` (${pendingCount} awaiting approval.)`}
</p>
<a className="btn btn-secondary btn-sm" href="/app/nodes">
<a className="btn btn-secondary btn-sm" href="/app/cluster">
<i className="fas fa-network-wired" /> Manage nodes
</a>
</div>
@@ -651,7 +651,7 @@ export default function NodeInstallPicker({
{pendingCount > 0 && (
<p className="text-meta mt-0 mb-sm">
+{pendingCount} awaiting approval <a href="/app/nodes" className="text-primary">approve from Nodes</a>.
+{pendingCount} awaiting approval <a href="/app/cluster" className="text-primary">approve from Nodes</a>.
</p>
)}

View File

@@ -335,7 +335,7 @@ function DistributedBackendLogsResolver({ modelId, fromTimestamp }) {
<h2 className="empty-state-title">Model not loaded on any worker</h2>
<p className="empty-state-text">
<span className="text-mono">{modelId}</span> isn't currently loaded on any node in the cluster.
Check the <Link to="/app/nodes" className="text-primary">Nodes page</Link> to see which models are running where.
Check the <Link to="/app/cluster" className="text-primary">Nodes page</Link> to see which models are running where.
</p>
</div>
</div>

View File

@@ -60,7 +60,7 @@ export default function Backends() {
// Anchor for the split-button chevron. One pane, so one anchor.
const splitMenuAnchorRef = useRef(null)
// Target-node mode: set when navigated from /app/nodes via "+ Add backend".
// Target-node mode: set when navigated from /app/cluster via "+ Add backend".
// The gallery page header banners the scope; rows collapse their split-button
// to a single Install-on-this-node action; manual install posts to the
// per-node endpoint.
@@ -351,7 +351,7 @@ export default function Backends() {
return (
<div className="page page--wide page--app">
{/* Target-node banner: when this gallery is scoped to one node via
?target=<id> (entered from /app/nodes), show the scope clearly and
?target=<id> (entered from /app/cluster), show the scope clearly and
give a fast way to clear it. Visually a primary-tinted strip so the
user knows they're in a special mode without it feeling alarming. */}
{targetNode && (

View File

@@ -163,7 +163,7 @@ export default function NodeBackendLogs() {
<h2 className="empty-state-title">No node/model selected</h2>
<p className="empty-state-text">
View backend logs from the{' '}
<Link to="/app/nodes" className="text-primary">Nodes page</Link>.
<Link to="/app/cluster" className="text-primary">Nodes page</Link>.
</p>
</div>
</div>
@@ -221,7 +221,7 @@ export default function NodeBackendLogs() {
supporting={
<>
Backend logs from node <strong>{nodeName || nodeId}</strong>
{' '}<Link to="/app/nodes" style={{ color: 'var(--color-primary)', fontSize: '0.8125rem' }}>(back to nodes)</Link>
{' '}<Link to="/app/cluster" style={{ color: 'var(--color-primary)', fontSize: '0.8125rem' }}>(back to nodes)</Link>
</>
}
/>