Return Google Search Counter

Brings back the Google search counter

Você precisará instalar uma extensão como Tampermonkey, Greasemonkey ou Violentmonkey para instalar este script.

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

Você precisará instalar uma extensão como Tampermonkey ou Violentmonkey para instalar este script.

Você precisará instalar uma extensão como Tampermonkey ou Userscripts para instalar este script.

Você precisará instalar uma extensão como o Tampermonkey para instalar este script.

Você precisará instalar um gerenciador de scripts de usuário para instalar este script.

(Eu já tenho um gerenciador de scripts de usuário, me deixe instalá-lo!)

Você precisará instalar uma extensão como o Stylus para instalar este estilo.

Você precisará instalar uma extensão como o Stylus para instalar este estilo.

Você precisará instalar uma extensão como o Stylus para instalar este estilo.

Você precisará instalar um gerenciador de estilos de usuário para instalar este estilo.

Você precisará instalar um gerenciador de estilos de usuário para instalar este estilo.

Você precisará instalar um gerenciador de estilos de usuário para instalar este estilo.

(Eu já possuo um gerenciador de estilos de usuário, me deixar fazer a instalação!)

// ==UserScript==
// @name         Return Google Search Counter
// @author       NWP
// @description  Brings back the Google search counter
// @namespace    https://greasyfork.org/users/877912
// @version      0.1
// @license      MIT
// @include      https://www.google.*/search*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';

    const debug = false;

    function log(message, data) {
        if (debug) {
            if (data !== undefined && data !== null) {
                console.log(message, data);
            } else {
                console.log(message);
            }
        }
    }

    function relocateResultStats(observer) {
        const resultStats = document.getElementById('result-stats');
        const appbar = document.getElementById('appbar');

        log(resultStats ? "Found resultStats:" : "resultStats not found.", resultStats);
        log(appbar ? "Found appbar:" : "appbar not found.", appbar);

        if (!resultStats || !appbar) {
            log("One or both elements (resultStats, appbar) not found. Stopping observer.");
            observer.disconnect();
            return;
        }

        if (!appbar.contains(resultStats)) {
            log("Appending resultStats to appbar.");
            try {
                appbar.appendChild(resultStats);
                log("Stopping observer as the task is complete.");
                observer.disconnect();
            } catch (e) {
                console.error("Error appending resultStats to appbar:", e);
            }
        } else {
            log("resultStats is already in the appbar, stopping observer.");
            observer.disconnect();
        }
    }

    const observer = new MutationObserver(() => {
        log("MutationObserver detected changes in the DOM.");
        relocateResultStats(observer);
    });

    log("Starting MutationObserver.");
    observer.observe(document.body, {
        childList: true,
        subtree: true
    });

    log("Performing initial check.");
    relocateResultStats(observer);

})();