Fix UI
This commit is contained in:
parent
b8ab66cd78
commit
3f61d82ec5
7
popup/bootstrap.bundle.min.js
vendored
Normal file
7
popup/bootstrap.bundle.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
1
popup/bootstrap.bundle.min.js.map
Normal file
1
popup/bootstrap.bundle.min.js.map
Normal file
File diff suppressed because one or more lines are too long
@ -11,7 +11,7 @@
|
||||
<div class="container">
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<h3 style="white-space: nowrap;">not-a-rescheduler<br><span id="version"></span></h3>
|
||||
<h3 style="white-space: nowrap;">not-a-rescheduler <span id="version"></span></h3>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
@ -23,28 +23,45 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="form-group mb-2">
|
||||
<label for="username">Username</label>
|
||||
<input type="text" class="form-control" id="username" placeholder="Username">
|
||||
</div>
|
||||
<div class="form-group mb-2">
|
||||
<label for="password">Password</label>
|
||||
<input type="password" class="form-control" id="password" placeholder="Password">
|
||||
<button type="button" id="showPassword" class="btn btn-link btn-sm">Show password</button>
|
||||
</div>
|
||||
<div class="mb-2">
|
||||
<button type="button mb-2" class="btn btn-primary" id="saveButton">Save credentials</button>
|
||||
<span id="saveStatus">Saved!</span>
|
||||
</div>
|
||||
<div class="col form-group">
|
||||
<label for="username">Username</label>
|
||||
<input type="text" class="form-control" id="username" placeholder="Username">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col form-group">
|
||||
<label for="password">Password</label>
|
||||
<input type="password" class="form-control" id="password" placeholder="Password"><button type="button" id="showPassword" class="btn btn-link btn-sm">Show</button>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<div class="mb-2">
|
||||
<input type="range" id="frequency" name="frequency" min="1" max="10" step="1">
|
||||
<label for="frequency">Frequency of checks<br>(every <span id="frequency_info">1</span> minutes)</label>
|
||||
</div>
|
||||
<button type="button" class="btn btn-primary" id="saveButton">Save credentials</button>
|
||||
<span id="saveStatus">Saved!</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<label for="frequency" class="form-label">Frequency (minutes)</label>
|
||||
</div>
|
||||
<div class="col">
|
||||
<input type="number" class="form-control" id="frequency" placeholder="minutes">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<label for="deltaAppt">Appointment delta (days)</label>
|
||||
</div>
|
||||
<div class="col">
|
||||
<input type="number" class="form-control" id="deltaAppt" placeholder="days">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<label for="deltaNow">Preparation time (days)</label>
|
||||
</div>
|
||||
<div class="col">
|
||||
<input type="number" class="form-control" id="deltaNow" placeholder="days">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
@ -53,6 +70,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script src="bootstrap.bundle.min.js"></script>
|
||||
<script src="popup.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@ -8,13 +8,14 @@
|
||||
document.getElementById("username").value = items["__username"] || "";
|
||||
document.getElementById("password").value = items["__password"] || "";
|
||||
document.getElementById("frequency").value = items["__frequency"] || 1;
|
||||
document.getElementById("frequency_info").innerText = items["__frequency"] || 1;
|
||||
document.getElementById("status").innerText = items["__status"] || "unknown";
|
||||
document.getElementById("deltaAppt").value = items["__deltaAppt"] || 1;
|
||||
document.getElementById("deltaNow").value = items["__deltaNow"] || 1;
|
||||
});
|
||||
|
||||
chrome.storage.onChanged.addListener((changes, area) => {
|
||||
if (changes.__frequency)
|
||||
document.getElementById("frequency_info").innerText = changes.__frequency.newValue;
|
||||
document.getElementById("frequency_info").innerText = changes.__frequency.newValue;
|
||||
});
|
||||
|
||||
// activate checkbox
|
||||
@ -62,9 +63,15 @@
|
||||
passwordField.type = "password";
|
||||
});
|
||||
|
||||
// frequency range slider
|
||||
document.getElementById("frequency").addEventListener("change", function() {
|
||||
// range sliders
|
||||
document.getElementById("frequency").addEventListener("input", function() {
|
||||
chrome.storage.local.set({ __frequency: this.value });
|
||||
});
|
||||
document.getElementById("deltaAppt").addEventListener("input", function() {
|
||||
chrome.storage.local.set({ __deltaAppt: this.value });
|
||||
});
|
||||
document.getElementById("deltaNow").addEventListener("change", function() {
|
||||
chrome.storage.local.set({ __deltaNow: this.value });
|
||||
});
|
||||
|
||||
})();
|
||||
|
||||
@ -18,6 +18,8 @@ let config = {
|
||||
apptDate: null,
|
||||
signinAttempts: null,
|
||||
consulates: null,
|
||||
deltaAppt: null,
|
||||
deltaNow: null,
|
||||
};
|
||||
let isRunning = false;
|
||||
|
||||
@ -164,6 +166,8 @@ async function runner() {
|
||||
config.apptId = result['__apptId'] || null;
|
||||
config.apptDate = result['__apptDate'] || null;
|
||||
config.consulates = result['__consulates'] || null;
|
||||
config.deltaAppt = result['__deltaAppt'] || 1;
|
||||
config.deltaNow = result['__deltaNow'] || 1;
|
||||
|
||||
if (prev_config.activate === null) {
|
||||
console.log('Reading config: ' + JSON.stringify(config));
|
||||
@ -229,7 +233,7 @@ async function runner() {
|
||||
|
||||
if (config.countdown > 0) {
|
||||
config.countdown -= 1;
|
||||
if (config.countdown % 10 === 0 || config.countdown <= 5) {
|
||||
if (config.countdown % 30 === 0 || config.countdown <= 5) {
|
||||
console.log(`Countdown: ${config.countdown}s`);
|
||||
}
|
||||
await chrome.storage.local.set({ "__countdown": config.countdown });
|
||||
@ -369,7 +373,7 @@ async function runner() {
|
||||
|
||||
// if empty list, either we're banned or non operational hours or dead consulate
|
||||
if (availDates.length == 0) {
|
||||
console.log('No available dates in ' + consulate);
|
||||
console.log(`No available dates in ${consulate}, probably banned`);
|
||||
await chrome.storage.local.set({ "__status": "no dates in " + consulate });
|
||||
config.countdown = SOFT_BAN_COUNTDOWN;
|
||||
await chrome.storage.local.set({ "__countdown": config.countdown });
|
||||
@ -382,7 +386,7 @@ async function runner() {
|
||||
await chrome.storage.local.set({ "__consulates": config.consulates });
|
||||
|
||||
// filter dates with our requests
|
||||
let filteredDates = await filterDates(availDates, config.apptDate, 30, 3);
|
||||
let filteredDates = await filterDates(availDates, config.apptDate, config.deltaAppt, config.deltaNow);
|
||||
if (!filteredDates.length) {
|
||||
console.log('Nothing interesting found in ' + consulate);
|
||||
await chrome.storage.local.set({ "__status": `Nothing in ${consulate}, best date ${availDates[0]}`});
|
||||
|
||||
Loading…
Reference in New Issue
Block a user