Frontend-Logik an neue API-Antwortstruktur angepasst

This commit is contained in:
2025-03-17 21:29:37 +01:00
parent 2f4671cbc4
commit 84ba72ab72

View File

@@ -312,28 +312,20 @@
if (query) params.append('q', query); if (query) params.append('q', query);
fetch(`/search?${params.toString()}`) fetch(`/search?${params.toString()}`)
.then(response => { .then(response => response.json())
if (!response.ok) {
return response.json().then(data => {
throw new Error(data.error || 'Ein Fehler ist aufgetreten');
});
}
return response.json();
})
.then(data => { .then(data => {
const resultsDiv = document.getElementById('results'); if (data.error) {
resultsDiv.innerHTML = ''; showError(data.error);
if (data.length === 0) {
resultsDiv.innerHTML = '<div class="alert alert-info">Keine Ergebnisse gefunden.</div>';
lastResults = [];
updateResultCounts();
return; return;
} }
data.forEach(customer => { const resultsContainer = document.getElementById('results');
resultsContainer.innerHTML = '';
if (data.results && data.results.length > 0) {
data.results.forEach(customer => {
const card = document.createElement('div'); const card = document.createElement('div');
card.className = 'card result-card'; card.className = 'card mb-3';
card.innerHTML = ` card.innerHTML = `
<div class="card-body"> <div class="card-body">
<h5 class="card-title">${customer.Vorname} ${customer.Nachname}</h5> <h5 class="card-title">${customer.Vorname} ${customer.Nachname}</h5>
@@ -353,18 +345,19 @@
<strong>Telefon:</strong> ${createPhoneLink(customer.Tel)}<br> <strong>Telefon:</strong> ${createPhoneLink(customer.Tel)}<br>
<strong>E-Mail:</strong> ${createEmailLink(customer.mail)} <strong>E-Mail:</strong> ${createEmailLink(customer.mail)}
</p> </p>
<div class="card-actions">
<button class="btn btn-outline-primary share-button" onclick="copyCustomerLink('${customer.Nummer}')">
🔗 Teilen
</button>
</div>
</div> </div>
`; `;
resultsDiv.appendChild(card); resultsContainer.appendChild(card);
}); });
lastResults = data; // Zeige die Anzahl der Treffer an
updateResultCounts(); const totalResults = document.getElementById('total-results');
if (totalResults) {
totalResults.textContent = `${data.total} Treffer gefunden`;
}
} else {
resultsContainer.innerHTML = '<div class="alert alert-info">Keine Ergebnisse gefunden.</div>';
}
}) })
.catch(error => { .catch(error => {
console.error('Fehler:', error); console.error('Fehler:', error);