4 Commits
7 changed files with 1031 additions and 142 deletions
+997 -110
View File
File diff suppressed because it is too large Load Diff
@@ -91,3 +91,30 @@
border-color: var(--accent-color);
color: var(--accent-color);
}
/* ── Header reboot button ───────────────────────────────────────── */
.btn-header-reboot {
background: transparent;
border: 1px solid rgba(184, 125, 0, 0.35);
color: #c98d08;
font-size: 0.78rem;
font-weight: 600;
padding: 4px 12px;
border-radius: var(--radius-btn);
cursor: pointer;
transition: border-color 0.15s, color 0.15s, background-color 0.15s;
}
.btn-header-reboot:hover {
border-color: #b87d00;
color: #e0a010;
background-color: rgba(184, 125, 0, 0.1);
}
@media (max-width: 480px) {
.btn-header-reboot {
padding: 4px 8px;
font-size: 0.72rem;
}
}
@@ -84,21 +84,6 @@
margin: 16px 0;
}
/* ── Sidebar restart button (amber/muted treatment) ─────────────── */
.sidebar-restart-btn {
border-color: rgba(184, 125, 0, 0.25);
}
.sidebar-restart-btn:hover {
border-color: #b87d00;
background-color: rgba(184, 125, 0, 0.08);
}
.sidebar-restart-btn .sidebar-restart-hint {
color: #c98d08;
}
/* ── Upgrade modal ──────────────────────────────────────────────── */
.upgrade-dialog {
@@ -48,6 +48,9 @@ if ($upgradeModal) $upgradeModal.addEventListener("click", function(e) { if (e.t
if ($restartConfirmCancel) $restartConfirmCancel.addEventListener("click", closeRestartConfirmDialog);
if ($restartConfirmModal) $restartConfirmModal.addEventListener("click", function(e) { if (e.target === $restartConfirmModal) closeRestartConfirmDialog(); });
if ($restartConfirmModal) $restartConfirmModal.addEventListener("keydown", function(e) { if (e.key === "Escape") closeRestartConfirmDialog(); });
// Header Reboot button
if ($headerRebootBtn) $headerRebootBtn.addEventListener("click", function() { openRestartConfirmDialog(); });
if ($restartConfirmOk) $restartConfirmOk.addEventListener("click", function() {
if ($restartConfirmOk.disabled) return;
$restartConfirmOk.disabled = true;
@@ -110,5 +110,8 @@ const $restartConfirmOk = document.getElementById("restart-confirm-ok-btn");
const $restartConfirmCancel = document.getElementById("restart-confirm-cancel-btn");
const $restartConflictBox = document.getElementById("restart-conflict-box");
// Header reboot button
const $headerRebootBtn = document.getElementById("btn-header-reboot");
// System status banner
// (removed — health is now shown per-tile via the composite health field)
@@ -133,23 +133,6 @@ 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) {
@@ -24,6 +24,7 @@
<span class="title">Sovran_SystemsOS Hub</span>
<div class="header-buttons">
<span class="role-badge" id="role-badge">Loading…</span>
<button class="btn btn-header-reboot" id="btn-header-reboot" title="Restart the entire computer">Reboot</button>
<button class="btn btn-logout" id="btn-logout" title="Sign out">Sign Out</button>
</div>
</header>