Hide tweets from blue check accounts (status only)

Hide tweets from blue check accounts on twitter.com and x.com for status pages only

You will need to install an extension such as Tampermonkey, Greasemonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install an extension such as Tampermonkey or Violentmonkey to install this script.

You will need to install an extension such as Tampermonkey or Userscripts to install this script.

You will need to install an extension such as Tampermonkey to install this script.

You will need to install a user script manager extension to install this script.

(I already have a user script manager, let me install it!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(I already have a user style manager, let me install it!)

// ==UserScript==
// @name        Hide tweets from blue check accounts (status only)
// @match       https://twitter.com/*/status/*
// @match       https://x.com/*/status/*
// @version     1.1
// @description Hide tweets from blue check accounts on twitter.com and x.com for status pages only
// @namespace   Violentmonkey Scripts
// @license MIT
// @author LucioB16
// ==/UserScript==

// Use setInterval to repeatedly run the function every 500 milliseconds.
// This ensures the script catches newly loaded tweets as you scroll or interact with the page.
setInterval(function hideBlueCheckTweets() {

  // Select all elements with the specified data-testid attribute ('cellInnerDiv').
  // This includes both tweet blocks and structural elements dividing tweets on the page.
  const tweets = document.querySelectorAll('div[data-testid="cellInnerDiv"]');

  // Loop through each element, accessing its index in the list.
  tweets.forEach((tweet, index) => {

    // Ignore the first tweet (index 0), which is typically the main tweet of the thread.
    // Also, ignore elements in odd positions (these may be dividers or other non-tweet elements).
    if (index !== 0 && index % 2 === 0) {

      // Search within the current element for the blue check verification icon.
      // The blue check icon is identified by the 'data-testid="icon-verified"' attribute.
      const blueCheckIcon = tweet.querySelector('svg[data-testid="icon-verified"]');

      // If the element contains a blue check icon, hide the entire element by setting its display to 'none'.
      if (blueCheckIcon) {
        tweet.style.display = "none";
      }
    }
  });
}, 500);