Wykop ❎

Michał Białek znowu zepsuł mirko (⌐ ͡■ ͜ʖ ͡■)

目前为 2023-01-31 提交的版本。查看 最新版本

// ==UserScript==
// @name        Wykop ❎
// @namespace   Violentmonkey Scripts
// @match       https://wykop.pl/*

// @require     http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js
// @grant       GM_addStyle

// @version     1.2.4
// @author      SebastianDosiadłgo <[email protected]>
// @description Michał Białek znowu zepsuł mirko (⌐ ͡■ ͜ʖ ͡■)
// @license     Copy anything you want
// @license     Każdy może skopiować dowolny fragment tego kodu i używać go do woli. Każdy oprócz użytkownika @browarek.
// @license     @browarek aka 'vocus', który kradnie cudzy kod, a potem się wyzywa i twierdzi, że wcale nic nie ukradł XD nie może skopiować stąd nawet przecinka.

// ==/UserScript==


function countNumberOfNotificationsWithDelay()
{
     setTimeout(function(){countNumberOfNotifications()}, 1000);
}
function countNumberOfNotifications()
{
    $("header .right ul li.dropdown").removeClass("unread_5").removeClass("unread_4").removeClass("unread_3").removeClass("unread_2").removeClass("unread_1");
    $("header .right ul li.dropdown:has(a.new)" ).each(function(index, value)
    {
        let numberOfNotifications = 0;
        // liczba powiadomień o tagach / wołaniach
        $(this).find(".notify:not(.read)" ).each(function(index, value)
        {
            ++numberOfNotifications;
            $(this).addClass(`unread_${numberOfNotifications}`);
        }).parents(`.notifications.dropdown`).addClass(`unread_${numberOfNotifications}`);

        // liczba powiadomień o wiadomościach PM
        $(this).find(".item.unread" ).each(function(index, value)
        {
            ++numberOfNotifications;
            $(this).addClass(`unread_${numberOfNotifications}`);
        }).parents(`.pm.dropdown`).addClass(`unread_${numberOfNotifications}`);
        console.log(`[Wykop X]: liczba powiadomień: ${numberOfNotifications}`);
    })
}


navigation.addEventListener('navigate', (event) => { countNumberOfNotificationsWithDelay()});
window.onload = function(event) {
    countNumberOfNotificationsWithDelay();
    addWykopXButtonsToNavBar();
    unrollDropdowns();
    focusOnAddingNewMicroblogEntry();
};

  function addWykopXButtonsToNavBar()
  {
    let $clone = $(`body header nav.main ul li:not(.active):not(:has(a[href="/wykopalisko"])):first`).clone();
    let $cloneMyWykop = $clone.clone();
    let $cloneAddNewEntry = $clone.clone();
    let $cloneAddNewLink = $clone.clone();
    let $cloneWykopWNowymStylu = $clone.clone();
    let $cloneInstallWykopX = $clone.clone();

    $cloneMyWykop.attr({class: "wykopx wykopx_mywykop_li"}).css("display","none").find("a").attr({href: "/obserwowane", class: "wykopx wykopx_mywykop_button", title: "Mój Wykop :: przycisk dodany przez Wykop X"}).find("span").text("Mój Wykop");
    $cloneAddNewLink.attr({class: "wykopx wykopx_add_new_link_li wykopx_plus_li"}).css("display","none").find("a").attr({href: "/dodaj-link", class: "wykopx wykopx_add_new_link wykopx_plus_button", title: `Dodaj nowe Znalezisko :: przycisk dodany przez Wykop X`}).find("span").text("+");
    $cloneAddNewEntry.attr({class: "wykopx wykopx_add_new_entry_li wykopx_plus_li"}).css("display","none").find("a").attr({href: "/mikroblog/#dodaj", class: "wykopx wykopx_add_new_entry wykopx_plus_button", title: `Dodaj nowy wpis na Mirko :: przycisk dodany przez Wykop X`}).find("span").text("+");
    $cloneWykopWNowymStylu.attr({class: "wykopx wykopx_wykopwnowymstylu_li"}).find("a").css("color","white").attr({href: "/tag/wykopwnowymstylu", class: "wykopx wykopx_wykopwnowymstylu_button", title: "Przejdź na #wykopwnowymstylu"}).find("span").text("#");
    $cloneInstallWykopX.attr({class: "wykopx wykopx_install_wykopx_li"}).find("a").attr({href: "https://userstyles.world/style/8174/wykop-x", target: "_blank", class: "wykopx wykopx_install_wykopx_button", title: `Zainstaluj dodatek "Wykop X CSS" w rozszerzeniu Stylus i odkryj dziesiątki dodatkowych funkcji Wykopu`}).find("span").text("Zainstaluj Wykop X");

    $cloneAddNewLink.insertAfter(`body header nav.main ul li:has(a[href="/wykopalisko"])`);
    $cloneAddNewEntry.insertAfter(`body header nav.main ul li:has(a[href="/mikroblog"])`);
    $cloneMyWykop.appendTo(`body header nav.main ul`);
    $cloneInstallWykopX.appendTo(`body header nav.main ul`);

    $cloneWykopWNowymStylu.insertBefore(`body header nav .pm.dropdown`);
}
function focusOnAddingNewMicroblogEntry()
{
    let hash = new URL(document.URL).hash;
    if(hash == "#dodaj")
    {
       document.querySelector(`section.microblog-page section.microblog section.editor div.content textarea`).focus();
    }
}

// waitForKeyElements("section.stream div.content section.entry div.comments section.entry-subcomments div.content section.reply", sortCommentsByID);
document.removeEventListener('click', this.documentClick)


function unrollDropdowns(dropdown)
{
    console.log("Wykop X :: unrollDropdowns")
    console.log(dropdown)
    document.removeEventListener('click', this.documentClick)

}

function sortCommentsByID(comment)
{
    var commentID = comment.attr ("id").substr(8, 9);
    console.log(commentID);
    comment.css("order", commentID);
}



/* browarek programisto piekielny, przestań mi kurka kod prześladować! */