Add WebSocket support for switch status updates

- Define `LoadSwStatus` protobuf message for switch state data (`main` and `usb`).
- Introduce `updateSwitchStatusUI` to synchronize UI with WebSocket switch status payloads.
- Update backend logic to manage and broadcast switch status changes dynamically.

Signed-off-by: YoungSoo Shin <shinys000114@gmail.com>
This commit is contained in:
2025-09-08 16:30:40 +09:00
parent c2a5116cd2
commit 3902740a25
6 changed files with 167 additions and 60 deletions

View File

@@ -61,6 +61,21 @@ export function updateUptimeUI(uptimeInSeconds) {
}
}
/**
* Updates the power switch toggle states based on WebSocket data.
* @param {Object} swStatus - The switch status object from the WebSocket message.
*/
export function updateSwitchStatusUI(swStatus) {
if (swStatus) {
if (swStatus.main !== undefined) {
dom.mainPowerToggle.checked = swStatus.main;
}
if (swStatus.usb !== undefined) {
dom.usbPowerToggle.checked = swStatus.usb;
}
}
}
/**
* Updates the Wi-Fi status indicator in the header.
* @param {Object} data - The Wi-Fi status object from the WebSocket.