Hardverapró szűrő script 🛒

Hirdetés

A kedvenc piacterem (természetesen!) a Hardverapró, itt árulok és itt is vásárolok a legszívesebben, a minősítési rendszer nyújtotta bizalmi légkör miatt. 💕 💖

Mégis előfordul, hogy egyes (üzleti) hirdetők egy kicsit telítik, floodolják a kínálatukkal az egyes kategóriákat, és ezt szeretném magamnak egy kicsit szűrni - nem durva módon, csak vizuálisan számomra könnyen felismerhetően. :)

Erre írattam a ChatGPT barátnőm segítségével (már egy ideje ellustultam a kézzel kódolás iránt 😅) az alábbi kis Tampermonkey scriptet, ami egy előre általam definiált felhasználónév-lista alapján elhalványítja az userhez tartozó hirdetéseket. (nem tünteti el teljesen, hátha mégis érdekes lesz az a hirdetés. :) ) Illetve mouseover hatására is rögtön visszaáll a 100% opacity.

Aprócska, de hasznos mágia. 😸 🧙‍♀️🧝‍♀️✨🪄

Telepítés:
1️⃣ a böngésződbe telepíteni a Tampermonkey extensiont,
2️⃣ Tampermonkeyben új script --> bemásolni az alábbi kódot.

Alább a script:

// ==UserScript==
// @name         Hardverapro Username Blacklist
// @namespace    http://tampermonkey.net/
// @version      1.0
// @description  Blacklist ads on Hardverapro based on username
// @author       Nova
// @match        https://hardverapro.hu/aprok/*
// @grant        none
// ==/UserScript==
(function() {
    'use strict';
    // --- Define your blacklist here ---
    const blacklist = [
        "USERNAME1", "USERNAME2", "USERNAME3"
    ];
    // --- Inject stylesheet for .blacklisted class ---
    const style = document.createElement('style');
    style.textContent = `
        .blacklisted {
            opacity: 0.3 !important;
            transition: opacity 0.3s;
            /* max-width: 30px; */
        }
        .blacklisted:hover {
            opacity: 1 !important;
            /* max-width: unset; */
        }
    `;
    document.head.appendChild(style);
    // --- Function to apply blacklist ---
    function applyBlacklist() {
        const ads = document.querySelectorAll('li.media');
        ads.forEach(ad => {
            const userElement = ad.querySelector('span.uad-user-text a');
            if(userElement && blacklist.includes(userElement.textContent.trim())) {
                ad.classList.add('blacklisted');
            }
        });
    }
    // --- Run initially ---
    applyBlacklist();
    // Optional: Re-run periodically in case of dynamic content loading
    const observer = new MutationObserver(() => applyBlacklist());
    observer.observe(document.body, { childList: true, subtree: true });
})();

Tovább a fórumba.