Merge claude/1
This commit is contained in:
commit
d4e5cdca83
@ -76,10 +76,10 @@ class ConfigSidebar {
|
|||||||
var self = this; // Preserve 'this' context
|
var self = this; // Preserve 'this' context
|
||||||
|
|
||||||
categoriesArray.forEach(function(category) {
|
categoriesArray.forEach(function(category) {
|
||||||
// Backup category has its own top-level page (/backup) which renders
|
// The backup config category (engine/schedule/retention) surfaces here in
|
||||||
// these same fields dynamically — hide it from the /config sidebar to
|
// Admin. The operational backup center (/backup, reached from Overview ›
|
||||||
// avoid two surfaces for the same data.
|
// Backups) keeps locations, migrate and snapshots. Both bind the same
|
||||||
if (category.id === 'backup') return;
|
// generated category, so edits stay in sync.
|
||||||
|
|
||||||
const categoryItem = document.createElement('div');
|
const categoryItem = document.createElement('div');
|
||||||
categoryItem.className = 'category';
|
categoryItem.className = 'category';
|
||||||
|
|||||||
@ -489,9 +489,9 @@ class AppsManager {
|
|||||||
chip.style.cursor = 'pointer';
|
chip.style.cursor = 'pointer';
|
||||||
chip.style.display = '';
|
chip.style.display = '';
|
||||||
chip.onclick = () => {
|
chip.onclick = () => {
|
||||||
if (typeof window.navigateToRoute === 'function') window.navigateToRoute('/updater/improvements');
|
if (typeof window.navigateToRoute === 'function') window.navigateToRoute('/overview/improvements');
|
||||||
else if (typeof window.spaClean === 'function') window.spaClean('/updater/improvements');
|
else if (typeof window.spaClean === 'function') window.spaClean('/overview/improvements');
|
||||||
else window.location.href = '/updater/improvements';
|
else window.location.href = '/overview/improvements';
|
||||||
};
|
};
|
||||||
} catch (_) { /* best-effort */ }
|
} catch (_) { /* best-effort */ }
|
||||||
}
|
}
|
||||||
|
|||||||
@ -370,6 +370,16 @@ class LibrePortalSPAClean {
|
|||||||
else { const seg = p.replace(/^\/config\/?/, ''); if (seg) cat = seg; }
|
else { const seg = p.replace(/^\/config\/?/, ''); if (seg) cat = seg; }
|
||||||
return (typeof window.adminPath === 'function') ? window.adminPath(cat) : '/admin';
|
return (typeof window.adminPath === 'function') ? window.adminPath(cat) : '/admin';
|
||||||
}
|
}
|
||||||
|
// The standalone Updater page is now the fleet Overview area. /updater[/tab]
|
||||||
|
// -> /overview[/tab]; security/recovery/history folded into the Updates
|
||||||
|
// expander, so they land on /overview/updates. (/backup is NOT redirected —
|
||||||
|
// it remains the operational backup center, reached from Overview › Backups.)
|
||||||
|
if (p === '/updater' || p.startsWith('/updater/')) {
|
||||||
|
const seg = p.replace(/^\/updater\/?/, '');
|
||||||
|
if (seg === 'updates' || seg === 'improvements') return '/overview/' + seg;
|
||||||
|
if (!seg || seg === 'overview') return '/overview';
|
||||||
|
return '/overview/updates';
|
||||||
|
}
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user