Skip to content

Instantly share code, notes, and snippets.

@JPRuskin
Last active January 5, 2020 22:41
Show Gist options
  • Save JPRuskin/4c052f42efb3acd691ad to your computer and use it in GitHub Desktop.
Save JPRuskin/4c052f42efb3acd691ad to your computer and use it in GitHub Desktop.
// ==UserScript==
// @name BetterHangar
// @namespace http:\\justpowerdown.com
// @version 0.3
// @updateURL https://gist.githubusercontent.com/JPRuskin/4c052f42efb3acd691ad/raw/betterhangar.js
// @downloadURL https://gist.githubusercontent.com/JPRuskin/4c052f42efb3acd691ad/raw/betterhangar.js
// @description Adds some additional functionality to the Pledges (Hangar) page on RSI
// @author @JPRuskin
// @match https://robertsspaceindustries.com/account/pledges*
// @grant none
// @run-at document-idle
// ==/UserScript==
function TotalMelt() {
var totalMelt = 0;
var items = $('.list-items li');
items.each(
function(e) {
if ($('.js-pledge-name', this).val() == null) return;
var pledgeValue = $('.js-pledge-value', this).val().replace(/^\$(\d+)\.\d\d\sUSD$/, '$1' );
totalMelt += parseInt(pledgeValue, 10);
});
return totalMelt
};
function toggleZeroCost(action) {
var items = $('.list-items li');
items.each(
function(e) {
if ($('.js-pledge-name', this).val() == null) return;
var pledgeValue = $('.js-pledge-value', this).val().replace(/^\$(\d+)\.\d\d\sUSD$/, '$1' );
if (parseInt(pledgeValue, 10) == 0) {
if (items[e].classList.contains('hidden')) {
items[e].classList.remove('hidden');
}
else {
items[e].classList.add('hidden');
}
if (action == 'hide') {items[e].classList.add('hidden')}
if (action == 'show') {items[e].classList.remove('hidden')}
};
});
};
function AddHangarElements() {
var mygear = document.getElementsByClassName('controls')[0].parentNode;
var mygearControls = document.getElementsByClassName('controls')[0];
var cloneButton = document.getElementsByClassName('shadow-button trans-02s trans-color pledge-log js-pledge-log')[0];
// Hide $0 Items Button
var newHideZeroButton = cloneButton.cloneNode(true);
newHideZeroButton.childNodes[1].innerHTML = 'Toggle $0 Pledges'
newHideZeroButton.classList.remove('pledge-log');
newHideZeroButton.classList.remove('js-pledge-log');
newHideZeroButton.addEventListener("click", toggleZeroCost, true);
// Add Melt Value
var meltSpan = document.createElement("span");
meltSpan.setAttribute("class", "description-col ");
var meltValue = document.createTextNode("Page Melt Value: $" + TotalMelt());
meltSpan.appendChild(meltValue);
mygearControls.appendChild(newHideZeroButton, mygearControls.childNodes[1]);
mygear.insertBefore(meltSpan, mygear.childNodes[4]);
}; AddHangarElements();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment