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.
69 lines
1.8 KiB
69 lines
1.8 KiB
const d = document.getElementById.bind(document);
|
|
const q = document.querySelector.bind(document);
|
|
|
|
// 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.number) {
|
|
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();
|
|
};
|
|
});
|
|
|
|
|
|
|