1
0

Fix für fehlende Checkboxen

This commit is contained in:
Akamaru
2025-10-03 20:30:23 +02:00
parent 2a452394df
commit 0794a576fb

View File

@@ -1,7 +1,7 @@
// ==UserScript==
// @name Anime-Loads: Verlauf-Massenlöschung
// @namespace https://git.ponywave.de/Akamaru/Userscripts
// @version 1.0
// @version 1.1
// @description Fügt Buttons hinzu, um Verlaufseinträge auf anime-loads.org schneller zu löschen
// @author Akamaru
// @match https://www.anime-loads.org/history*
@@ -91,10 +91,15 @@
}
function addCheckboxes() {
const removeButtons = document.querySelectorAll('.remove-history');
removeButtons.forEach(btn => {
const tr = btn.closest('tr');
if (!tr || tr.querySelector('.bulk-delete-checkbox')) return;
const historyDiv = document.getElementById('history');
if (!historyDiv) return;
const rows = historyDiv.querySelectorAll('table tbody tr');
rows.forEach(row => {
if (row.querySelector('.bulk-delete-checkbox')) return;
const removeBtn = row.querySelector('.remove-history');
if (!removeBtn) return;
const checkbox = document.createElement('input');
checkbox.type = 'checkbox';
@@ -102,7 +107,7 @@
checkbox.style.cssText = 'margin-right: 10px; transform: scale(1.3);';
checkbox.addEventListener('change', updateCounter);
const td = btn.closest('td');
const td = removeBtn.closest('td');
td.insertBefore(checkbox, td.firstChild);
});
@@ -241,9 +246,26 @@
const newRows = doc.querySelectorAll('#history table tbody tr');
newRows.forEach(row => {
table.appendChild(row.cloneNode(true));
const clonedRow = row.cloneNode(true);
table.appendChild(clonedRow);
// Checkbox sofort zum geklonten Row hinzufügen
const removeBtn = clonedRow.querySelector('.remove-history');
if (removeBtn && !clonedRow.querySelector('.bulk-delete-checkbox')) {
const checkbox = document.createElement('input');
checkbox.type = 'checkbox';
checkbox.className = 'bulk-delete-checkbox';
checkbox.style.cssText = 'margin-right: 10px; transform: scale(1.3);';
checkbox.addEventListener('change', updateCounter);
const td = removeBtn.closest('td');
td.insertBefore(checkbox, td.firstChild);
}
});
// Counter nach jeder Seite aktualisieren
updateCounter();
// Kleine Verzögerung, um Server nicht zu überlasten
await new Promise(resolve => setTimeout(resolve, 500));
} catch (error) {
@@ -254,9 +276,6 @@
// Pagination verstecken
pagination.style.display = 'none';
// Checkboxen zu neuen Einträgen hinzufügen
addCheckboxes();
btn.textContent = 'Alle Seiten geladen!';
setTimeout(() => {
btn.textContent = 'Alle Seiten laden';