You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
1.5 KiB
66 lines
1.5 KiB
const d = document.getElementById.bind(document);
|
|
const q = document.querySelector.bind(document);
|
|
document.querySelector('img[alt="Magister"]').remove(); // verwijderen van animatie linksboven
|
|
|
|
// user object moet gemaakt worden vanuit chrome.storage.sync
|
|
|
|
var snooze = (ms) => new Promise((res) => setTimeout(res, ms));
|
|
function login() {
|
|
chrome.storage.sync.get(['school', 'number', 'password'], async function (result) {
|
|
if (d('scholenkiezer_value')) {
|
|
await waitForSel('#scholenkiezer_value');
|
|
|
|
if (d('scholenkiezer_value') && result.school) {
|
|
d('scholenkiezer_value').value = result.school;
|
|
d('scholenkiezer_value').dispatchEvent(new Event('input'));
|
|
}
|
|
|
|
await waitForSel('.selected');
|
|
|
|
if (q('.selected')) {
|
|
q('.selected').click();
|
|
}
|
|
}
|
|
|
|
await waitForSel('#username');
|
|
|
|
if (d('username') && result.number) {
|
|
d('username').value = result.number;
|
|
d('username').dispatchEvent(new Event('input'));
|
|
}
|
|
|
|
await waitForSel('#username_submit');
|
|
if (d('username_submit')) {
|
|
d('username_submit').click();
|
|
}
|
|
|
|
await waitForSel('#rswp_password');
|
|
|
|
if (d('rswp_password') && result.password) {
|
|
d('rswp_password').value = result.password;
|
|
d('rswp_password').dispatchEvent(new Event('input'));
|
|
}
|
|
|
|
await waitForSel('[id*=_submit]');
|
|
if (d('rswp_submit')) {
|
|
d('rswp_submit').click();
|
|
}
|
|
});
|
|
}
|
|
|
|
function waitForSel(s) {
|
|
return new Promise((res) => {
|
|
setInterval(() => {
|
|
if (q(s)) {
|
|
res();
|
|
}
|
|
}, 10);
|
|
});
|
|
}
|
|
|
|
chrome.storage.sync.get(['enabled'], function (result) {
|
|
if (result.enabled) {
|
|
login();
|
|
}
|
|
});
|