-
Notifications
You must be signed in to change notification settings - Fork 0
/
YV-ignore.user.js
108 lines (94 loc) · 3.07 KB
/
YV-ignore.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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
// ==UserScript==
// @name YV-ignore
// @namespace http://tampermonkey.net/
// @version 0.2
// @description Tavoitteena tehdä Yksivaihde.netistä hieman parempaa luettavaa.
// @author Okw
// @include http://www.yksivaihde.net/site/foorumi/*
// @require https://openuserjs.org/src/libs/sizzle/GM_config.js
// @grant GM_getValue
// @grant GM_setValue
// @grant GM_registerMenuCommand
// ==/UserScript==
const windowcss = `#newtaberCfg {background-color: #ddd;}
#newtaberCfg .reset_holder {float: left; position: relative; bottom: -1em;}
#newtaberCfg .saveclose_buttons {margin: .7em;}
#newtaberCfg textarea[id^='newtaberCfg_field_ignore_'] {width: 100%; height: 10em; margin-bottom: 2em;`;
const iframecss = 'height: 50%; width: 30em; border: 1px solid #aaa; border-radius: 3px; position: fixed; z-index: 999;';
GM_registerMenuCommand('Muuta ignore-listaa', opencfg);
function opencfg() {
GM_config.open();
newtaberCfg.style = iframecss;
}
GM_config.init({
id: 'newtaberCfg',
title: 'Ignore-listan hallinta',
fields:
{
ignore_postaus:
{
section: ['Postaus-ignore'],
label: '(1 nimimerkki / rivi)',
labelPos: 'top',
type: 'textarea',
},
ignore_etusivu:
{
section: ['Etusivu-ignore'],
label: '(1 nimimerkki / rivi)',
labelPos: 'top',
type: 'textarea',
},
},
css: windowcss,
events:
{
save: function() {
GM_config.close();
}
},
});
function etusivu_ignore(nimimerkit) {
var etusivun_topit = document.getElementById("latest").children[0].children;
for (var i = 1, alt = false; i < etusivun_topit.length; i++) {
var tr = etusivun_topit[i];
if (nimimerkit.includes(tr.children[0].children[1].innerHTML.slice(1,-1))) {
tr.style.display = "none";
continue;
}
if (alt) {
tr.setAttribute("class", "alt");
} else {
tr.removeAttribute("class");
}
alt = !alt;
}
}
function postaus_ignore(nimimerkit) {
var viestit = document.getElementsByClassName("threadauthor");
for (var i = 0, alt = false; i < viestit.length; i++) {
var li = viestit[i].parentNode;
if (nimimerkit.includes(viestit[i].children[0].children[2].innerText)) {
li.style.display = "none";
continue;
}
if (alt) {
li.setAttribute("class", "alt");
} else {
li.removeAttribute("class");
}
alt = !alt;
}
}
(function() {
'use strict';
if (window.location.href.endsWith("/site/foorumi/")) {
// Ollaan etusivulla
etusivu_ignore(GM_config.get("ignore_etusivu").trim().split('\n'));
} else if (window.location.href.includes("topic.php")) {
// Ollaan viestiketjussa
postaus_ignore(GM_config.get("ignore_postaus").trim().split('\n'));
} else {
// Ollaan jossain muualla
}
})();