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-ID |
- Eingabe-Datum |
- Schaltungs-Datum |
- Name |
- Firma |
- Rufnummer |
- Anbieter |
- Tarif |
- Hardware |
- Löschgrund |
- Gelöscht am |
-
-
-
-
+
+
+
+
+
+
Gelöschte Schaltungen
+
Archiv aller soft-gelöschten Schaltungen mit Löschgrund und Zeitstempel.
+
+
+
+
+
+
+
+
+
+ | ID |
+ Daten |
+ Kunde / Firma |
+ Rufnummer |
+ Anbieter |
+ Tarif |
+ Hardware |
+ Löschgrund |
+ Gelö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);
}