LocalStorage

This commit is contained in:
ssyyhhrr
2022-06-20 19:56:44 +01:00
parent 96e37270fe
commit cfafe7cb4a

View File

@@ -112,16 +112,6 @@ function autocomplete(inp, arr) {
let driversObj = {} let driversObj = {}
let drivers = [] let drivers = []
fetch(`${window.location.href}/drivers.json`).then(res => {
res.json().then(result => {
driversObj = result
Object.entries(result).forEach(driver => {
drivers.push(driver[1].firstName + " " + driver[1].lastName)
})
autocomplete(document.getElementById("myInput"), drivers);
})
})
document.addEventListener("keyup", async function (event) { document.addEventListener("keyup", async function (event) {
if (event.keyCode === 13) { if (event.keyCode === 13) {
let value = document.getElementById("myInput").value let value = document.getElementById("myInput").value
@@ -141,11 +131,36 @@ document.addEventListener("keyup", async function (event) {
}) })
if (potential == 1 || document.getElementsByClassName("autocomplete-items")[0].children.length == 1 && value.replace(/[0-9]/g, '') != "") { if (potential == 1 || document.getElementsByClassName("autocomplete-items")[0].children.length == 1 && value.replace(/[0-9]/g, '') != "") {
if (localStorage.guesses == null) {
localStorage.guesses = JSON.stringify([guess])
}
else {
let guesses = JSON.parse(localStorage.guesses)
guesses.push(guess)
localStorage.guesses = JSON.stringify(guesses)
}
document.getElementById("myInput").value = "" document.getElementById("myInput").value = ""
var x = document.getElementsByClassName("autocomplete-items"); var x = document.getElementsByClassName("autocomplete-items");
for (var i = 0; i < x.length; i++) { for (var i = 0; i < x.length; i++) {
x[i].parentNode.removeChild(x[i]); x[i].parentNode.removeChild(x[i]);
} }
submit(guess)
}
else {
shake()
}
}
}
});
function shake() {
let element = document.getElementById("myInput")
element.style.removeProperty("animation")
setTimeout(() => element.style.animation = "shake .5s", 100)
}
async function submit(guess) {
return new Promise(async (res, rej) => {
let obj = {} let obj = {}
Object.entries(driversObj).forEach(driver => { Object.entries(driversObj).forEach(driver => {
if (driver[1].firstName + " " + driver[1].lastName == guess) obj = driver[1] if (driver[1].firstName + " " + driver[1].lastName == guess) obj = driver[1]
@@ -174,10 +189,13 @@ document.addEventListener("keyup", async function (event) {
let data = await fetch(`${window.location.href}winner`) let data = await fetch(`${window.location.href}winner`)
let winner = await data.json() let winner = await data.json()
let gg = document.getElementsByClassName("input")[0] let gg = document.getElementsByClassName("input")[0]
if (gg != null) {
gg.classList.remove("input") gg.classList.remove("input")
gg.classList.add("gg") gg.classList.add("gg")
let greeting = won ? "Congratulations!" : "Bwoah." let greeting = won ? "Congratulations!" : "Bwoah."
gg.innerHTML = `<h2>${greeting}</h2><div class="p"><h5>The driver was</h5><h4> ${winner.winner}!</h4></div><div class="p timer"><h3>Next Stewardle</h3></div><div class="p"><h4 id="time">00:00:00:000</h4></div>` gg.innerHTML = `<h2>${greeting}</h2><div class="p"><h5>The driver was</h5><h4> ${winner.winner}!</h4></div><div class="p timer"><h3>Next Stewardle</h3></div><div class="p"><h4 id="time">00:00:00:000</h4></div>`
}
// Set the date we're counting down to // Set the date we're counting down to
let d = new Date() let d = new Date()
var countDownDate = new Date(Date.UTC(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate() + 1, 0, 0, 0)); var countDownDate = new Date(Date.UTC(d.getUTCFullYear(), d.getUTCMonth(), d.getUTCDate() + 1, 0, 0, 0));
@@ -213,18 +231,8 @@ document.addEventListener("keyup", async function (event) {
} }
}, 1); }, 1);
} }
} res()
else { })
shake()
}
}
}
});
function shake() {
let element = document.getElementById("myInput")
element.style.removeProperty("animation")
setTimeout(() => element.style.animation = "shake .5s", 100)
} }
function similarity(s1, s2) { function similarity(s1, s2) {
@@ -309,3 +317,18 @@ function close() {
canOpen = true canOpen = true
}, 500) }, 500)
} }
document.addEventListener('DOMContentLoaded', (event) => {
fetch(`${window.location.href}/drivers.json`).then(res => {
res.json().then(result => {
driversObj = result
Object.entries(result).forEach(driver => {
drivers.push(driver[1].firstName + " " + driver[1].lastName)
})
autocomplete(document.getElementById("myInput"), drivers);
JSON.parse(localStorage.guesses).forEach(async guess => {
await submit(guess)
})
})
})
})