release
This commit is contained in:
39
static/js/delete_bans.js
Normal file
39
static/js/delete_bans.js
Normal file
@@ -0,0 +1,39 @@
|
||||
window.addEventListener('DOMContentLoaded', () => {
|
||||
const selectAll = document.getElementById('select-all');
|
||||
const checks = () => Array.from(document.querySelectorAll('.row-check'));
|
||||
const counter = document.getElementById('selection-counter');
|
||||
const bulkBtn = document.getElementById('delete-selected');
|
||||
|
||||
function refreshState() {
|
||||
const picked = checks().filter(c => c.checked);
|
||||
counter.textContent = `${picked.length} zaznaczonych`;
|
||||
bulkBtn.disabled = picked.length === 0;
|
||||
}
|
||||
|
||||
if (selectAll) {
|
||||
selectAll.addEventListener('change', () => {
|
||||
checks().forEach(c => { c.checked = selectAll.checked; });
|
||||
refreshState();
|
||||
});
|
||||
}
|
||||
checks().forEach(c => c.addEventListener('change', refreshState));
|
||||
refreshState();
|
||||
|
||||
const delAll = document.getElementById('delete-all-btn');
|
||||
if (delAll) {
|
||||
delAll.addEventListener('click', async () => {
|
||||
if (!confirm('Na pewno usunąć WSZYSTKIE bany?')) return;
|
||||
try {
|
||||
const res = await fetch(window.DELETE_ALL_BANS_URL, { method: 'DELETE' });
|
||||
const data = await res.json();
|
||||
if (data.status === 'all_bans_removed') {
|
||||
window.location.reload();
|
||||
} else {
|
||||
window.showToast?.({ text: 'Błąd podczas usuwania', variant: 'danger' });
|
||||
}
|
||||
} catch (e) {
|
||||
window.showToast?.({ text: 'Błąd sieci', variant: 'danger' });
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user