le__el

joined 1 year ago
[–] [email protected] 3 points 1 year ago

Hi there, thanks for the userscript!

Using your code as base, I created for myself a function to add blur image to the nsfw thumbnails.

It works with posts already marked as +18 and also the ones that are from the nsfw domain, but has been coming to the feed without the +18 tag (and because of that, it ignores the preference setting about not showing nsfw content).

The code is probably bad, but if you like the idea, feel free to use/modify

  function thumbBlur(article) {
    article.querySelectorAll("figure > a > img").forEach(el => {
        applyBlur(el, 10);
      el.addEventListener('mouseover', function hover() {
        applyBlur(el, 0, 0.5);
      });
      el.addEventListener('mouseleave', function leave() {
        applyBlur(el, 10, 0.5);
      });
    });
  }

  function applyBlur(el, value, transition = 0) {
    if(transition != 0 ) {
      el.style.transitionDuration  = transition+"s";
    }
    el.style.webkitFilter = "blur("+value+"px)";
  }

  function addBlurNsfw() {
    document.querySelectorAll("article.subject").forEach(article => {
      article.querySelectorAll("small.danger").forEach(small => {
        if( small.textContent == "+18" ) {
          thumbBlur(article);
        }
      });
      article.querySelectorAll(".magazine-inline, .user-inline").forEach(link => {
        const parts = link.title.split("@");
        if( parts[2] == "lemmynsfw.com" ) {
          thumbBlur(article);
        }
      });
    });
  }
  addBlurNsfw();