diff --git a/templates/duplicates.html b/templates/duplicates.html index 7b28540..a428615 100644 --- a/templates/duplicates.html +++ b/templates/duplicates.html @@ -193,16 +193,28 @@ async function scanDuplicates(btn) { } async function deleteDoc(docId, btn) { - if (!confirm('حذف هذه الوثيقة نهائياً؟')) return; + if (!window.confirm('حذف هذه الوثيقة نهائياً؟')) return; + const original = btn.textContent; btn.disabled = true; - const res = await fetch(`/documents/${docId}`, { method: 'DELETE' }); - if (res.ok) { - // Reload so keeper-promotion (if the keeper was deleted) is reflected. - location.reload(); - } else { - alert('فشل الحذف.'); - btn.disabled = false; + btn.textContent = '...'; + try { + const res = await fetch(`/documents/${docId}`, { + method: 'DELETE', + headers: { 'Accept': 'application/json' }, + }); + if (res.ok) { + // Reload so keeper-promotion (if the keeper was deleted) is reflected. + location.reload(); + return; + } + let msg = `HTTP ${res.status}`; + try { const j = await res.json(); if (j.error) msg += ` — ${j.error}`; } catch (_) {} + alert(`فشل الحذف: ${msg}`); + } catch (e) { + alert(`خطأ في الشبكة: ${e.message}`); } + btn.disabled = false; + btn.textContent = original; } async function unflagDuplicate(docId, btn) {