// ==UserScript== // @name Mastodon Filter TFOOT Fixer // @description Move TFOOT above TBODY on filter edit pages // @match https://mastodon.social/filters/*/edit // @version 0.0.1.20250521112838 // @namespace https://greasyfork.org/users/1435046 // @downloadURL none // ==/UserScript== function runTableFix() { if (!/^\/filters\/\d+\/edit$/.test(location.pathname)) return; const anchor = document.querySelector('a.add_fields'); if (!anchor) return; // Switch to prepend anchor.setAttribute('data-association-insertion-method', 'prepend'); const originalTfoot = anchor.closest('tfoot'); if (!originalTfoot) return; const table = originalTfoot.closest('table'); const thead = table && table.querySelector('thead'); if (!table || !thead) return; // Clone the
, remove the original… const clonedTfoot = originalTfoot.cloneNode(true); originalTfoot.remove(); // …but force it to display as a row-group so it appears above the tbody clonedTfoot.style.display = 'table-row-group'; // Insert the cloned footer right after the thead thead.insertAdjacentElement('afterend', clonedTfoot); }