AdultConfessions.com Toggle Stories

Provides a toggle button for stories on AdultConfessions.com

Pada tanggal 06 Oktober 2022. Lihat %(latest_version_link).

// ==UserScript==
// @name         AdultConfessions.com Toggle Stories
// @namespace    https://adultconfessions.com/
// @version      1.0
// @license      GPLv3
// @description  Provides a toggle button for stories on AdultConfessions.com
// @author       ceodoe
// @match        https://adultconfessions.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=adultconfessions.com
// @grant        GM_addStyle
// ==/UserScript==

GM_addStyle(`
    .storyToggler {
        cursor: pointer;
    }
`);

let posts = document.querySelectorAll("div.post");

for(let i = 0; i < posts.length; i++) {
    // Fix it so that the entire post isn't a link, only the headline
    let link = posts[i].querySelector(`a[href^="story-"]`);
    let story = posts[i].querySelector("a > div.story");
    link.insertAdjacentElement("afterend", story);

    // Create toggle element
    let toggleElement = document.createElement("span");
    toggleElement.classList.add("storyToggler");
    toggleElement.innerHTML = `[Toggle story]`;
    toggleElement.onclick = function() {
        let post = this.nextElementSibling;

        if(post.style.display == "none") {
            post.style.display = "block";
            this.innerHTML = `[Toggle story]`;
        } else {
            post.style.display = "none";
            this.innerHTML = `[Toggle story] - ${post.querySelector("a > h1.story_title > span").innerHTML}`;
        }
    };

    // Wrap post contents in a div so we can easily hide all of it
    posts[i].innerHTML = `<div class="postWrapper">${posts[i].innerHTML}</div>`;
    posts[i].insertAdjacentElement("afterbegin", toggleElement);

}