2024-04-20 05:14:53 +00:00
|
|
|
(async function() {
|
|
|
|
|
|
|
|
|
|
const $version = await new Promise(r => chrome.management.getSelf(self => r(self.version)));
|
|
|
|
|
document.getElementById("version").innerText = `v${$version}`;
|
|
|
|
|
|
|
|
|
|
await chrome.storage.local.get().then(items => {
|
|
|
|
|
document.getElementById("activate").checked = items["__activate"] || false;
|
|
|
|
|
document.getElementById("username").value = items["__username"] || "";
|
|
|
|
|
document.getElementById("password").value = items["__password"] || "";
|
|
|
|
|
document.getElementById("frequency").value = items["__frequency"] || 1;
|
2024-04-21 04:03:26 +00:00
|
|
|
document.getElementById("status").innerText = items["__status"] || "unknown";
|
2024-04-22 09:56:06 +00:00
|
|
|
document.getElementById("deltaAppt").value = items["__deltaAppt"] || 1;
|
|
|
|
|
document.getElementById("deltaNow").value = items["__deltaNow"] || 1;
|
2024-04-20 05:14:53 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
chrome.storage.onChanged.addListener((changes, area) => {
|
|
|
|
|
if (changes.__frequency)
|
2024-04-22 09:56:06 +00:00
|
|
|
document.getElementById("frequency_info").innerText = changes.__frequency.newValue;
|
2024-04-20 05:14:53 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// activate checkbox
|
|
|
|
|
document.getElementById("activate").addEventListener("change", async e => {
|
|
|
|
|
await chrome.storage.local.set({ "__activate": e.target.checked });
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
// credentials
|
|
|
|
|
let usernameField = document.getElementById("username");
|
|
|
|
|
let passwordField = document.getElementById("password");
|
|
|
|
|
let showPasswordButton = document.getElementById("showPassword");
|
|
|
|
|
let saveCredsButton = document.getElementById("saveButton");
|
|
|
|
|
let saveStatusElement = document.getElementById("saveStatus");
|
|
|
|
|
|
|
|
|
|
async function save_credentials() {
|
|
|
|
|
await chrome.storage.local.set({
|
|
|
|
|
"__username": usernameField.value,
|
|
|
|
|
"__password": passwordField.value
|
|
|
|
|
});
|
|
|
|
|
saveStatusElement.classList.add("show");
|
|
|
|
|
setTimeout(() => {
|
|
|
|
|
saveStatusElement.classList.remove("show");
|
|
|
|
|
}, 2000);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
usernameField.addEventListener("keypress", async e => {
|
|
|
|
|
if (e.key === "Enter") {
|
|
|
|
|
await save_credentials();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
passwordField.addEventListener("keypress", async e => {
|
|
|
|
|
if (e.key === "Enter") {
|
|
|
|
|
await save_credentials();
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
saveCredsButton.addEventListener("click", async () => {
|
|
|
|
|
await save_credentials();
|
2024-04-22 07:19:26 +00:00
|
|
|
await chrome.storage.local.set({ "__signinAttempts": 0 });
|
2024-04-20 05:14:53 +00:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
showPasswordButton.addEventListener("mousedown", function() {
|
|
|
|
|
passwordField.type = "text";
|
|
|
|
|
});
|
|
|
|
|
showPasswordButton.addEventListener("mouseup", function() {
|
|
|
|
|
passwordField.type = "password";
|
|
|
|
|
});
|
|
|
|
|
|
2024-04-22 09:56:06 +00:00
|
|
|
// range sliders
|
|
|
|
|
document.getElementById("frequency").addEventListener("input", function() {
|
2024-04-20 05:14:53 +00:00
|
|
|
chrome.storage.local.set({ __frequency: this.value });
|
|
|
|
|
});
|
2024-04-22 09:56:06 +00:00
|
|
|
document.getElementById("deltaAppt").addEventListener("input", function() {
|
|
|
|
|
chrome.storage.local.set({ __deltaAppt: this.value });
|
|
|
|
|
});
|
|
|
|
|
document.getElementById("deltaNow").addEventListener("change", function() {
|
|
|
|
|
chrome.storage.local.set({ __deltaNow: this.value });
|
|
|
|
|
});
|
2024-04-20 05:14:53 +00:00
|
|
|
|
|
|
|
|
})();
|