Greasy Fork is available in English.

Găsește comitul inițial Github

Acest lucru va ajuta utilizatorii să obțină un buton pe care să dea clic până la sfârșitul paginii de commituri Github

// ==UserScript==
// @name         Find the initial Github commit
// @description  This will help users get a button to click to end of the github commits page.
// @name:ar      العثور على الالتزام الأولي في Github
// @description:ar سيساعد هذا المستخدمين في الحصول على زر للنقر للوصول إلى نهاية صفحة التزامات Github
// @name:bg      Намери първоначалния Github коментар
// @description:bg Това ще помогне на потребителите да получат бутон за кликване до края на страницата с коментари в Github
// @name:cs      Najít počáteční Github commit
// @description:cs Toto pomůže uživatelům získat tlačítko pro kliknutí na konec stránky s commity v Githubu
// @name:da      Find den oprindelige Github commit
// @description:da Dette vil hjælpe brugerne med at få en knap til at klikke til slutningen af Github commits-siden
// @name:de      Finde den ursprünglichen Github-Commit
// @description:de Dies hilft Benutzern, einen Button zu erhalten, um zum Ende der Github-Commits-Seite zu gelangen
// @name:el      Βρες την αρχική δέσμευση Github
// @description:el Αυτό θα βοηθήσει τους χρήστες να αποκτήσουν ένα κουμπί για να κάνουν κλικ στο τέλος της σελίδας δεσμεύσεων Github
// @name:en      Find the initial Github commit
// @description:en This will help users get a button to click to end of the github commits page
// @name:eo      Trovi la komencan Github-komiton
// @description:eo Ĉi tio helpos uzantojn akiri butonon por alklaki ĝis la fino de la Github-komitpaĝo
// @name:es      Encuentra el commit inicial de Github
// @description:es Esto ayudará a los usuarios a obtener un botón para hacer clic hasta el final de la página de commits de Github
// @name:fi      Löydä alkuperäinen Github-commit
// @description:fi Tämä auttaa käyttäjiä saamaan painikkeen, jota klikkaamalla pääsee Github-committien sivun loppuun
// @name:fr      Trouver le commit initial de Github
// @description:fr Cela aidera les utilisateurs à obtenir un bouton pour cliquer jusqu'à la fin de la page des commits Github
// @name:fr-CA   Trouver le commit initial de Github
// @description:fr-CA Ceci aidera les utilisateurs à obtenir un bouton pour cliquer jusqu’à la fin de la page des commits Github
// @name:he      מצא את ההתחייבות הראשונית של Github
// @description:he זה יעזור למשתמשים לקבל כפתור ללחוץ עליו עד סוף דף ההתחייבויות של Github
// @name:hr      Pronađi početni Github commit
// @description:hr Ovo će pomoći korisnicima da dobiju gumb za klik do kraja stranice s Github commitima
// @name:hu      Keresd meg az eredeti Github commitot
// @description:hu Ez segít a felhasználóknak egy gombot szerezni, amellyel a Github commitok oldalának végére kattinthatnak
// @name:id      Temukan komit awal Github
// @description:id Ini akan membantu pengguna mendapatkan tombol untuk diklik hingga akhir halaman komit Github
// @name:it      Trova il commit iniziale di Github
// @description:it Questo aiuterà gli utenti a ottenere un pulsante da cliccare fino alla fine della pagina dei commit di Github
// @name:ja      Githubの初期コミットを見つける
// @description:ja これはユーザーがGithubコミットページの最後にクリックするためのボタンを取得するのに役立ちます
// @name:ka      იპოვე Github-ის საწყისი კომიტი
// @description:ka ეს დაეხმარება მომხმარებლებს მიიღონ ღილაკი Github-ის კომიტების გვერდის ბოლომდე დასაკლიკებლად
// @name:ko      Github 초기 커밋 찾기
// @description:ko 이는 사용자가 Github 커밋 페이지 끝까지 클릭할 버튼을 얻는 데 도움이 될 것입니다
// @name:nb      Finn den opprinnelige Github-commiten
// @description:nb Dette vil hjelpe brukere med å få en knapp å klikke på til slutten av Github-commitsiden
// @name:nl      Vind de initiële Github-commit
// @description:nl Dit zal gebruikers helpen een knop te krijgen om te klikken naar het einde van de Github-commits-pagina
// @name:pl      Znajdź początkowy commit Githuba
// @description:pl To pomoże użytkownikom zdobyć przycisk do kliknięcia na koniec strony commitów Githuba
// @name:pt-BR   Encontre o commit inicial do Github
// @description:pt-BR Isso ajudará os usuários a obter um botão para clicar até o final da página de commits do Github
// @name:ro      Găsește comitul inițial Github
// @description:ro Acest lucru va ajuta utilizatorii să obțină un buton pe care să dea clic până la sfârșitul paginii de commituri Github
// @name:ru      Найти начальный коммит Github
// @description:ru Это поможет пользователям получить кнопку для перехода к концу страницы коммитов Github
// @name:sk      Nájdi počiatočný Github commit
// @description:sk Toto pomôže používateľom získať tlačidlo na kliknutie na koniec stránky s commitmi Github
// @name:sr      Pronađi početni Github komit
// @description:sr Ovo će pomoći korisnicima da dobiju dugme za klik do kraja stranice sa Github komitima
// @name:sv      Hitta den ursprungliga Github-committen
// @description:sv Detta kommer att hjälpa användare att få en knapp att klicka på till slutet av Github-commit-sidan
// @name:th      ค้นหาคอมมิตแรกเริ่มของ Github
// @description:th นี้จะช่วยให้ผู้ใช้ได้รับปุ่มให้คลิกไปยังท้ายหน้าคอมมิตของ Github
// @name:tr      Github'un ilk commit'ini bul
// @description:tr Bu, kullanıcıların Github commitler sayfasının sonuna kadar tıklamaları için bir düğme almasına yardımcı olacak
// @name:ug      Github نىڭ دەسلەپكى تەستىقلىمىسىنى تېپىش
// @description:ug بۇ ئىشلەتكۈچىلەرنىڭ Github تەستىقلىما بېتىنىڭ ئاخىرىغا بېسىش ئۈچۈن بىر كۇنۇپكا ئېلىشىغا ياردەم بېرىدۇ
// @name:uk      Знайти початковий коміт Github
// @description:uk Це допоможе користувачам отримати кнопку для переходу до кінця сторінки комітів Github
// @name:vi      Tìm commit ban đầu của Github
// @description:vi Điều này sẽ giúp người dùng có được một nút để nhấp đến cuối trang commit của Github
// @name:zh      找到Github的初始提交
// @description:zh 这将帮助用户获得一个按钮,以点击到Github提交页面的末尾
// @name:zh-CN   找到Github的初始提交
// @description:zh-CN 这将帮助用户获得一个按钮,以点击到Github提交页面的末尾
// @name:zh-HK   搵到Github嘅最初提交
// @description:zh-HK 呢個將會幫用戶攞到一個掣,畀佢哋點擊到Github提交頁面嘅尾部
// @name:zh-SG   找到Github的初始提交
// @description:zh-SG 这将帮助用户获得一个按钮,以点击到Github提交页面的末尾
// @name:zh-TW   找到Github的初始提交
// @description:zh-TW 這將幫助用戶獲得一個按鈕,以點擊到Github提交頁面的末尾
// @namespace    http://tampermonkey.net/
// @version      0.2.1.1
// @author       Mutu,aspen138
// @match        https://github.com/*
// @icon         https://www.google.com/s2/favicons?sz=64&domain=github.com
// @grant        none
// @license      MIT
// ==/UserScript==

