mirror of
https://github.com/anatolykopyl/vk-mute.git
synced 2026-03-26 04:45:15 +00:00
Multiple mutes
This commit is contained in:
2
extension/dist/background.js
vendored
2
extension/dist/background.js
vendored
File diff suppressed because one or more lines are too long
51
extension/dist/dom.js
vendored
51
extension/dist/dom.js
vendored
File diff suppressed because one or more lines are too long
4
extension/dist/popup.html
vendored
4
extension/dist/popup.html
vendored
@@ -14,8 +14,8 @@
|
||||
<span class="slider round"></span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="id_list">
|
||||
<div id="idToHide"></div>
|
||||
<div id="id_list">
|
||||
<div class="idToHide"></div>
|
||||
</div>
|
||||
<script src="popup.js"></script></body>
|
||||
</html>
|
||||
70
extension/dist/popup.js
vendored
70
extension/dist/popup.js
vendored
File diff suppressed because one or more lines are too long
7057
package-lock.json
generated
7057
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
24
src/dom/controls.js
vendored
24
src/dom/controls.js
vendored
@@ -65,20 +65,26 @@ function setIdToHideHandle(chatBody) {
|
||||
return function (event) {
|
||||
const clickedId = event.target.id.substr(4); // get id of sender from element id
|
||||
|
||||
chrome.storage.sync.set({idToHide: clickedId}, function () {
|
||||
hideExistingMessages(clickedId);
|
||||
console.log('idToHide: ' + clickedId);
|
||||
chrome.storage.sync.get('idToHide', function(data) {
|
||||
let idToHide = data.idToHide==='' ? [] : data.idToHide;
|
||||
idToHide.push(clickedId);
|
||||
chrome.storage.sync.set({idToHide: idToHide}, function () {
|
||||
hideExistingMessages();
|
||||
console.log('idToHide: ' + data.idToHide);
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
export function hideExistingMessages(id) {
|
||||
const chatBody = getChatBody();
|
||||
for (let item of chatBody.children) {
|
||||
if (item.dataset.peer === id) {
|
||||
item.style.display = "none";
|
||||
export function hideExistingMessages() {
|
||||
chrome.storage.sync.get('idToHide', function(data) {
|
||||
const chatBody = getChatBody();
|
||||
for (let item of chatBody.children) {
|
||||
if (data.idToHide.includes(item.dataset.peer)) {
|
||||
item.style.display = "none";
|
||||
}
|
||||
}
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// Try to add controls until successful. Needed for page refresh.
|
||||
|
||||
@@ -18,11 +18,10 @@ function newMessageHandler(message, idToHide) {
|
||||
|
||||
chrome.storage.sync.get('isExtensionOn', function(data) {
|
||||
if (data.isExtensionOn) {
|
||||
if (message.dataset.peer === idToHide) {
|
||||
if (idToHide.includes(message.dataset.peer)) {
|
||||
message.style.display = "none";
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
}
|
||||
@@ -13,6 +13,7 @@ function init() {
|
||||
if (tryToInitControls()) {
|
||||
createTryToInitInterval();
|
||||
addNewMessageEventListener();
|
||||
hideExistingMessages();
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
@@ -77,11 +77,15 @@ input:checked + .slider:before {
|
||||
padding-bottom: 5px;
|
||||
}
|
||||
|
||||
#idToHide {
|
||||
.idToHide {
|
||||
margin: 10px;
|
||||
}
|
||||
|
||||
.id_list {
|
||||
.idToHide:hover {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
#id_list {
|
||||
background-color: #dcdfde;
|
||||
color: black;
|
||||
width: 100vw;
|
||||
|
||||
@@ -14,8 +14,8 @@
|
||||
<span class="slider round"></span>
|
||||
</label>
|
||||
</div>
|
||||
<div class="id_list">
|
||||
<div id="idToHide"></div>
|
||||
<div id="id_list">
|
||||
<div class="idToHide"></div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
@@ -2,13 +2,21 @@ import './popup.css'
|
||||
|
||||
//let disableButton = document.getElementById('disableButton');
|
||||
let disableCheckbox = document.getElementById('disableCheckbox');
|
||||
let idToHideDisplay = document.getElementById('idToHide');
|
||||
let idToHideDisplay = document.getElementsByClassName('idToHide');
|
||||
let idList = document.getElementById("id_list");
|
||||
let status = document.getElementById('status');
|
||||
var isExtensionOn;
|
||||
var idToHide;
|
||||
let isExtensionOn;
|
||||
let idToHide = [];
|
||||
|
||||
var enableText = "Кринж офф";
|
||||
var disableText = "Кринж он";
|
||||
let enableText = "Кринж офф";
|
||||
let disableText = "Кринж он";
|
||||
|
||||
function idBtnHTML(id) {
|
||||
const element = document.createElement('div');
|
||||
element.setAttribute('class', 'idToHide');
|
||||
element.innerHTML = id;
|
||||
return element;
|
||||
}
|
||||
|
||||
chrome.storage.sync.get('isExtensionOn', function(data) {
|
||||
isExtensionOn = data.isExtensionOn;
|
||||
@@ -23,7 +31,22 @@ chrome.storage.sync.get('isExtensionOn', function(data) {
|
||||
|
||||
chrome.storage.sync.get('idToHide', function(data) {
|
||||
idToHide = data.idToHide;
|
||||
idToHideDisplay.innerText = idToHide;
|
||||
for (const id in idToHide) {
|
||||
const row = idBtnHTML(idToHide[id]);
|
||||
idList.appendChild(row);
|
||||
}
|
||||
for (const element of idToHideDisplay) {
|
||||
element.addEventListener('click', function() {
|
||||
const index = idToHide.indexOf(element.innerText)
|
||||
if (index > -1) {
|
||||
idToHide.splice(index, 1);
|
||||
}
|
||||
chrome.storage.sync.set({idToHide: idToHide}, function() {
|
||||
element.innerText = '';
|
||||
console.log('Cleared idToHide');
|
||||
});
|
||||
});
|
||||
};
|
||||
});
|
||||
|
||||
disableCheckbox.addEventListener('change', (event) => {
|
||||
@@ -37,11 +60,4 @@ disableCheckbox.addEventListener('change', (event) => {
|
||||
chrome.storage.sync.set({isExtensionOn}, function() {
|
||||
console.log('isExtensionOn: '+isExtensionOn);
|
||||
});
|
||||
});
|
||||
|
||||
idToHideDisplay.addEventListener('click', function() {
|
||||
chrome.storage.sync.set({idToHide: ''}, function() {
|
||||
idToHideDisplay.innerText = '';
|
||||
console.log('Cleared idToHide');
|
||||
});
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user