Reddit Stream Button

Agrega un botón en Reddit para abrir Reddit-stream en la barra superior del subreddit

Per 11-11-2024. Zie de nieuwste versie.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey, Greasemonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Violentmonkey.

Voor het installeren van scripts heb je een extensie nodig, zoals Tampermonkey of Userscripts.

Voor het installeren van scripts heb je een extensie nodig, zoals {tampermonkey_link:Tampermonkey}.

Voor het installeren van scripts heb je een gebruikersscriptbeheerder nodig.

(Ik heb al een user script manager, laat me het downloaden!)

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een extensie nodig, zoals {stylus_link:Stylus}.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

Voor het installeren van gebruikersstijlen heb je een gebruikersstijlbeheerder nodig.

(Ik heb al een beheerder - laat me doorgaan met de installatie!)

// ==UserScript==
// @name         Reddit Stream Button
// @namespace    http://tampermonkey.net/
// @version      1.0.1
// @description  Agrega un botón en Reddit para abrir Reddit-stream en la barra superior del subreddit
// @author       Daniel
// @match        *://www.reddit.com/r/*
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    // Función para agregar el botón
    function addStreamButton() {
        // Evita agregar múltiples botones
        if (document.querySelector("#reddit-stream-button")) return;

        // Crea el botón y lo personaliza
        const button = document.createElement("button");
        button.id = "reddit-stream-button";
        button.textContent = "Ver en Reddit Stream";
        button.style.marginLeft = "10px";
        button.style.padding = "4px 8px";
        button.style.backgroundColor = "#FF5700";
        button.style.color = "white";
        button.style.border = "none";
        button.style.borderRadius = "4px";
        button.style.cursor = "pointer";
        button.style.fontSize = "14px";

        // Obtén el nombre del subreddit desde la URL
        const subredditMatch = window.location.pathname.match(/\/r\/([^/]+)/);
        if (subredditMatch) {
            const subreddit = subredditMatch[1];
            button.onclick = () => {
                window.open(`https://reddit-stream.com/r/${subreddit}`, "_blank");
            };

            // Inserta el botón en la barra superior del subreddit
            const header = document.querySelector("header");
            if (header) {
                // Encuentra el contenedor donde insertar el botón
                const subredditBar = header.querySelector('div[data-testid="subreddit-nav-bar"]') || header;
                subredditBar.appendChild(button);
            }
        }
    }

    // Observa cambios en la página para agregar el botón si se carga dinámicamente
    const observer = new MutationObserver(addStreamButton);
    observer.observe(document.body, { childList: true, subtree: true });

    // Llama a la función para intentar agregar el botón en la carga inicial
    addStreamButton();
})();