Add Button to Page

Add a button to the current webpage

Verze ze dne 06. 05. 2024. Zobrazit nejnovější verzi.

// ==UserScript==
// @name         Add Button to Page
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  Add a button to the current webpage
// @author       You
// @match       https://exhentai.org/*
// @grant        none
// @license MIT
// ==/UserScript==

(function() {
    'use strict';

    // Create a new button element
    var button = document.createElement("button");
    button.style.backgroundColor = "#34353b"
    button.style.color = "#f1f1f1";
    button.style.fontWeight = 'bold';
    button.style.borderColor = "transparent";
    button.innerHTML = "Save Progress";

    // Create a new text node

    function return_real_date()
    {
        var currentdate = new Date();
        var temp;
        var new_temp;
        var mn_temp;
        var hr_temp;
        var month = (currentdate.getMonth() + 1);
        var date = currentdate.getDate();
        var minutes = currentdate.getMinutes();
        var hours = (currentdate.getHours() - 8);
        temp = month.toString();
        new_temp = date.toString();
        hr_temp = hours.toString();
        mn_temp = minutes.toString();

        if (month <10)
        {
            temp = "0" + temp;
        }

        if (date < 10)
        {
            new_temp = "0" +new_temp;
        }

        if (hours < 10)
        {
            hr_temp = "0" +hr_temp;
        }

        if (minutes < 10)
        {
            mn_temp = "0" +mn_temp;
        }

        temp = temp + "-" + new_temp + " " + hr_temp + ":" + mn_temp;
        return temp;
    }

    var datetime = return_real_date();

    var time_text = document.createTextNode("No saved time")

    var toppane = document.getElementById("toppane");

    var buttonDiv = document.createElement("div");
    var textDiv = document.createElement("div");
    buttonDiv.style.position = "relative";
    textDiv.style.position = "relative";
    buttonDiv.style.left = "30px";
    textDiv.style.left = "30px";

    buttonDiv.appendChild(button);
    textDiv.appendChild(time_text);

    toppane.appendChild(buttonDiv);
    toppane.appendChild(textDiv);

    textDiv.style.fontSize = "20px"; // Set the font size to 20 pixels
    textDiv.style.fontFamily = "Arial"; // Set the font family to Arial
    button.style.fontFamily = "Arial";
    //button.style.fontSize = "20px"


    // Add an event listener for the click event
    button.addEventListener ("click", function()
    {
        localStorage.setItem('savedTime', datetime);
        time_text.nodeValue = datetime;
    });

    var savedTime = localStorage.getItem('savedTime');

    if (savedTime) {
      time_text.nodeValue = savedTime;
    }

    function show_newest(elements)
    {
        var saved_time = "2024-" + savedTime;
        var saved_time_obj = new Date(saved_time);
        for (var i = 0; i < elements.length; i++)
        {
            var element = elements[i].querySelector('.gl5t div div[id^="posted_"]');
            var current_time = element.textContent;
            var current_time_obj = new Date(current_time);
            if (current_time_obj < saved_time_obj)
            {
                elements[i].style.backgroundColor = '#8e3424';
                break;
            }
        }
    }

    var observer = new MutationObserver(function(mutations) {
    mutations.forEach(function(mutation) {
        show_newest(document.querySelectorAll('.gl1t'));
        });
    });
    observer.observe(document.body, { childList: true, subtree: true });
    show_newest(document.querySelectorAll('.gl1t'));
    document.addEventListener('scroll', function()
    {
        show_newest(document.querySelectorAll('.gl1t'));
    });

})();