mirror of
https://github.com/anatolykopyl/vk-mute.git
synced 2026-03-26 12:55:13 +00:00
Initial commit
This commit is contained in:
15
background.js
Normal file
15
background.js
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
chrome.runtime.onInstalled.addListener(function() {
|
||||||
|
chrome.storage.sync.set({isExtensionOn: true}, function() {
|
||||||
|
console.log('isExtensionOn: '+true);
|
||||||
|
});
|
||||||
|
|
||||||
|
chrome.declarativeContent.onPageChanged.removeRules(undefined, function() {
|
||||||
|
chrome.declarativeContent.onPageChanged.addRules([{
|
||||||
|
conditions: [new chrome.declarativeContent.PageStateMatcher({
|
||||||
|
pageUrl: {hostEquals: 'vk.com'},
|
||||||
|
})
|
||||||
|
],
|
||||||
|
actions: [new chrome.declarativeContent.ShowPageAction()]
|
||||||
|
}]);
|
||||||
|
});
|
||||||
|
});
|
||||||
21
hide_element.js
Normal file
21
hide_element.js
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
var idToHide;
|
||||||
|
|
||||||
|
function hidePeer(peer) {
|
||||||
|
chrome.storage.sync.get('idToHide', function(data) {
|
||||||
|
idToHide = data.idToHide
|
||||||
|
});
|
||||||
|
|
||||||
|
chrome.storage.sync.get('isExtensionOn', function(data) {
|
||||||
|
if (data.isExtensionOn) {
|
||||||
|
var x = document.querySelectorAll('[data-peer="'+peer+'"]');
|
||||||
|
|
||||||
|
x.forEach(
|
||||||
|
function(val) {
|
||||||
|
val.style.display = "none";
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
var interval = window.setInterval(function(){ hidePeer(idToHide) }, 500);
|
||||||
24
manifest.json
Normal file
24
manifest.json
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
{
|
||||||
|
"name": "Hide Cringe",
|
||||||
|
"version": "1.0",
|
||||||
|
"description": "Hides cringe",
|
||||||
|
"permissions": ["activeTab", "declarativeContent", "storage"],
|
||||||
|
"background": {
|
||||||
|
"scripts": [
|
||||||
|
"background.js"
|
||||||
|
],
|
||||||
|
"persistent": false
|
||||||
|
},
|
||||||
|
"page_action": {
|
||||||
|
"default_popup": "popup.html"
|
||||||
|
},
|
||||||
|
"manifest_version": 2,
|
||||||
|
"content_scripts": [
|
||||||
|
{
|
||||||
|
"matches": [
|
||||||
|
"https://*.vk.com/*"
|
||||||
|
],
|
||||||
|
"js": ["hide_element.js"]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
104
popup.html
Normal file
104
popup.html
Normal file
@@ -0,0 +1,104 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta charset="UTF-8">
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
min-width: 80px;
|
||||||
|
}
|
||||||
|
/* The switch - the box around the slider */
|
||||||
|
.switch {
|
||||||
|
position: relative;
|
||||||
|
display: inline-block;
|
||||||
|
width: 60px;
|
||||||
|
height: 34px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Hide default HTML checkbox */
|
||||||
|
.switch input {
|
||||||
|
opacity: 0;
|
||||||
|
width: 0;
|
||||||
|
height: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* The slider */
|
||||||
|
.slider {
|
||||||
|
position: absolute;
|
||||||
|
cursor: pointer;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
background-color: #ccc;
|
||||||
|
-webkit-transition: .4s;
|
||||||
|
transition: .4s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.slider:before {
|
||||||
|
position: absolute;
|
||||||
|
content: "";
|
||||||
|
height: 26px;
|
||||||
|
width: 26px;
|
||||||
|
left: 4px;
|
||||||
|
bottom: 4px;
|
||||||
|
background-color: white;
|
||||||
|
-webkit-transition: .4s;
|
||||||
|
transition: .4s;
|
||||||
|
}
|
||||||
|
|
||||||
|
input:checked + .slider {
|
||||||
|
background-color: #2196F3;
|
||||||
|
}
|
||||||
|
|
||||||
|
input:focus + .slider {
|
||||||
|
box-shadow: 0 0 1px #2196F3;
|
||||||
|
}
|
||||||
|
|
||||||
|
input:checked + .slider:before {
|
||||||
|
-webkit-transform: translateX(26px);
|
||||||
|
-ms-transform: translateX(26px);
|
||||||
|
transform: translateX(26px);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Rounded sliders */
|
||||||
|
.slider.round {
|
||||||
|
border-radius: 34px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.slider.round:before {
|
||||||
|
border-radius: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
background-color: #2196F3;
|
||||||
|
color: white;
|
||||||
|
width: 100vw;
|
||||||
|
position: relative;
|
||||||
|
margin-left: -50vw;
|
||||||
|
left: 50%;
|
||||||
|
margin-top: -20vw;
|
||||||
|
margin-bottom: 10vw;
|
||||||
|
padding-top: 5px;
|
||||||
|
padding-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
input {
|
||||||
|
font-size:13pt;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div class="header">
|
||||||
|
<input id="idToHide" type="text" placeholder="ID человека" />
|
||||||
|
<h3 align="center" id="status"></h3>
|
||||||
|
</div>
|
||||||
|
<!--<button id="disableButton">Toggle</button>-->
|
||||||
|
<div style="text-align: center;">
|
||||||
|
<label class="switch">
|
||||||
|
<input type="checkbox" id="disableCheckbox">
|
||||||
|
<span class="slider round"></span>
|
||||||
|
</label>
|
||||||
|
</div>
|
||||||
|
<script src="popup.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
59
popup.js
Normal file
59
popup.js
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
//let disableButton = document.getElementById('disableButton');
|
||||||
|
let disableCheckbox = document.getElementById('disableCheckbox');
|
||||||
|
let idToHideInput = document.getElementById('idToHide');
|
||||||
|
let status = document.getElementById('status');
|
||||||
|
var isExtensionOn;
|
||||||
|
var idToHide;
|
||||||
|
|
||||||
|
var enableText = "Кринж офф";
|
||||||
|
var disableText = "Кринж он";
|
||||||
|
|
||||||
|
chrome.storage.sync.get('isExtensionOn', function(data) {
|
||||||
|
isExtensionOn = data.isExtensionOn;
|
||||||
|
|
||||||
|
disableCheckbox.checked = isExtensionOn;
|
||||||
|
if (isExtensionOn) {
|
||||||
|
status.innerHTML = enableText;
|
||||||
|
} else {
|
||||||
|
status.innerHTML = disableText;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
chrome.storage.sync.get('idToHide', function(data) {
|
||||||
|
idToHide = data.idToHide;
|
||||||
|
idToHideInput.value = idToHide;
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
/*disableButton.onclick = function(element) {
|
||||||
|
isExtensionOn = !isExtensionOn;
|
||||||
|
if (isExtensionOn) {
|
||||||
|
status.innerHTML = "Enabled";
|
||||||
|
} else {
|
||||||
|
status.innerHTML = "Disabled";
|
||||||
|
}
|
||||||
|
|
||||||
|
chrome.storage.sync.set({isExtensionOn: isExtensionOn}, function() {
|
||||||
|
console.log('isExtensionOn: '+isExtensionOn);
|
||||||
|
});
|
||||||
|
};*/
|
||||||
|
|
||||||
|
disableCheckbox.addEventListener('change', (event) => {
|
||||||
|
isExtensionOn = event.target.checked;
|
||||||
|
if (event.target.checked) {
|
||||||
|
status.innerHTML = enableText;
|
||||||
|
} else {
|
||||||
|
status.innerHTML = disableText;
|
||||||
|
}
|
||||||
|
|
||||||
|
chrome.storage.sync.set({isExtensionOn: isExtensionOn}, function() {
|
||||||
|
console.log('isExtensionOn: '+isExtensionOn);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
idToHideInput.addEventListener('input', (event) => {
|
||||||
|
chrome.storage.sync.set({idToHide: idToHideInput.value}, function() {
|
||||||
|
console.log('idToHide: '+idToHideInput.value);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
Reference in New Issue
Block a user