2017-09-28 10:30:53 -05:00
|
|
|
// ==UserScript==
|
|
|
|
|
// @name Official Amazon Giveaway Listing Visited Remover
|
|
|
|
|
// @namespace danielrayjones
|
|
|
|
|
// @description Allow removal of visited links on Amazon Giveaway Listing
|
2017-09-28 10:33:25 -05:00
|
|
|
// @include https://smile.amazon.com/ga/giveaways*
|
|
|
|
|
// @include https://www.amazon.com/ga/giveaways*
|
2018-06-28 10:15:06 -05:00
|
|
|
// @version 1.8.0
|
2017-09-28 10:30:53 -05:00
|
|
|
// @require https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js
|
|
|
|
|
// ==/UserScript==
|
|
|
|
|
|
|
|
|
|
var checked = false;
|
2017-10-20 12:45:10 -05:00
|
|
|
var regex_hide;
|
2017-09-28 10:30:53 -05:00
|
|
|
|
2017-09-28 11:56:42 -05:00
|
|
|
var getSmallUrl = function(fullUrl) {
|
|
|
|
|
return fullUrl.split('?')[0];
|
|
|
|
|
};
|
|
|
|
|
|
2017-09-28 10:30:53 -05:00
|
|
|
var hideOne = function(el) {
|
2017-10-26 07:12:01 -05:00
|
|
|
$(el).parents('.giveawayItemContainer').css('display', checked ? 'none' : 'block');
|
2017-09-28 10:30:53 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var hideVisited = function(evt) {
|
|
|
|
|
checked = $(this).prop('checked');
|
2017-10-26 07:12:01 -05:00
|
|
|
var $links = $('#giveaway-grid a[href*="amazon.com/ga"]');
|
2017-09-28 10:30:53 -05:00
|
|
|
|
2017-10-20 12:45:10 -05:00
|
|
|
var hide = regex_hide ? new RegExp(regex_hide, 'i') : null;
|
|
|
|
|
|
2017-09-28 10:30:53 -05:00
|
|
|
$links.each(function() {
|
2017-09-28 11:56:42 -05:00
|
|
|
var href = getSmallUrl($(this).attr('href'));
|
2017-09-28 10:30:53 -05:00
|
|
|
if (localStorage.getItem(href)) {
|
|
|
|
|
hideOne(this);
|
|
|
|
|
}
|
2017-10-20 12:45:10 -05:00
|
|
|
|
2017-10-26 07:12:01 -05:00
|
|
|
var title = $(this).find('.giveawayPrizeNameContainer').text();
|
2017-10-23 07:59:12 -05:00
|
|
|
if (hide && title && hide.test(title)) {
|
2017-10-20 12:45:10 -05:00
|
|
|
hideOne(this);
|
|
|
|
|
}
|
2017-09-28 10:30:53 -05:00
|
|
|
});
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
$(document).ready(function() {
|
2018-06-28 10:15:06 -05:00
|
|
|
$('head').append('<base target="_blank" />');
|
|
|
|
|
|
2017-10-26 07:12:01 -05:00
|
|
|
$('#giveaway-grid').on('click', 'a[href*="amazon.com/ga"]', function(evt) {
|
2017-09-28 10:30:53 -05:00
|
|
|
|
2017-09-28 11:56:42 -05:00
|
|
|
var href = getSmallUrl($(this).attr('href'));
|
2017-09-28 10:30:53 -05:00
|
|
|
localStorage[href] = "visited";
|
|
|
|
|
hideOne(this);
|
|
|
|
|
});
|
|
|
|
|
|
2017-10-20 12:45:10 -05:00
|
|
|
regex_hide = localStorage.getItem('regex_hide') || '';
|
|
|
|
|
|
2017-10-26 07:12:01 -05:00
|
|
|
$('#giveaway-result-info-bar-content')
|
|
|
|
|
.append('<label><input type="checkbox" id="hide_visited"/> Visited</label>')
|
|
|
|
|
.append(`<input id="hide_regex" value="${regex_hide}"/>`);
|
2017-10-20 12:45:10 -05:00
|
|
|
|
2017-09-28 10:30:53 -05:00
|
|
|
$('#hide_visited').on('click', hideVisited);
|
2017-10-20 12:45:10 -05:00
|
|
|
$('#hide_regex').on('change', function() {
|
|
|
|
|
regex_hide = $(this).val();
|
|
|
|
|
localStorage.regex_hide = regex_hide;
|
|
|
|
|
});
|
2017-09-28 10:30:53 -05:00
|
|
|
});
|