diff --git a/scripts/content.js b/scripts/content.js index 466efb4..f3b7b1f 100644 --- a/scripts/content.js +++ b/scripts/content.js @@ -112,6 +112,7 @@ async function getConsulates() { "id": parseInt(option.value), "isSelected": option.selected, "bestDate": null, + "currentDate": null, }; } return consulatesDict; @@ -346,8 +347,10 @@ async function runner() { return; }; - config.consulates = await getConsulates(); - await chrome.storage.local.set({ "__consulates": config.consulates }); + if (!config.consulates) { + config.consulates = await getConsulates(); + await chrome.storage.local.set({ "__consulates": config.consulates }); + } if (!config.consulates) { console.log('No consulates found'); await chrome.storage.local.set({ "__status": "no consulates found" }); @@ -394,7 +397,12 @@ async function runner() { } console.log(`Available dates for ${consulate}: ${availDates}`); - config.consulates[consulate].bestDate = availDates[0]; + config.consulates[consulate].currentDate = availDates[0]; + if (!config.consulates[consulate].bestDate + || availDates[0] < config.consulates[consulate].bestDate) { + console.log(`New record for ${consulate}: ${availDates[0]}`); + config.consulates[consulate].bestDate = availDates[0]; + } await chrome.storage.local.set({ "__consulates": config.consulates }); // filter dates with our requests