Greasy Fork is available in English.

NitroType Perfect Nitros

Highlights the largest words for perfect nitros.

// ==UserScript==
// @name         NitroType Perfect Nitros
// @namespace    https://github.com/Ray-Adams
// @version      1.0.0
// @description  Highlights the largest words for perfect nitros.
// @author       Ray Adams/Silas Davos
// @match        https://www.nitrotype.com/race
// @match        https://www.nitrotype.com/race/*
// @run-at       document-end
// @grant        none
// @license MIT
// ==/UserScript==
 
(() => {
 
    const options = {
        highlightColor: 'white',
        intervalMs: 100
    };
 
    const client = () => {
 
        if (document.body.contains(document.querySelector('.dash-letter'))) {
 
            clearInterval(intervalId);
 
            // Generate word list from DOM
            let wordList = []
            for (let words of document.getElementsByClassName('dash-word')) {
                wordList.push(
                    words.textContent.replace(/\s/g, '')
                )
            }
 
            // Find the largest words
            let largestWords = [];
            for (let word of wordList) {
                if (typeof largestWords[0] === 'undefined' || largestWords[0].length === word.length) {
                    largestWords.push(word);
                }
 
                if (word.length > largestWords[0].length) {
                    largestWords = [word];
                }
            }
 
            // Return all occurrences of a specific value
            Array.prototype.indexesOf=function(t){for(var r=[],n=this.length-1;0<=n;n--)this[n]===t&&r.unshift(n);return r};
 
            // Find the indexes of the largest words in wordList
            let largestWordIndexes = []
            for (let values of wordList.values()) {
                if (largestWords.includes(values)) largestWordIndexes.push(
                    wordList.indexesOf(values)
                )
            }
 
            // Flatten array and remove duplicate values
            largestWordIndexes = [...new Set(largestWordIndexes.flat())];
 
            // Highlight largest words
            for (let indexes of largestWordIndexes) {
                document.getElementsByClassName('dash-word')[indexes].style.backgroundColor = options.highlightColor
            }
 
        }
 
    }
 
    const intervalId = setInterval(client, options.intervalMs);
 
    console.info('Perfect Nitros Activated.')
 
})()