From ab44a2efc6247f800b02688d5122daf8796a71d5 Mon Sep 17 00:00:00 2001 From: ScreenTinker Date: Fri, 7 Aug 2026 17:57:10 -0500 Subject: [PATCH] Put the device controls where the operator is looking MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reboot, screen off/on, launch player, force update and shutdown sat at the bottom of the Info tab, below the info grid, the uptime timeline, the incident list, the reboot schedule and the debug log panel. They are the actions someone opens a device page to take, and reaching them meant scrolling past everything that merely describes the display — worst on a phone, which is where an operator standing in front of a dark screen actually is. Moved to the top of the tab, directly under the diagnostics panel and above the info grid. Still one wrapping row, so a narrow screen reflows instead of clipping, and each button still renders only where the display can honour it — the capability gating is untouched, so a panel that cannot reboot still shows no reboot button. Co-Authored-By: Claude Opus 5 (1M context) Claude-Session: https://claude.ai/code/session_014skWYXJUWhF73EvNPgB2AS --- frontend/js/views/device-detail.js | 95 ++++++++++++++++-------------- 1 file changed, 51 insertions(+), 44 deletions(-) diff --git a/frontend/js/views/device-detail.js b/frontend/js/views/device-detail.js index df13ae3..b631355 100644 --- a/frontend/js/views/device-detail.js +++ b/frontend/js/views/device-detail.js @@ -350,6 +350,57 @@ async function loadDevice(deviceId, activeTab = null) {
${diagWidget ? renderDiagPanel(diagWidget) : ''} + + +
+ ${can('system.reboot') ? ` + ` : ''} + ${can('display.power') ? ` + ` : ''} + ${can('display.power') ? ` + ` : ''} + ${can('system.restart_player') ? ` + ` : ''} + ${can('system.self_update') ? ` + ` : ''} + ${can('system.reboot') ? ` + ` : ''} +
+
${t('device.info.status')}
@@ -576,50 +627,6 @@ async function loadDevice(deviceId, activeTab = null) {
-
- ${can('system.reboot') ? ` - ` : ''} - ${can('display.power') ? ` - ` : ''} - ${can('display.power') ? ` - ` : ''} - ${can('system.restart_player') ? ` - ` : ''} - ${can('system.self_update') ? ` - ` : ''} - ${can('system.reboot') ? ` - ` : ''} -