(function() {
    'use strict';
    let reg = new RegExp("\/commits\/")
    var isInsert = false
    var timer = setInterval(() => {
        if (isInsert) {
            if (reg.test(window.location.pathname)) {
            } else {
                getCommits()
                isInsert = false
            }
        } else {
            if (reg.test(window.location.pathname)) {
                insertBtn()
                isInsert = true
            } else {
                getCommits()
            }
        }
    }, 1000);

    function getCommits() {
        // Attempt to find the span that displays the commit count
        let commitSpan = document.querySelector("span.fgColor-default.custom-highlight");
        if (commitSpan) {
            // Example innerText might be "90 Commits", so remove "Commits" and trim extra space
            let commitText = commitSpan.innerText.replace("Commits", "").trim();
            //let commitNumber = parseInt(commitText, 10);

            // Store just the numeric portion in sessionStorage
            sessionStorage.setItem("commits", commitText);
        }
    }

    function insertBtn() {
        // Get the total commit count from sessionStorage
        let commitsStr = sessionStorage.getItem("commits");
        let commitsNum = parseInt(commitsStr.replace(/,/, ""), 10);
        console.log("commitsNum=",commitsNum);
        // Select the container that holds the pagination buttons
        let btnGroup = document.querySelector(".Box-sc-g0xbh4-0.prc-ButtonGroup-ButtonGroup-vcMeG");
        if (!btnGroup) return; // Guard clause if the container isn't found

        // Select the "Next" pagination link
        let btnToNext = document.querySelector("[data-testid='pagination-next-button']");
        if (!btnToNext) return; // Guard clause if there's no "Next" button

        // Create the wrapper div
        let newDiv = document.createElement("div");

        // Create the new "Click To End" anchor
        let btnToEnd = document.createElement("a");
        btnToEnd.type = "button";
        btnToEnd.tabIndex = 0;
        btnToEnd.setAttribute("data-testid", "pagination-last-button");
        btnToEnd.className = "prc-Button-ButtonBase-c50BI fgColor-accent text-normal";
        btnToEnd.setAttribute("data-loading", "false");
        btnToEnd.setAttribute("data-size", "medium");
        btnToEnd.setAttribute("data-variant", "invisible");
        btnToEnd.href = btnToNext.href.replace(/\+\d+/g, `+${commitsNum-4}`);

        // Construct the inner span structure to match the new button style
        let spanContent = document.createElement("span");
        spanContent.setAttribute("data-component", "buttonContent");
        spanContent.className = "prc-Button-ButtonContent-HKbr-";

        let spanText = document.createElement("span");
        spanText.setAttribute("data-component", "text");
        spanText.className = "prc-Button-Label-pTQ3x";
        spanText.innerText = "Click To End";

        // Assemble all parts
        spanContent.appendChild(spanText);
        btnToEnd.appendChild(spanContent);
        newDiv.appendChild(btnToEnd);
        console.log("newDiv=",newDiv);
        btnGroup.appendChild(newDiv);
        console.log("btnGroup=", btnGroup);
    }
})();