diff --git a/public/index.html b/public/index.html index 602ad29..2aa1b61 100644 --- a/public/index.html +++ b/public/index.html @@ -1088,26 +1088,37 @@
-

Gelöschte Schaltungen

-
- - - - - - - - - - - - - - - - - -
Schaltungs-IDEingabe-DatumSchaltungs-DatumNameFirmaRufnummerAnbieterTarifHardwareLöschgrundGelöscht am
+
+ + +
+
+

Gelöschte Schaltungen

+

Archiv aller soft-gelöschten Schaltungen mit Löschgrund und Zeitstempel.

+
+
+ + +
+
+ + + + + + + + + + + + + + + +
IDDatenKunde / FirmaRufnummerAnbieterTarifHardwareLöschgrundGelöscht am
+
+
diff --git a/public/script.js b/public/script.js index ad06287..52fb18b 100644 --- a/public/script.js +++ b/public/script.js @@ -277,10 +277,8 @@ function showTab(tabName) { loadProvisionen(); } } else if (tabName === 'geloeschte') { - // Check if data is already loaded, if not load it - if (!document.getElementById('geloeschteList') || !document.getElementById('geloeschteList').innerHTML.trim()) { - loadGeloeschteSchaltungen(); - } + // Always refresh — the archive is rarely shown so this is cheap. + loadGeloeschteSchaltungen(); } else if (tabName === 'admin') { // Check if admin data is already loaded if (!document.getElementById('anbieterList') || !document.getElementById('anbieterList').innerHTML.trim()) { @@ -2037,27 +2035,43 @@ async function loadGeloeschteSchaltungen() { try { const geloeschte = await apiRequest('/api/geloeschte-schaltungen'); const tbody = document.querySelector('#geloeschteSchaltungenTable tbody'); - + if (!tbody) return; tbody.innerHTML = ''; - + + if (!geloeschte.length) { + tbody.innerHTML = 'Keine gelöschten Schaltungen'; + return; + } + geloeschte.forEach(s => { - const row = document.createElement('tr'); - row.innerHTML = ` - ${escapeHtml(s.schaltungs_id)} - ${escapeHtml(formatDate(s.eingabe_datum))} - ${escapeHtml(formatDate(s.schaltungs_datum))} - ${escapeHtml(s.vorname)} ${escapeHtml(s.nachname)} - ${escapeHtml(s.firma || '-')} - ${escapeHtml(s.rufnummer)} - ${escapeHtml(s.anbieter_name)} - ${escapeHtml(s.tarif_name)} - ${escapeHtml(s.hardware || '')} - ${escapeHtml(s.loeschgrund)} - ${escapeHtml(formatDateTime(s.geloescht_am))} + const tr = document.createElement('tr'); + tr.className = 'border-b border-outline-variant/30 even:bg-surface-container-low/50 hover:bg-surface-variant/30 transition-colors'; + tr.innerHTML = ` + ${escapeHtml(s.schaltungs_id)} + +
+ E: ${escapeHtml(formatDate(s.eingabe_datum))} + A: ${escapeHtml(formatDate(s.schaltungs_datum))} +
+ + +
${escapeHtml((s.vorname || '') + ' ' + (s.nachname || ''))}
+
${escapeHtml(s.firma || '–')}
+ + ${escapeHtml(s.rufnummer || '–')} + + ${escapeHtml(s.anbieter_name || '')} + + ${escapeHtml(s.tarif_name || '')} + ${escapeHtml(s.hardware || '–')} + + ${escapeHtml(s.loeschgrund || '')} + + ${escapeHtml(formatDateTime(s.geloescht_am))} `; - tbody.appendChild(row); + tbody.appendChild(tr); }); - + } catch (error) { console.error('Fehler beim Laden der gelöschten Schaltungen:', error); }