Add current consulate to popup
This commit is contained in:
parent
9b820859c7
commit
363e842b56
@ -16,6 +16,7 @@ let config = {
|
||||
countdown: null,
|
||||
apptId: null,
|
||||
apptDate: null,
|
||||
apptConsulate: null,
|
||||
signinAttempts: null,
|
||||
consulates: null,
|
||||
deltaAppt: null,
|
||||
@ -168,6 +169,7 @@ async function runner() {
|
||||
config.signinAttempts = result['__signinAttempts'] || 0;
|
||||
config.apptId = result['__apptId'] || null;
|
||||
config.apptDate = result['__apptDate'] || null;
|
||||
config.apptConsulate = result['__apptConsulate'] || null;
|
||||
config.consulates = result['__consulates'] || null;
|
||||
config.deltaAppt = result['__deltaAppt'] || 1;
|
||||
config.deltaNow = result['__deltaNow'] || 1;
|
||||
@ -308,24 +310,29 @@ async function runner() {
|
||||
}
|
||||
|
||||
// get current appointment date
|
||||
let apptInfo = document.querySelector("p.consular-appt [href*='" + config.apptId + "']").parentNode.parentNode.parentNode
|
||||
if (!apptInfo.querySelector("h4").innerText.match(/Attend Appointment/)) {
|
||||
let apptInfoCard = document.querySelector("p.consular-appt [href*='" + config.apptId + "']").parentNode.parentNode.parentNode
|
||||
if (!apptInfoCard.querySelector("h4").innerText.match(/Attend Appointment/)) {
|
||||
msg = 'Appointment not available';
|
||||
console.log(msg);
|
||||
await chrome.storage.local.set({ "__status": msg });
|
||||
isRunning = false;
|
||||
return;
|
||||
}
|
||||
let apptDate = new Date(apptInfo.querySelector("p.consular-appt").innerText.match(/\d{1,2} \w+, \d{4}/)[0]);
|
||||
let apptInfo = apptInfoCard.querySelector("p.consular-appt").innerText;
|
||||
let apptConsulate = (apptInfo.match(/at (\w+)/) || [])[1];
|
||||
let apptDate = new Date(apptInfo.match(/\d{1,2} \w+, \d{4}/)[0]);
|
||||
apptDate = apptDate.toISOString().slice(0, 10);
|
||||
if (apptDate && apptDate != config.apptDate) {
|
||||
console.log(`New appointment date: ${apptDate}, old: ${config.apptDate}`);
|
||||
if (apptDate && apptConsulate
|
||||
&& (apptDate != config.apptDate || apptConsulate != config.apptConsulate)) {
|
||||
console.log(`New appointment date: ${apptDate} at ${apptConsulate}, old: ${config.apptDate} at ${config.apptConsulate}`);
|
||||
config.apptDate = apptDate;
|
||||
config.apptConsulate = apptConsulate;
|
||||
await chrome.storage.local.set({ "__apptDate": apptDate });
|
||||
await chrome.storage.local.set({ "__apptConsulate": apptConsulate });
|
||||
}
|
||||
|
||||
// go to appointment page
|
||||
let apptLink = apptInfo.querySelector("p.consular-appt [href]").getAttribute("href").replace("/addresses/consulate", "/appointment");
|
||||
let apptLink = apptInfoCard.querySelector("p.consular-appt [href]").getAttribute("href").replace("/addresses/consulate", "/appointment");
|
||||
window.location.href = apptLink;
|
||||
await delay(PAGE_WAIT_TIME);
|
||||
}
|
||||
@ -481,6 +488,8 @@ async function runner() {
|
||||
await delay(PAGE_WAIT_TIME);
|
||||
config.apptDate = null;
|
||||
await chrome.storage.local.set({"__apptDate": config.apptDate});
|
||||
config.apptConsulate = null;
|
||||
await chrome.storage.local.set({"__apptConsulate": config.apptConsulate});
|
||||
console.log('Rescheduled successfully');
|
||||
window.location = window.location.pathname.replace(/schedule.*/g, "");
|
||||
await delay(PAGE_WAIT_TIME);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user