const { invoke } = window.__TAURI__.core; let callbacks = { '#nav-cafe': () => activate("", "cafe", ["angel"]), '#nav-angel': () => activate("", "angel", ["cafe"]), '#cafe-nav-inventory': () => activate("cafe-", "inventory", ["voucher"]), '#cafe-nav-voucher': () => activate("cafe-", "voucher", ["inventory"]), '#cafe-inventory form': () => inventory(), '#cafe-voucher-aldi': () => swap("aldi"), '#cafe-voucher-dm': () => swap("dm"), '#cafe-voucher-lidl': () => swap("lidl"), '#cafe-voucher-rewe': () => swap("rewe"), '#cafe-voucher-tegut': () => swap("tegut"), } let stores = [ "aldi", "dm", "lidl", "rewe", "tegut", ] async function increment(el) { var el = document.querySelector(el+" input"); let v = parseInt(el.value, 10); v = isNaN(v) ? 0 : v; v++; el.value = v; } async function inventory() { const form = document.querySelector("#cafe-inventory form"); const fd = new FormData(form); const obj = Object.fromEntries(fd); await invoke("inventory", { data: obj }); } async function swap(s) { await invoke("swap", { store: s, acc: 1 }); document.querySelector("h1").textContent = await invoke("count", {}); } async function activate(ctx, el, nels) { document.querySelector("#"+ctx+el).style.display = ""; for (const nel of nels) { document.querySelector("#"+ctx+nel).style.display = "none"; } document.querySelector("#"+ctx+"nav").classList.remove("v-container"); document.querySelector("#"+ctx+"nav").classList.add("h-container"); } window.addEventListener("DOMContentLoaded", () => { for (let key in callbacks) { if (callbacks.hasOwnProperty(key)) { document.querySelector(key).addEventListener("submit", (e) => { e.preventDefault(); callbacks[key](); }); } } for (const store of stores) { document.querySelector("#cafe-inventory-"+store+" label").addEventListener("click", (e) => { e.preventDefault(); increment("#cafe-inventory-"+store); }); } });