-
Notifications
You must be signed in to change notification settings - Fork 0
/
NjuskaHide.user.js
66 lines (53 loc) · 2.17 KB
/
NjuskaHide.user.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
// ==UserScript==
// @name NjuškaHide
// @namespace http://dominikjankovic.from.hr/
// @version 0.1
// @description Hides specific ads on Njuškalo.
// @author Dominik Janković
// @match http://www.njuskalo.hr/*
// @grant none
// ==/UserScript==
/* jshint -W097 */
'use strict';
var localStorageKey = 'Jankovic--hiddenAds';
function clearLocalStorage (err) {
localStorage.removeItem(localStorageKey);
alert("Zbog greške u dohvaćanju, lista sakrivenih oglasa morala je biti resetirana. Isprike na neugodnosti.\n\nGreška:\n" + err + "\n\nMolim kontaktirajte me na [email protected] sa slikom greške.");
}
function getHiddenAds () {
var lsArrStr = localStorage.getItem(localStorageKey);
if (lsArrStr === null)
return [];
return JSON.parse(lsArrStr);
}
function updateAdCount (offset) {
var count = parseInt($('.entity-list-header .entities-count').text());
count -= offset;
$('.entity-list-header .entities-count').text(count);
}
$('.EntityList-item').each(function () {
var id = $(this).data('ad-id');
if (getHiddenAds().indexOf(id) !== -1)
$(this).remove();
$(this).find('.tool-items').append(
$('<li>').addClass('tool-item').append(
$('<button>').addClass('icon-item tool Jankovic--tool--hideAd').data('id', id).attr('title', 'Sakrij oglas').attr('type', 'button').append(
$('<span>').addClass('icon icon--action icon--xs').attr('style', 'background: url("http://static.njuskalo.hr/images/redizajn/icons/icons.png") no-repeat -640px 0px').text('Sakrij oglas')
)
)
);
});
$('.Jankovic--tool--hideAd').click(function () {
var id = $(this).data('id');
var arr = getHiddenAds();
if(arr.indexOf(id) === -1) {
arr.push(id);
$(this).closest('.EntityList-item').remove();
updateAdCount(1);
} else {
alert('Greška! Oglas bi već trebao biti sakriven. Molim kontaktiraj me na [email protected]');
}
localStorage.setItem('Jankovic--hiddenAds', JSON.stringify(arr));
console.log(JSON.parse(localStorage.getItem('Jankovic--hiddenAds')));
});
updateAdCount(getHiddenAds().length);