scryfall-client
Version:
A module for making requests to scryfall
49 lines (48 loc) • 1.24 kB
JavaScript
function i(t, n = 1e3) {
let e = !1;
return function(r) {
if (e)
return;
const l = r.target, u = l.value;
e = !0, t(), setTimeout(function() {
u !== l.value && t(), e = !1;
}, n);
};
}
const s = require("../../src/"), o = document.querySelector(
"#search-wrapper input"
), c = document.querySelector(
"#search-wrapper datalist"
), d = document.querySelector(
"#card-wrapper img"
), p = document.querySelector(
"#search-wrapper #show-code"
), a = document.querySelector("#code-modal");
o.addEventListener(
"keyup",
i(() => {
s.autocomplete(o.value).then((t) => {
c.innerHTML = "", t.forEach((n) => {
const e = document.createElement("option");
e.value = n, c.appendChild(e);
});
});
})
);
o.addEventListener("input", () => {
const t = o.value, n = c.querySelectorAll("option");
for (let e = 0; e < n.length; e++)
if (n[e].value === t)
return s.getCard(t, "name").then((r) => r.getImage()).then((r) => {
d.src = r, c.innerHTML = "";
});
});
p.addEventListener("click", () => {
a.classList.add("is-active");
});
a.querySelector(".modal-background").addEventListener(
"click",
() => {
a.classList.remove("is-active");
}
);