Twitter Blue Block

Block all tweets with blue tick on Twitter home page (timeline) and search results page (latest tab) on desktop browsers (Chrome, Firefox, Edge, Safari, Opera, Brave, etc)

이 스크립트를 설치하려면 Tampermonkey, Greasemonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램을 설치해야 합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Violentmonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey 또는 Userscripts와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 Tampermonkey와 같은 확장 프로그램이 필요합니다.

이 스크립트를 설치하려면 유저 스크립트 관리자 확장 프로그램이 필요합니다.

(이미 유저 스크립트 관리자가 설치되어 있습니다. 설치를 진행합니다!)

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 Stylus와 같은 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

이 스타일을 설치하려면 유저 스타일 관리자 확장 프로그램이 필요합니다.

(이미 유저 스타일 관리자가 설치되어 있습니다. 설치를 진행합니다!)

// ==UserScript==
// @name         Twitter Blue Block
// @namespace    https://github.com/aetherwu/BlockTwitterBlue
// @version      0.1
// @description  Block all tweets with blue tick on Twitter home page (timeline) and search results page (latest tab) on desktop browsers (Chrome, Firefox, Edge, Safari, Opera, Brave, etc)
// @author       Aether
// @match        https://twitter.com/home
// @match       https://twitter.com/*
// @match       https://mobile.twitter.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=twitter.com
// @grant        none
// @license MIT
// ==/UserScript==

function hideVerifiedTweets() {
    let verifiedIcons = document.querySelectorAll('svg[data-testid="icon-verified"]:not([data-processed="true"])');
    verifiedIcons.forEach((icon, index) => {
        console.log(index)
        let parentElement = icon.parentElement;

        // Loop to find the ancestor with data-testid="cellInnerDiv"
        while(parentElement && parentElement.getAttribute('data-testid') !== 'cellInnerDiv') {
            parentElement = parentElement.parentElement;
        }

        // If found, hide this ancestor
        if(parentElement && parentElement.getAttribute('data-testid') === 'cellInnerDiv') {
            parentElement.style.display = 'none';
            console.log(`Hid the parent div of verified icon at index ${index}`);
        }

        // Mark as processed
        icon.setAttribute('data-processed', 'true');
    });

    if(verifiedIcons.length === 0) {
        console.log('No verified icons found');
    }
}

(function() {
    'use strict';

    // Your code here...
    // Call the function
    setInterval(hideVerifiedTweets, 300)
})();