Залил код

This commit is contained in:
Sergey Karmanov 2023-09-02 19:36:36 +03:00
parent 644ce1b49d
commit b72cf26429
Signed by: serega404
GPG Key ID: B6AD49C8C835460C
11 changed files with 216 additions and 0 deletions

18
SfeduHelper/grade.js Normal file
View File

@ -0,0 +1,18 @@
if (document.getElementById('signoauthin_b')) {
document.getElementById('signoauthin_b').addEventListener('click', function () {
if (document.getElementById("loginoauth").value.toLowerCase().match(/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|.(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
)) {
chrome.storage.local.set({ "email": document.getElementById("loginoauth").value }, function () {
console.log('Email сохранен');
});
} else {
console.log("Не удалось сохранить email");
}
});
chrome.storage.local.get(["email"], function (items) {
if (items["email"] != undefined && document.getElementById("loginoauth").value == "") {
document.getElementById("loginoauth").value = items["email"];
}
});
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,7 @@
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Uploaded to: SVG Repo, www.svgrepo.com, Transformed by: SVG Repo Mixer Tools -->
<svg width="800px" height="800px" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<g id="SVGRepo_bgCarrier" stroke-width="0"/>
<g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"/>
<g id="SVGRepo_iconCarrier"> <path d="M20.5001 6H3.5" stroke="#ffffff" stroke-width="1.5" stroke-linecap="round"/> <path d="M18.8332 8.5L18.3732 15.3991C18.1962 18.054 18.1077 19.3815 17.2427 20.1907C16.3777 21 15.0473 21 12.3865 21H11.6132C8.95235 21 7.62195 21 6.75694 20.1907C5.89194 19.3815 5.80344 18.054 5.62644 15.3991L5.1665 8.5" stroke="#ffffff" stroke-width="1.5" stroke-linecap="round"/> <path d="M9.5 11L10 16" stroke="#ffffff" stroke-width="1.5" stroke-linecap="round"/> <path d="M14.5 11L14 16" stroke="#ffffff" stroke-width="1.5" stroke-linecap="round"/> <path d="M6.5 6C6.55588 6 6.58382 6 6.60915 5.99936C7.43259 5.97849 8.15902 5.45491 8.43922 4.68032C8.44784 4.65649 8.45667 4.62999 8.47434 4.57697L8.57143 4.28571C8.65431 4.03708 8.69575 3.91276 8.75071 3.8072C8.97001 3.38607 9.37574 3.09364 9.84461 3.01877C9.96213 3 10.0932 3 10.3553 3H13.6447C13.9068 3 14.0379 3 14.1554 3.01877C14.6243 3.09364 15.03 3.38607 15.2493 3.8072C15.3043 3.91276 15.3457 4.03708 15.4286 4.28571L15.5257 4.57697C15.5433 4.62992 15.5522 4.65651 15.5608 4.68032C15.841 5.45491 16.5674 5.97849 17.3909 5.99936C17.4162 6 17.4441 6 17.5 6" stroke="#ffffff" stroke-width="1.5"/> </g>
</svg>

After

Width:  |  Height:  |  Size: 1.6 KiB

32
SfeduHelper/manifest.json Normal file
View File

@ -0,0 +1,32 @@
{
"name": "Sfedu Helper",
"description": "Расширение для упрощения работы с сайтами Sfedu",
"version": "1.0",
"manifest_version": 3,
"icons": {
"64": "icons/iconEn64.png",
"128": "icons/iconEn128.png"
},
"action": {
"default_popup": "popup.html"
},
"permissions": [
"storage",
"activeTab",
"tabs"
],
"content_scripts": [
{
"matches": [
"https://grade.sfedu.ru/", "https://grade.sfedu.ru/sign"
],
"js": [
"grade.js"
]
}
],
"background": {
"service_worker": "service_worker.js",
"type": "module"
}
}

99
SfeduHelper/popup.css Normal file
View File

@ -0,0 +1,99 @@
body {
width: 200px;
height: 150px;
}
h1 {
text-align: center;
}
#main {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
#clearBtn {
color: white;
background-color: #4272e1;
width: 80%;
height: 35px;
margin-bottom: 10px;
border-radius: 20px;
border: none;
display: flex;
justify-content: center;
align-items: center;
}
#clearBtn:hover {
background-color: #003ece;
}
img {
width: 20px;
height: 20px;
margin-right: 5px;
}
#version {
color: gray;
display: flex;
justify-content: center;
align-items: center;
}
.notif {
position: fixed;
left: 15px;
bottom: -50px;
padding: 8px 15px 8px 15px;
vertical-align: middle;
color: #fff;
background-color: #38bc73;
box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
border-radius: 20px;
font-family: "Trebuchet MS", Helvetica, sans-serif;
}
.peek {
-webkit-animation: peek 2.5s forwards;
animation: peek 2.5s forwards;
}
@-webkit-keyframes peek {
0% {
bottom: -50px;
}
20% {
bottom: 15px;
}
90% {
bottom: 15px;
}
100% {
bottom: -50px;
}
}
@keyframes peek {
0% {
bottom: -90px;
}
20% {
bottom: 15px;
}
90% {
bottom: 15px;
}
100% {
bottom: -50px;
}
}

20
SfeduHelper/popup.html Normal file
View File

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Sfedu Helper</title>
<link rel="stylesheet" type="text/css" href="popup.css" />
<script src="popup.js"></script>
</head>
<body>
<div id="main">
<h1><b style="color: #FF4534;">Sfedu</b> <b style="color: #0033AB;">Helper</b></h1>
<button id="clearBtn"><img src="icons/trash.svg" />Очистить данные</button>
<p id="version">V 1.0.0</p>
</div>
<div id="popup"></div>
</body>
</html>

10
SfeduHelper/popup.js Normal file
View File

@ -0,0 +1,10 @@
document.addEventListener('DOMContentLoaded', function() {
var checkButton = document.getElementById('clearBtn');
checkButton.addEventListener('click', function() {
chrome.storage.local.clear(function () {
var popup = document.getElementById("popup");
popup.innerHTML = "<div class=\"notif peek\">OK</div>";
});
}, false);
}, false);

View File

@ -0,0 +1,30 @@
chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
// Получить URL текущей вкладки
var url = tab.url;
var manifestData = chrome.runtime.getManifest();
var enabled = false;
manifestData.content_scripts[0].matches.forEach((element) => {
console.log(element + " " + url.includes(element));
enabled = url.includes(element)
});
if (enabled) {
chrome.action.setIcon({ path: {
"64" : "icons/iconEn64.png",
"128" : "icons/iconEn128.png"
}, tabId: tabId });
// Установить обработчик клика по иконке
chrome.action.onClicked.addListener(function (tab) {
// Выполнить какое-то действие при клике
});
} else {
chrome.action.setIcon({ path: {
"64" : "icons/iconDis64.png",
"128" : "icons/iconDis128.png"
}, tabId: tabId });
// Установить обработчик клика по иконке
chrome.action.onClicked.addListener(function (tab) {
// Показать alert при клике
alert("This extension is not available for this page");
});
}
});