diff --git a/web/templates/base.html b/web/templates/base.html
index 06ad0f2..f290f6d 100644
--- a/web/templates/base.html
+++ b/web/templates/base.html
@@ -103,9 +103,9 @@
button.innerHTML = ' Синхронизация...';
if (action === 'push-changes') {
- pushPendingChanges(button);
+ pushPendingChanges(button, originalHTML);
} else if (action === 'full-sync') {
- fullSync(button);
+ fullSync(button, originalHTML);
}
}
});
@@ -126,7 +126,7 @@
});
// Refactored sync action function to reduce duplication
- async function syncAction(endpoint, successMessage, button) {
+ async function syncAction(endpoint, successMessage, button, originalHTML) {
try {
const resp = await fetch(endpoint, { method: 'POST' });
const data = await resp.json();
@@ -146,21 +146,17 @@
// Reset button state
if (button) {
button.disabled = false;
- if (endpoint === '/api/sync/push') {
- button.innerHTML = ' Push changes';
- } else {
- button.innerHTML = ' Full sync';
- }
+ button.innerHTML = originalHTML;
}
}
}
- function pushPendingChanges(button) {
- syncAction('/api/sync/push', 'Изменения синхронизированы', button);
+ function pushPendingChanges(button, originalHTML) {
+ syncAction('/api/sync/push', 'Изменения синхронизированы', button, originalHTML);
}
- function fullSync(button) {
- syncAction('/api/sync/all', 'Полная синхронизация завершена', button);
+ function fullSync(button, originalHTML) {
+ syncAction('/api/sync/all', 'Полная синхронизация завершена', button, originalHTML);
}
async function checkDbStatus() {