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 @@
-

Kontakty

-

Hlavní kontakty

-

Interní kontakty

@@ -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; } }