Current appointment:
somewhere,
some time
diff --git a/popup/popup.js b/popup/popup.js
index f9affb6..cc79640 100644
--- a/popup/popup.js
+++ b/popup/popup.js
@@ -15,9 +15,9 @@
document.getElementById("currApptDate").innerText = currentAppt["date"];
document.getElementById("deltaAppt").value = items["__deltaAppt"] || 1;
document.getElementById("deltaNow").value = items["__deltaNow"] || 1;
- document.getElementById("autobook").checked = items["__autobook"] || false;
});
+ // update frequency value
chrome.storage.onChanged.addListener((changes, area) => {
if (changes.__frequency)
document.getElementById("frequency_info").innerText = changes.__frequency.newValue;
@@ -27,9 +27,6 @@
document.getElementById("activate").addEventListener("change", async e => {
await chrome.storage.local.set({ "__activate": e.target.checked });
});
- document.getElementById("autobook").addEventListener("change", async e => {
- await chrome.storage.local.set({ "__autobook": e.target.checked });
- });
// credentials
let usernameField = document.getElementById("username");
@@ -82,6 +79,54 @@
chrome.storage.local.set({ __deltaNow: this.value });
});
+ // consulates
+ await chrome.storage.local.get(['__consulates']).then((result) => {
+ let consulates = result['__consulates'];
+
+ let html = '';
+ for (let c in consulates) {
+ console.log(c, consulates[c])
+ let cSelected = consulates[c].isSelected === true ? "checked" : "";
+ let cAutobook = consulates[c].autobook === true ? "checked" : "";
+ let cName = c.replace(/ /g, ' ')
+ let cId = consulates[c].id;
+ html += `
+
+
+
${cName}
+
${consulates[c].bestDate || "-"}
+
${consulates[c].currentDate || "-"}
+
+
+ `;
+ }
+ if (html === '') {
+ html = "No consulates found.";
+ }
+ document.getElementById('consulatesConfig').innerHTML = html;
+
+ for (let c in consulates) {
+ let cId = consulates[c].id;
+ document.getElementById(`isSelected-${cId}`).addEventListener("change", async e => {
+ consulates[c].isSelected = e.target.checked;
+ await chrome.storage.local.set({ "__consulates": consulates });
+ });
+ document.getElementById(`autobook-${cId}`).addEventListener("change", async e => {
+ consulates[c].autobook = e.target.checked;
+ await chrome.storage.local.set({ "__consulates": consulates });
+ });
+ }
+ });
+
// reset button
document.getElementById("resetButton").addEventListener("click", async () => {
if (confirm("Are you sure you want to reset?")) {
diff --git a/scripts/content.js b/scripts/content.js
index 50fafcd..87fd2c4 100644
--- a/scripts/content.js
+++ b/scripts/content.js
@@ -22,7 +22,6 @@ let config = {
consulates: null,
deltaAppt: null,
deltaNow: null,
- autobook: null,
};
let isRunning = false;
let msg = "";
@@ -128,6 +127,7 @@ async function getConsulates() {
"bestDate": null,
"currentDate": null,
"nextCheckAt": getFutureDate(0, config.frequency * MINUTE),
+ "autobook": false,
};
}
return consulatesDict;
@@ -187,7 +187,6 @@ async function runner() {
config.consulates = result['__consulates'] || null;
config.deltaAppt = result['__deltaAppt'] || 1;
config.deltaNow = result['__deltaNow'] || 1;
- config.autobook = result['__autobook'] || false;
if (prev_config.activate === null) {
console.log('Reading config: ' + JSON.stringify(config));
@@ -479,7 +478,7 @@ async function runner() {
console.log(msg);
await sendNotification(msg);
- if (config.autobook) {
+ if (config.consulates[consulate].autobook) {
await delay(PAGE_WAIT_TIME);
console.log('Auto booking');
document.querySelector(".reveal-overlay:last-child [data-reveal] .button.alert").click();