Skip to content

Commit 4fb93b6

Browse files
committed
fix(setup): enable the save button at any time
1 parent 79b1952 commit 4fb93b6

File tree

2 files changed

+52
-32
lines changed

2 files changed

+52
-32
lines changed

setup/index.html

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -187,8 +187,7 @@ <h3 class="font-bold text-lg">⚠️ Device Reset Required</h3>
187187

188188
// Update save button state
189189
function updateSaveButtonState() {
190-
const hasModifications = Object.values(modifiedFields).some(modified => modified);
191-
saveAllButton.disabled = !hasModifications;
190+
// Save button is always enabled when connected
192191
}
193192

194193
// display message
@@ -335,6 +334,7 @@ <h3 class="font-bold text-lg">⚠️ Device Reset Required</h3>
335334
// Enable all controls
336335
function enableControls() {
337336
loadAllButton.disabled = false;
337+
saveAllButton.disabled = false;
338338
ssidInput.disabled = false;
339339
passInput.disabled = false;
340340
serverUrlInput.disabled = false;
@@ -421,23 +421,33 @@ <h3 class="font-bold text-lg">⚠️ Device Reset Required</h3>
421421

422422
try {
423423
let savedCount = 0;
424+
const hasModifications = Object.values(modifiedFields).some(modified => modified);
424425

425-
if (modifiedFields.ssid) {
426+
// If no modifications, send all three parameters
427+
if (!hasModifications) {
426428
await writeCharacteristic(SSID_ID, ssidInput.value);
427-
clearFieldModification('ssid', ssidTitle);
428-
savedCount++;
429-
}
430-
431-
if (modifiedFields.pass) {
432429
await writeCharacteristic(PASS_ID, passInput.value);
433-
clearFieldModification('pass', passTitle);
434-
savedCount++;
435-
}
436-
437-
if (modifiedFields.url) {
438430
await writeCharacteristic(SERVER_URL_ID, serverUrlInput.value);
439-
clearFieldModification('url', urlTitle);
440-
savedCount++;
431+
savedCount = 3;
432+
} else {
433+
// If there are modifications, only send modified fields
434+
if (modifiedFields.ssid) {
435+
await writeCharacteristic(SSID_ID, ssidInput.value);
436+
clearFieldModification('ssid', ssidTitle);
437+
savedCount++;
438+
}
439+
440+
if (modifiedFields.pass) {
441+
await writeCharacteristic(PASS_ID, passInput.value);
442+
clearFieldModification('pass', passTitle);
443+
savedCount++;
444+
}
445+
446+
if (modifiedFields.url) {
447+
await writeCharacteristic(SERVER_URL_ID, serverUrlInput.value);
448+
clearFieldModification('url', urlTitle);
449+
savedCount++;
450+
}
441451
}
442452

443453
showNotification('Success', `Saved ${savedCount} changes`);
@@ -458,7 +468,7 @@ <h3 class="font-bold text-lg">⚠️ Device Reset Required</h3>
458468
console.error('Save modifications failed:', error);
459469
showNotification('Error', 'Save modifications failed', true);
460470
} finally {
461-
saveAllButton.disabled = true;
471+
saveAllButton.disabled = false;
462472
saveAllButton.textContent = '💾 Save Changes';
463473
}
464474
}

setup/index_zh.html

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -183,8 +183,7 @@ <h3 class="font-bold text-lg">⚠️ 需要重启设备</h3>
183183

184184
// 更新保存按钮状态
185185
function updateSaveButtonState() {
186-
const hasModifications = Object.values(modifiedFields).some(modified => modified);
187-
saveAllButton.disabled = !hasModifications;
186+
// 连接时保存按钮始终可用
188187
}
189188

190189
// 显示通知
@@ -331,6 +330,7 @@ <h3 class="font-bold text-lg">⚠️ 需要重启设备</h3>
331330
// 启用所有控件
332331
function enableControls() {
333332
loadAllButton.disabled = false;
333+
saveAllButton.disabled = false;
334334
ssidInput.disabled = false;
335335
passInput.disabled = false;
336336
serverUrlInput.disabled = false;
@@ -419,23 +419,33 @@ <h3 class="font-bold text-lg">⚠️ 需要重启设备</h3>
419419

420420
try {
421421
let savedCount = 0;
422+
const hasModifications = Object.values(modifiedFields).some(modified => modified);
422423

423-
if (modifiedFields.ssid) {
424+
// 如果没有修改,发送所有三个参数
425+
if (!hasModifications) {
424426
await writeCharacteristic(SSID_ID, ssidInput.value);
425-
clearFieldModification('ssid', ssidTitle);
426-
savedCount++;
427-
}
428-
429-
if (modifiedFields.pass) {
430427
await writeCharacteristic(PASS_ID, passInput.value);
431-
clearFieldModification('pass', passTitle);
432-
savedCount++;
433-
}
434-
435-
if (modifiedFields.url) {
436428
await writeCharacteristic(SERVER_URL_ID, serverUrlInput.value);
437-
clearFieldModification('url', urlTitle);
438-
savedCount++;
429+
savedCount = 3;
430+
} else {
431+
// 如果有修改,只发送修改的字段
432+
if (modifiedFields.ssid) {
433+
await writeCharacteristic(SSID_ID, ssidInput.value);
434+
clearFieldModification('ssid', ssidTitle);
435+
savedCount++;
436+
}
437+
438+
if (modifiedFields.pass) {
439+
await writeCharacteristic(PASS_ID, passInput.value);
440+
clearFieldModification('pass', passTitle);
441+
savedCount++;
442+
}
443+
444+
if (modifiedFields.url) {
445+
await writeCharacteristic(SERVER_URL_ID, serverUrlInput.value);
446+
clearFieldModification('url', urlTitle);
447+
savedCount++;
448+
}
439449
}
440450

441451
showNotification('成功', `已保存 ${savedCount} 项修改`);
@@ -456,7 +466,7 @@ <h3 class="font-bold text-lg">⚠️ 需要重启设备</h3>
456466
console.error('保存修改失败:', error);
457467
showNotification('错误', '保存修改失败', true);
458468
} finally {
459-
saveAllButton.disabled = true;
469+
saveAllButton.disabled = false;
460470
saveAllButton.textContent = '💾 保存修改';
461471
}
462472
}

0 commit comments

Comments
 (0)