From d64fe7e56ad955c8a91fe6961110b0b6ba1bf40b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tom=C3=A1=C5=A1=20Dvo=C5=99=C3=A1k?=
<150935816+Dvorinka@users.noreply.github.com>
Date: Fri, 23 May 2025 10:22:31 +0200
Subject: [PATCH] Add files via upload
---
kontakt/index.html | 64 ++++++++++++++--------------------------------
1 file changed, 19 insertions(+), 45 deletions(-)
diff --git a/kontakt/index.html b/kontakt/index.html
index c57d3df..e498649 100644
--- a/kontakt/index.html
+++ b/kontakt/index.html
@@ -88,15 +88,12 @@
@@ -136,32 +133,37 @@
async function loadContacts() {
try {
+ showLoading();
const response = await fetch('/contacts');
- const apiData = await response.json();
+ if (!response.ok) throw new Error(`HTTP ${response.status}`);
- // Directly use the API data structure
+ const apiData = await response.json();
currentData = {
Contacts: apiData.contacts || [],
InternalContacts: apiData.internal_contacts || [],
last_updated: apiData.last_updated
};
+ hideLoading();
showContactsList();
updateStats(currentData);
} catch (error) {
+ hideLoading();
showError('Chyba při načítání kontaktů');
- console.error('Error loading contacts:', error);
+ console.error('Error:', error);
}
}
function showLoading() {
- document.getElementById('loading').classList.remove('hidden');
- document.getElementById('contactsList').classList.add('hidden');
- document.getElementById('error').classList.add('hidden');
+ const loading = document.getElementById('loading');
+ const contactsList = document.getElementById('contactsList');
+ if (loading) loading.classList.remove('hidden');
+ if (contactsList) contactsList.classList.add('hidden');
}
function hideLoading() {
- document.getElementById('loading').classList.add('hidden');
+ const loading = document.getElementById('loading');
+ if (loading) loading.classList.add('hidden');
}
function showContactsList() {
@@ -307,48 +309,20 @@
async function reloadContacts() {
const btn = document.getElementById('reloadBtn');
- const originalText = btn.innerHTML;
+ if (!btn) return;
- btn.disabled = true;
- btn.innerHTML = `
-
- Načítání...
- `;
+ const originalText = btn.innerHTML;
+ btn.innerHTML = ' Aktualizace...';
try {
+ showLoading();
const response = await fetch('/reload', { method: 'POST' });
- if (!response.ok) {
- throw new Error(`HTTP ${response.status}: ${response.statusText}`);
- }
-
- // Small delay to show the loading state
- await new Promise(resolve => setTimeout(resolve, 500));
+ if (!response.ok) throw new Error(`HTTP ${response.status}`);
await loadContacts();
-
- // Show success feedback
- btn.innerHTML = `
-
- Obnoveno
- `;
-
- setTimeout(() => {
- btn.innerHTML = originalText;
- }, 2000);
-
} catch (error) {
- console.error('Error reloading:', error);
- btn.innerHTML = `
-
- Chyba
- `;
-
- setTimeout(() => {
- btn.innerHTML = originalText;
- }, 2000);
-
- alert('Chyba při obnovování: ' + error.message);
+ showError(error.message);
} finally {
- btn.disabled = false;
+ btn.innerHTML = originalText;
}
}