Auto-Translate Posts on Twitter

Automatically clicks the "Translate post" button

// ==UserScript==
// @name         Auto-Translate Posts on Twitter
// @version      1.5
// @description  Automatically clicks the "Translate post" button
// @author       https://github.com/ruukulada
// @namespace    https://github.com/ruukulada
// @match        https://*.x.com/*
// @icon         https://abs.twimg.com/favicons/twitter.2.ico
// @license      MIT
// @grant        none
// ==/UserScript==

(function () {
  'use strict';
  let mutationTimeout;
  const debouncedMutationHandler = () => {
    if (mutationTimeout) clearTimeout(mutationTimeout);
    mutationTimeout = setTimeout(() => {
      clickTranslateButton();
    }, 100);
  };
  const clickTranslateButton = () => {
    const buttons = document.querySelectorAll('button span');
    for (const el of buttons) {
      if (el.textContent.trim() === "Translate post") {
        const button = el.closest('button');
        if (button) { button.click(); }
      }
    }
  };
  const mainContentArea = document.querySelector('main') || document.body;
  const observer = new MutationObserver(() => debouncedMutationHandler());
  observer.observe(mainContentArea, { childList: true, subtree: true });
  clickTranslateButton();
})();