// ==UserScript==
// @name Greasy Fork Install Button at search
// @namespace -
// @version 1.0.0
// @description adds install button at search and at user pages.
// @author NotYou
// @match *://*sleazyfork.org/*
// @match *://*greasyfork.org/*
// @grant none
// @run-at document-idle
// @license GPL-3.0-or-later
// @downloadURL none
// ==/UserScript==
(function() {
var $ = (s) => document.querySelector(s)
var $$ = (s) => document.querySelectorAll(s)
var appendHTML = function(el, html) {
el.insertAdjacentHTML('beforeend', html)
}
var domain = location.host
// STYLES
appendHTML($('head'), [''].join(''))
// USER SCRIPT
$$('#user-script-list > li[data-script-type="public"] > article > h2 > a, #browse-script-list > li[data-script-type="public"] > article > h2 > a').forEach(function(e) {
var data = e.parentNode.parentNode.parentNode.dataset
var scriptId = data.scriptId
var scriptName = data.scriptName
appendHTML(e, 'Install')
})
// USER STYLE
$$('#user-script-list > li[data-script-language="css"] > article > h2 > a, #browse-script-list > li[data-script-language="css"] > article > h2 > a').forEach(function(e) {
var data = e.parentNode.parentNode.parentNode.dataset
var scriptId = data.scriptId
var scriptName = data.scriptName
appendHTML(e, 'Install as style')
})
// LIBRARIES
$$('#user-library-script-list > li > article > h2 > a, #browse-script-list > li[data-script-type="library"] > article > h2 > a').forEach(function(e) {
var data = e.parentNode.parentNode.parentNode.dataset
var scriptId = data.scriptId
var scriptName = data.scriptName
var _scriptName = scriptName.replace(/\s/g, "-")
appendHTML(e, 'Copy URL')
})
})()