Multiple mutes

This commit is contained in:
2021-06-26 16:49:20 +03:00
parent cd5897845f
commit b20625f4ab
11 changed files with 7183 additions and 85 deletions

File diff suppressed because one or more lines are too long

51
extension/dist/dom.js vendored

File diff suppressed because one or more lines are too long

View File

@@ -14,8 +14,8 @@
<span class="slider round"></span> <span class="slider round"></span>
</label> </label>
</div> </div>
<div class="id_list"> <div id="id_list">
<div id="idToHide"></div> <div class="idToHide"></div>
</div> </div>
<script src="popup.js"></script></body> <script src="popup.js"></script></body>
</html> </html>

File diff suppressed because one or more lines are too long

7057
package-lock.json generated

File diff suppressed because it is too large Load Diff

24
src/dom/controls.js vendored
View File

@@ -65,20 +65,26 @@ function setIdToHideHandle(chatBody) {
return function (event) { return function (event) {
const clickedId = event.target.id.substr(4); // get id of sender from element id const clickedId = event.target.id.substr(4); // get id of sender from element id
chrome.storage.sync.set({idToHide: clickedId}, function () { chrome.storage.sync.get('idToHide', function(data) {
hideExistingMessages(clickedId); let idToHide = data.idToHide==='' ? [] : data.idToHide;
console.log('idToHide: ' + clickedId); idToHide.push(clickedId);
chrome.storage.sync.set({idToHide: idToHide}, function () {
hideExistingMessages();
console.log('idToHide: ' + data.idToHide);
});
}); });
} }
} }
export function hideExistingMessages(id) { export function hideExistingMessages() {
const chatBody = getChatBody(); chrome.storage.sync.get('idToHide', function(data) {
for (let item of chatBody.children) { const chatBody = getChatBody();
if (item.dataset.peer === id) { for (let item of chatBody.children) {
item.style.display = "none"; if (data.idToHide.includes(item.dataset.peer)) {
item.style.display = "none";
}
} }
} })
} }
// Try to add controls until successful. Needed for page refresh. // Try to add controls until successful. Needed for page refresh.

View File

@@ -18,11 +18,10 @@ function newMessageHandler(message, idToHide) {
chrome.storage.sync.get('isExtensionOn', function(data) { chrome.storage.sync.get('isExtensionOn', function(data) {
if (data.isExtensionOn) { if (data.isExtensionOn) {
if (message.dataset.peer === idToHide) { if (idToHide.includes(message.dataset.peer)) {
message.style.display = "none"; message.style.display = "none";
} }
} }
}); });
} }
} }

View File

@@ -13,6 +13,7 @@ function init() {
if (tryToInitControls()) { if (tryToInitControls()) {
createTryToInitInterval(); createTryToInitInterval();
addNewMessageEventListener(); addNewMessageEventListener();
hideExistingMessages();
} }
}) })
} }

View File

@@ -77,11 +77,15 @@ input:checked + .slider:before {
padding-bottom: 5px; padding-bottom: 5px;
} }
#idToHide { .idToHide {
margin: 10px; margin: 10px;
} }
.id_list { .idToHide:hover {
background-color: white;
}
#id_list {
background-color: #dcdfde; background-color: #dcdfde;
color: black; color: black;
width: 100vw; width: 100vw;

View File

@@ -14,8 +14,8 @@
<span class="slider round"></span> <span class="slider round"></span>
</label> </label>
</div> </div>
<div class="id_list"> <div id="id_list">
<div id="idToHide"></div> <div class="idToHide"></div>
</div> </div>
</body> </body>
</html> </html>

View File

@@ -2,13 +2,21 @@ import './popup.css'
//let disableButton = document.getElementById('disableButton'); //let disableButton = document.getElementById('disableButton');
let disableCheckbox = document.getElementById('disableCheckbox'); 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'); let status = document.getElementById('status');
var isExtensionOn; let isExtensionOn;
var idToHide; let idToHide = [];
var enableText = "Кринж офф"; let enableText = "Кринж офф";
var disableText = "Кринж он"; 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) { chrome.storage.sync.get('isExtensionOn', function(data) {
isExtensionOn = data.isExtensionOn; isExtensionOn = data.isExtensionOn;
@@ -23,7 +31,22 @@ chrome.storage.sync.get('isExtensionOn', function(data) {
chrome.storage.sync.get('idToHide', function(data) { chrome.storage.sync.get('idToHide', function(data) {
idToHide = data.idToHide; 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) => { disableCheckbox.addEventListener('change', (event) => {
@@ -38,10 +61,3 @@ disableCheckbox.addEventListener('change', (event) => {
console.log('isExtensionOn: '+isExtensionOn); console.log('isExtensionOn: '+isExtensionOn);
}); });
}); });
idToHideDisplay.addEventListener('click', function() {
chrome.storage.sync.set({idToHide: ''}, function() {
idToHideDisplay.innerText = '';
console.log('Cleared idToHide');
});
});