This repository has been archived by the owner on Nov 28, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathskinDependency.js
114 lines (112 loc) · 5.98 KB
/
skinDependency.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
109
110
111
112
113
114
let skinDependencies = {
"senkawa": {
addArticleButton: (text, onclick) => {
var aTag = document.createElement("a");
aTag.className = "btn btn-secondary";
aTag.setAttribute("role", "button");
aTag.innerHTML = text;
aTag.href = "#";
aTag.addEventListener('click', (evt) => {
evt.preventDefault();
onclick(evt);
});
var buttonGroup = document.querySelector('body.senkawa .wiki-article-menu > div.btn-group');
buttonGroup.insertBefore(aTag, buttonGroup.firstChild);
},
addItemToMemberMenu: (text, onclick) => {
let navbar = document.querySelector('nav.navbar ul.nav.navbar-nav');
if (!navbar.querySelector('.nf-navbar-dropdown')) {
let nfNavDropdown = document.createElement('li');
nfNavDropdown.className = "nav-item dropdown nf-navbar-dropdown";
nfNavDropdown.innerHTML = '<a class="nav-link dropdown-toggle" href="#" title="NamuFix" data-toggle="dropdown" role="button"><span class="icon ion-wrench"></span><span class="icon-title">NamuFix</span></a><div class="dropdown-menu right"></div>';
navbar.appendChild(nfNavDropdown)
}
let nfNavDropdown = navbar.querySelector('.nf-navbar-dropdown .dropdown-menu');
let menuItem = document.createElement('a');
menuItem.className = "dropdown-item";
menuItem.innerHTML = `<span class="icon ion-wrench"></span><span class="icon-title">${text}</span>`;
menuItem.href = '#';
menuItem.addEventListener('click', onclick);
nfNavDropdown.appendChild(menuItem);
},
get IsLoggedIn() {
return document.querySelector('img.profile-img, img.user-img') !== null;
},
get UserName() {
return document.querySelector('body.Liberty .navbar-login .login-menu .dropdown-menu .dropdown-item:first-child, div.user-info > div.user-info > div:first-child').textContent.trim();
}
},
"buma": {
addArticleButton: (text, onclick) => {
let menu = document.querySelector('#wiki-article-menu ul');
let item = document.createElement("li");
item.innerHTML = `<a href="#"><span class="icon"><i class="fas fa-wrench"></i></span><span class="wiki-article-menu-text">${text}</span></a>`;
item.querySelector('a').addEventListener("click", onclick);
menu.appendChild(item);
},
addItemToMemberMenu: (text, onclick) => {
let menu = document.querySelector('.navbar-end .navbar-item.has-dropdown .navbar-dropdown');
if (!menu.querySelector('.navbar-divider.nf-divider'))
menu.appendChild((() => {
let i = document.createElement('div');
i.className = 'navbar-divider nf-divider';
return i;
})());
let menuItem = document.createElement("a");
menuItem.className = "navbar-item";
menuItem.href = "#";
menuItem.innerHTML = `<span class="icon"><i class="fas fa-wrench"></i></span>${text}`;
menuItem.addEventListener('click', onclick);
menu.appendChild(menuItem);
},
get IsLoggedIn() {
return document.querySelectorAll('.navbar-end .navbar-item.has-dropdown .navbar-dropdown .navbar-item').length > 2; // 내가 생각해도 병신같은 발상
},
get UserName() {
return document.querySelector('.navbar-end .navbar-item.has-dropdown a.navbar-link:first-child').textContent.trim();
}
},
"liberty": {
addArticleButton: (text, onclick) => {
var aTag = document.createElement("a");
aTag.className = "btn btn-secondary tools-btn";
aTag.setAttribute("role", "button");
aTag.innerHTML = text;
aTag.href = "#";
aTag.addEventListener('click', (evt) => {
evt.preventDefault();
onclick(evt);
});
var buttonGroup = document.querySelector('body.Liberty .liberty-content .content-tools .btn-group');
buttonGroup.insertBefore(aTag, buttonGroup.firstChild);
},
addItemToMemberMenu: (text, onclick) => {
let navbar = document.querySelector('nav.navbar ul.nav.navbar-nav');
if (!navbar.querySelector('.nf-navbar-dropdown')) {
let nfNavDropdown = document.createElement('li');
nfNavDropdown.className = "nav-item dropdown nf-navbar-dropdown";
nfNavDropdown.innerHTML = '<a class="nav-link dropdown-toggle" href="#" title="NamuFix" data-toggle="dropdown" role="button"><span class="icon ion-wrench"></span><span class="icon-title">NamuFix</span></a><div class="dropdown-menu right"></div>';
navbar.appendChild(nfNavDropdown)
}
let nfNavDropdown = navbar.querySelector('.nf-navbar-dropdown .dropdown-menu');
let menuItem = document.createElement('a');
menuItem.className = "dropdown-item";
menuItem.innerHTML = `<span class="icon ion-wrench"></span><span class="icon-title">${text}</span>`;
menuItem.href = '#';
menuItem.addEventListener('click', onclick);
nfNavDropdown.appendChild(menuItem);
},
get IsLoggedIn() {
return document.querySelector('img.profile-img, img.user-img') !== null;
},
get UserName() {
return document.querySelector('body.Liberty .navbar-login .login-menu .dropdown-menu .dropdown-item:first-child, div.user-info > div.user-info > div:first-child').textContent.trim();
}
}
}
function getSkinDependency(skinName) {
return skinDependencies[skinName] || null;
}
function getSkinSupports() {
return Object.keys(skinDependencies);
}