diff --git a/popup/popup.html b/popup/popup.html index 5bf9381..82d3ad5 100644 --- a/popup/popup.html +++ b/popup/popup.html @@ -64,6 +64,14 @@ +
Status: Inactive
diff --git a/popup/popup.js b/popup/popup.js index f57d16d..40cc00f 100644 --- a/popup/popup.js +++ b/popup/popup.js @@ -11,6 +11,7 @@ document.getElementById("status").innerText = items["__status"] || "unknown"; document.getElementById("deltaAppt").value = items["__deltaAppt"] || 1; document.getElementById("deltaNow").value = items["__deltaNow"] || 1; + document.getElementById("autobook").checked = items["__autobook"] || false; }); chrome.storage.onChanged.addListener((changes, area) => { @@ -22,6 +23,9 @@ 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"); diff --git a/scripts/content.js b/scripts/content.js index 32c3903..8a5c1dd 100644 --- a/scripts/content.js +++ b/scripts/content.js @@ -20,6 +20,7 @@ let config = { consulates: null, deltaAppt: null, deltaNow: null, + autobook: null, }; let isRunning = false; @@ -168,6 +169,7 @@ 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)); @@ -430,8 +432,16 @@ async function runner() { document.getElementById("appointments_submit").removeAttribute("disabled"); document.getElementById("appointments_submit").click(); - await sendNotification(`Found better appointment in ${consulate} at ${chosenDate} ${chosenTime}`); - } + msg = `Found better appointment in ${consulate} at ${chosenDate} ${chosenTime}`; + console.log(msg); + await sendNotification(msg); + + if (config.autobook) { + await delay(PAGE_WAIT_TIME); + console.log('Auto booking'); + document.querySelector(".reveal-overlay:last-child [data-reveal] .button.alert").click(); + } + } // end consulates loop }