From e63eb473749113600dfd271d3ca997d103bf8c9f Mon Sep 17 00:00:00 2001 From: Mathias Malmqvist Date: Sun, 23 Nov 2025 20:52:20 +0100 Subject: [PATCH] Show a warning on the Connect screen if the changes were not saved --- index.html | 5 +++++ js/core.js | 17 +++++++++++++---- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/index.html b/index.html index 403efb7..3987513 100644 --- a/index.html +++ b/index.html @@ -386,6 +386,11 @@
  Last connected: +
diff --git a/js/core.js b/js/core.js index 2dc2aca..725c5c5 100644 --- a/js/core.js +++ b/js/core.js @@ -295,15 +295,14 @@ async function continue_connection({data, device}) { // Save controller info to local storage const lastConnectedInfo = { deviceName: deviceName, - timestamp: new Date().toISOString() + timestamp: new Date().toISOString(), + serialNumber: await controllerInstance.getSerialNumber(), }; // Extract info from infoItems if (info.infoItems && Array.isArray(info.infoItems)) { for (const item of info.infoItems) { - if (item.key === l("Serial Number")) { - lastConnectedInfo.serialNumber = item.value; - } else if (item.key === l("Board Model")) { + if (item.key === l("Board Model")) { lastConnectedInfo.boardModel = item.value; } else if (item.key === l("Color")) { lastConnectedInfo.color = item.value; @@ -428,6 +427,16 @@ function updateLastConnectedInfo() { } $infoDiv.text(text); + + if (info.serialNumber) { + const storageKey = `changes_${info.serialNumber}`; + const savedChangesState = localStorage.getItem(storageKey); + const hasChanges = savedChangesState ? JSON.parse(savedChangesState) : false; + + const $warning = $("#lastConnectedWarning"); + $warning.toggle(hasChanges); + } + $lastConnected.show(); } catch (error) { console.error("Error parsing last connected info:", error);