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