// ==UserScript==
// @name GreasyFork Total Scripts(modified)
// @namespace pxgamer
// @version 0.2.8
// @description Shows a user's total scripts count on GreasyFork(modified).
// @author NotYou
// @include *greasyfork.org/*/users/*
// @include *greasyfork.org/*/scripts*
// @include *sleazyfork.org/*/users/*
// @include *sleazyfork.org/*/scripts*
// @require https://code.jquery.com/jquery-1.7.2.min.js
// @license GPLv3
// @license-link https://www.gnu.org/licenses/gpl-3.0.txt
// @grant none
// @downloadURL none
// ==/UserScript==
/* What's New?:
* All languages support (https://greasyfork.org/en/scripts/20343-greasyfork-total-scripts/discussions/15913)
* Displaying Total user's scripts near "Scripts"
* Colours change parallel to the number count
* jQuery bug fix
* Total Scripts at search
* Total Libraries at search
* Include Sleazy Fork.
* Works with local override.
* Shows Total Styles
* Better colors for low number for better visibility
* Total Libraries
* Less Usless Code
* Fixed Total Scripts at search
*/
// Total Scripts
(function() {
'use strict';
let jstotal = $("span:contains('JS')").length;
let csstotal = $("span:contains('CSS')").length;
let libtotal = $("span:contains('(Library)')").length;
if (jstotal == 1) {
$('div.sidebarred-main-content h3:first').append(' [' + jstotal + ' Total Script]');
}
else if(jstotal >= 100) {
$('div.sidebarred-main-content h3:first').append(' [' + jstotal + ' Total Scripts]');
}
else if(jstotal >= 50) {
$('div.sidebarred-main-content h3:first').append(' [' + jstotal + ' Total Scripts]');
}
else if(jstotal >= 25) {
$('div.sidebarred-main-content h3:first').append(' [' + jstotal + ' Total Scripts]');
}
else if(jstotal >= 10) {
$('div.sidebarred-main-content h3:first').append(' [' + jstotal + ' Total Scripts]');
}
else if(jstotal >= 5) {
$('div.sidebarred-main-content h3:first').append(' [' + jstotal + ' Total Scripts]');
}
else if(jstotal > 1) {
$('div.sidebarred-main-content h3:first').append(' [' + jstotal + ' Total Scripts]');
}
else if(jstotal < 0){
$('div.sidebarred-main-content h3:first').append(' [ Unexpected error! ]');
}
// Total Styles
if (csstotal == 1) {
$('div.sidebarred-main-content h3:first').append(' [' + csstotal + ' Total Style]');
}
else if(csstotal >= 100) {
$('div.sidebarred-main-content h3:first').append(' [' + csstotal + ' Total Styles]');
}
else if(csstotal >= 50) {
$('div.sidebarred-main-content h3:first').append(' [' + csstotal + ' Total Styles]');
}
else if(csstotal >= 25) {
$('div.sidebarred-main-content h3:first').append(' [' + csstotal + ' Total Styles]');
}
else if(csstotal >= 10) {
$('div.sidebarred-main-content h3:first').append(' [' + csstotal + ' Total Styles]');
}
else if(csstotal >= 5) {
$('div.sidebarred-main-content h3:first').append(' [' + csstotal + ' Total Styles]');
}
else if(csstotal > 1) {
$('div.sidebarred-main-content h3:first').append(' [' + csstotal + ' Total Styles]');
}
else if(csstotal < 0){
$('div.sidebarred-main-content h3:first').append(' [ Unexpected error! ]');
}
// Total Libraries
if (libtotal == 1) {
$('div.sidebarred-main-content h3:first').append(' [' + libtotal + ' Total Library]');
}
else if(libtotal >= 100) {
$('div.sidebarred-main-content h3:first').append(' [' + libtotal + ' Total Libraries]');
}
else if(libtotal >= 50) {
$('div.sidebarred-main-content h3:first').append(' [' + libtotal + ' Total Libraries]');
}
else if(libtotal >= 25) {
$('div.sidebarred-main-content h3:first').append(' [' + libtotal + ' Total Libraries]');
}
else if(libtotal >= 10) {
$('div.sidebarred-main-content h3:first').append(' [' + libtotal + ' Total Libraries]');
}
else if(libtotal >= 5) {
$('div.sidebarred-main-content h3:first').append(' [' + libtotal + ' Total Libraries]');
}
else if(libtotal > 1) {
$('div.sidebarred-main-content h3:first').append(' [' + libtotal + ' Total Libraries]');
}
else if(libtotal < 0){
$('div.sidebarred-main-content h3:first').append(' [ Unexpected error! ]');
}
})();
// Total Libraries at search
if(window.location.href.includes("/libraries?q=")||window.location.href.includes("/libraries?locale_override=1&q=")) {
(function() {
'use strict';
let t = $('li[data-script-type="library"]').length;
if (t == 1) {
$('div.sidebarred-main-content p:first').append(' [' + t + ' Total Library]');
}
else if(t >= 50) {
$('div.sidebarred-main-content p:first').append(' [' + t + ' Total Libraries]');
}
else if(t >= 25) {
$('div.sidebarred-main-content p:first').append(' [' + t + ' Total Libraries]');
}
else if(t >= 10) {
$('div.sidebarred-main-content p:first').append(' [' + t + ' Total Libraries]');
}
else if(t >= 5) {
$('div.sidebarred-main-content p:first').append(' [' + t + ' Total Libraries]');
}
else if(t > 1) {
$('div.sidebarred-main-content p:first').append(' [' + t + ' Total Libraries]');
}
else if(t < 0){
$('div.sidebarred-main-content p:first').append(' [ Unexpected error! ]');
}
})(); // Total Scripts at search
} else if(window.location.href.includes("/scripts?q=")||(window.location.href.includes("/scripts?locale_override=1&q=")) != -1) {
(function() {
'use strict';
let l = $('li[data-script-type]').length;
if (l == 1) {
$('div.sidebarred-main-content p:first').append(' [' + l + ' Total Script]');
}
else if(l >= 50) {
$('div.sidebarred-main-content p:first').append(' [' + l + ' Total Scripts]');
}
else if(l >= 25) {
$('div.sidebarred-main-content p:first').append(' [' + l + ' Total Scripts]');
}
else if(l >= 10) {
$('div.sidebarred-main-content p:first').append(' [' + l + ' Total Scripts]');
}
else if(l >= 5) {
$('div.sidebarred-main-content p:first').append(' [' + l + ' Total Scripts]');
}
else if(l > 1) {
$('div.sidebarred-main-content p:first').append(' [' + l + ' Total Scripts]');
}
else if(l < 0){
$('div.sidebarred-main-content p:first').append(' [ Unexpected error! ]');
}
})();
}
// Log Message
let jstotal = $("span:contains('JS')").length;
let csstotal = $("span:contains('CSS')").length;
let libtotal = $("span:contains('(Library)')").length;
let t = $('li[data-script-type="library"]').length;
let l = $('li[data-script-type]').length;
console.log('[Total Scripts: ' + jstotal + ']\n[Total Styles: ' + csstotal + ']\n[Total Libraries: ' + libtotal + ']\n[Total Libraries At Search: ' + t + ']\n[Total Scripts At Search: ' + l + ']')