Mastodon Filter TFOOT Fixer

Move TFOOT above TBODY on filter edit pages

目前為 2025-05-21 提交的版本,檢視 最新版本

// ==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.20250521114109
// @namespace https://greasyfork.org/users/1435046
// ==/UserScript==

if (/^\/filters\/\d+\/edit$/.test(location.pathname)) {
  const anchor = document.querySelector('a.add_fields');
  if (anchor) {

    // Change insertion method to 'prepend'
    anchor.setAttribute('data-association-insertion-method', 'prepend');

// Change insertion target to second tbody
          anchor.setAttribute('data-association-insertion-node', '.keywords-table tbody:nth-of-type(2)');

    const originalTfoot = anchor.closest('tfoot');
    if (originalTfoot) {
      // Grab the inner rows HTML
      const rowsHtml = originalTfoot.innerHTML;
      const table = originalTfoot.closest('table');
      const thead = table && table.querySelector('thead');
      if (table && thead) {
        // Remove the old tfoot
        originalTfoot.remove();
        // Create a new tbody, inject the rows
        const newTbody = document.createElement('tbody');
        newTbody.innerHTML = rowsHtml;
        // Insert right after the thead
        thead.insertAdjacentElement('afterend', newTbody);
      }
    }
  }
}