Version 1.1.1

Распределил файлы по папкам

Добавил функцию из другого расширения - при нажатии кнопки проверить у вас будут верны все ответы, даже если все поля пустые(так лучше не делать, поскольку преподователи видят это)
This commit is contained in:
FutureX
2018-04-13 00:25:58 +03:00
parent 54a10af97c
commit 9ac51eaa9c
11 changed files with 129 additions and 56 deletions

28
popup/popup.html Normal file
View File

@@ -0,0 +1,28 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<html>
<head>
<title>LMS Answers</title>
<link rel="stylesheet" href="popup_style.css">
<script type="text/javascript" src="popup.js"> </script>
</head>
<body>
<div class="shadow title_text">
<h1>LMS Answers</h1>
</div>
<div class="button-add style style_1">
<input id="show_answers" type="checkbox">
<label for="show_answers" data-on-text="Автоматический режим" data-off-text="Автоматический режим"></label>
<div class="button-add__icon"></div>
</div>
<div class="button-add style style_3">
<input id="true_answers" type="checkbox">
<label for="true_answers" data-on-text="Максимальные баллы" data-off-text="Максимальные баллы"></label>
<div class="button-add__icon"></div>
</div>
<div class="">
<button id="showBtn">Показать ответы</button>
</div>
</body>
</html>

61
popup/popup.js Normal file
View File

@@ -0,0 +1,61 @@
document.addEventListener('DOMContentLoaded', function() {
loadOptions();
var showButton = document.getElementById('showBtn');
showButton.addEventListener('click', function() {
show();
}, false);
var showChecker = document.getElementById('show_answers');
showChecker.addEventListener('change', function() {
saveOptions();
show();
}, false);
var trueChecker = document.getElementById('true_answers');
trueChecker.addEventListener('change', function() {
saveOptions();
autotrue();
}, false);
}, false);
function loadOptions() {
chrome.storage.sync.get(['show_answers','true_answers'], function(items) {
var choise=items['show_answers'];
if(choise == undefined) choise = true;
var select = document.getElementById("show_answers");
select.checked = choise;
if(select.checked) chrome.browserAction.setBadgeText({text: "on"});
else chrome.browserAction.setBadgeText({text: "off"});
choise=items['true_answers'];
if(choise == undefined) choise = false;
var select = document.getElementById("true_answers");
select.checked = choise;
if(select.checked) chrome.browserAction.setBadgeText({text: "on"});
});
}
function saveOptions() {
var select = document.getElementById("show_answers");
chrome.storage.sync.set({'show_answers': select.checked});
if(select.checked) chrome.browserAction.setBadgeText({text: "on"});
else chrome.browserAction.setBadgeText({text: "off"});
select = document.getElementById("true_answers");
chrome.storage.sync.set({'true_answers': select.checked});
if(select.checked) chrome.browserAction.setBadgeText({text: "on"});
}
function show() {
var query = { active: true, currentWindow: true };
chrome.tabs.query(query, function(tabs) {
chrome.tabs.sendMessage(tabs[0].id, {command: "show"});
});
}
function autotrue() {
alert("Чтобы обновления вступили в силу обновите страницу");
var select = document.getElementById("true_answers");
if(select.checked===true)
chrome.runtime.sendMessage({msg: "auto_on"})
else
chrome.runtime.sendMessage({msg: "auto_off"});
}

161
popup/popup_style.css Normal file
View File

@@ -0,0 +1,161 @@
@import url(https://fonts.googleapis.com/css?family=Arvo:700);
body {
background-color: #222;
width: 250px;
}
.shadow {
color: #fff;
font-family: Arvo;
font-weight: bold;
text-shadow:
-3px -3px 0 #222,
3px -3px 0 #222,
-3px 3px 0 #222,
3px 3px 0 #222,
4px 4px 0 #fff,
5px 5px 0 #fff,
6px 6px 0 #fff,
7px 7px 0 #fff;
line-height: 1.8em;
letter-spacing: 0.1em;
transform: scaleY(0.7);
-webkit-transform: scaleY(0.7);
-moz-transform: scaleY(0.7);
margin:0;
text-align: center;
padding:0;
}
.title_text {
margin: -22px;
font-size: 22px;
}
.button-add {
margin: 0 20px;
margin-bottom: 5px; }
.button-add {
position: relative;
display: inline-block;
color: #fff; }
.button-add label {
display: inline-block;
text-transform: uppercase;
cursor: pointer;
text-align: left; }
.button-add input {
display: none; }
.button-add__icon {
cursor: pointer;
pointer-events: none; }
.button-add__icon:before, .button-add__icon:after {
content: "";
position: absolute;
top: 45%;
left: 35%;
transition: 0.2s ease-out; }
.style label {
height: 30px;
line-height: 30px;
transition: all 0.2s;
border-radius: 2rem; }
.style label:before {
content: attr(data-on-text); }
.style label:after {
content: attr(data-off-text); }
.style input[type=checkbox] + label {
width: 210px;
background: #FF5335; }
.style input[type=checkbox]:checked ~ label {
width: 210px;
background: #61B136; }
.style input[type=checkbox]:checked ~ .button-add__icon:before {
transform: translate(-10%, 100%) rotate(45deg);
width: 10.66667px; }
.style input[type=checkbox]:checked ~ .button-add__icon:after {
transform: translate(30%) rotate(-45deg); }
.style .button-add__icon {
position: absolute;
left: 0;
top: 0;
height: 30px;
width: 30px; }
.style .button-add__icon:before, .style .button-add__icon:after {
height: 3px;
border-radius: 3px;
background: #fff;
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1); }
.style .button-add__icon:before {
width: 17px;
transform: rotate(90deg); }
.style .button-add__icon:after {
width: 17px;
transform: rotate(0); }
.style_1 label:before, .style_1 label:after {
position: absolute;
right: 0.9rem;
transition: all 0.2s .15s ease-out; }
.style_2 label:before, .style_2 label:after {
position: absolute;
right: 1.3rem;
transition: all 0.2s .15s ease-out; }
.style_3 label:before, .style_3 label:after {
position: absolute;
right: 1.4rem;
transition: all 0.2s .15s ease-out; }
button {
text-decoration: none;
outline: none;
display: inline-block;
padding: 10px 30px;
margin: 10px 20px;
position: relative;
color: white;
border: 1px solid rgba(255,255,255,.4);
background: none;
font-weight: 300;
font-family: 'Montserrat', sans-serif;
text-transform: uppercase;
letter-spacing: 2px;
}
button:before,
button:after {
content: "";
position: absolute;
width: 0;
height: 0;
opacity: 0;
box-sizing: border-box;
}
button:before {
bottom: 0;
left: 0;
border-left: 1px solid white;
border-top: 1px solid white;
transition: 0s ease opacity .8s, .2s ease width .4s, .2s ease height .6s;
}
button:after {
top: 0;
right: 0;
border-right: 1px solid white;
border-bottom: 1px solid white;
transition: 0s ease opacity .4s, .2s ease width , .2s ease height .2s;
}
button:hover:before,
button:hover:after{
height: 100%;
width: 100%;
opacity: 1;
}
button:hover:before {transition: 0s ease opacity 0s, .2s ease height, .2s ease width .2s;}
button:hover:after {transition: 0s ease opacity .4s, .2s ease height .4s , .2s ease width .6s;}
button:hover {background: rgba(255,255,255,.2);}