feat: implement consistent restart UX across Sovran_SystemsOS Hub

- Add Restart Entire System sidebar action with amber treatment and divider
- Add shared restart confirmation dialog with conflict detection
- Update reboot overlay: new title, body copy, status progression, error card
- Improve doReboot(): failure handling, aria-live status messages
- Standardize 'restart required' / 'Restart Entire System' terminology
- Update security.js reboot flow to use shared doReboot()
- Update installer.py button label
- Add .btn-restart-amber, .restart-conflict-box, .sidebar-restart-btn CSS
This commit is contained in:
copilot-swe-agent[bot]
2026-07-15 16:50:01 +00:00
committed by GitHub
parent b28d6dd32c
commit c3950547b0
10 changed files with 223 additions and 26 deletions
@@ -133,6 +133,23 @@ function renderSidebarSupport(supportServices) {
var hr = document.createElement("hr");
hr.className = "sidebar-divider";
$sidebarSupport.appendChild(hr);
// ── Restart Entire System button (bottom, visually separated)
var restartDivider = document.createElement("hr");
restartDivider.className = "sidebar-divider";
$sidebarSupport.appendChild(restartDivider);
var restartBtn = document.createElement("button");
restartBtn.className = "sidebar-support-btn sidebar-restart-btn";
restartBtn.id = "sidebar-btn-restart";
restartBtn.innerHTML =
'<span class="sidebar-support-icon sidebar-restart-icon" aria-hidden="true">\u21BB</span>' +
'<span class="sidebar-support-text">' +
'<span class="sidebar-support-title">Restart Entire System</span>' +
'<span class="sidebar-support-hint sidebar-restart-hint">Restarts the computer, desktop, and all services</span>' +
'</span>';
restartBtn.addEventListener("click", function() { openRestartConfirmDialog(); });
$sidebarSupport.appendChild(restartBtn);
}
function buildTile(svc) {