Use absolute times for waiting check times

This commit is contained in:
2024-04-24 00:23:35 -07:00
parent 363e842b56
commit 92d9f51ab1
4 changed files with 119 additions and 43 deletions

View File

@@ -8,6 +8,17 @@
opacity: 1;
}
#resetStatus {
opacity: 0;
transition: opacity 0.5s;
color: red;
}
#resetStatus.show {
opacity: 1;
}
body {
min-width: 375px;
}

View File

@@ -82,6 +82,13 @@
Status: <span id="status">Inactive</span>
</div>
</div>
<div class="row">
<div class="col">
<button type="button" class="btn btn-info btn-sm" id="showConfigButton">Config</button>
<button type="button" class="btn btn-danger btn-sm" id="resetButton">Reset</button>
<span id="resetStatus">Cleaned up!</span>
</div>
</div>
</div>
<script src="bootstrap.bundle.min.js"></script>
<script src="popup.js"></script>

View File

@@ -9,8 +9,9 @@
document.getElementById("password").value = items["__password"] || "";
document.getElementById("frequency").value = items["__frequency"] || 1;
document.getElementById("status").innerText = items["__status"] || "unknown";
document.getElementById("currApptConsulate").innerText = items["__apptConsulate"] || "somewhere";
document.getElementById("currApptDate").innerText = items["__apptDate"] || "sometime";
let currentAppt = items["__currentAppt"] || {"consulate": "unknown", "date": "unknown"};
document.getElementById("currApptConsulate").innerText = currentAppt["consulate"];
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;
@@ -80,4 +81,32 @@
chrome.storage.local.set({ __deltaNow: this.value });
});
// reset button
document.getElementById("resetButton").addEventListener("click", async () => {
if (confirm("Are you sure you want to reset?")) {
await chrome.storage.local.get().then(items => {
chrome.storage.local.clear();
// keep user parameters
chrome.storage.local.set({
"__activate": items["__activate"] || false,
"__username": items["__username"] || "",
"__password": items["__password"] || "",
"__frequency": items["__frequency"] || 1,
"__deltaAppt": items["__deltaAppt"] || 1,
"__deltaNow": items["__deltaNow"] || 1,
"__autobook": items["__autobook"] || false,
});
});
location.reload();
}
});
// show config button
document.getElementById("showConfigButton").addEventListener("click", async () => {
let config = await chrome.storage.local.get();
let configStr = JSON.stringify(config, null, 2);
let url = "data:text/plain;charset=utf-8," + encodeURIComponent(configStr);
chrome.tabs.create({ url: url });
});
})();