This commit is contained in:
Bianca Fürstenau 2025-02-15 19:48:49 +01:00
parent 4b1efa3a30
commit a7cea3b13a
3 changed files with 192 additions and 132 deletions

View file

@ -1,58 +1,66 @@
const { invoke } = window.__TAURI__.core;
let cafe;
let cafeVoucher;
let cafeInventory;
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-edeka': () => swap("edeka"),
'#cafe-voucher-dm': () => swap("dm"),
'#cafe-voucher-lidl': () => swap("lidl"),
'#cafe-voucher-rewe': () => swap("rewe"),
'#cafe-voucher-tegut': () => swap("tegut"),
}
let stores = [
"aldi",
"edeka",
"dm",
"lidl",
"rewe",
"tegut",
]
let cntMsgEl;
let pullMsgEl;
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() {
alert("Hi!");
}
async function swap(s) {
await invoke("swap", { store: s, acc: 1 });
cntMsgEl.textContent = await invoke("count", {});
document.querySelector("h1").textContent = await invoke("count", {});
}
async function push() {
pullMsgEl.textContent = await invoke("push_data", {});
}
async function pull() {
pullMsgEl.textContent = await invoke("pull_data", {});
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", () => {
cntMsgEl = document.querySelector("#cnt-msg");
pullMsgEl = document.querySelector("#pull-msg");
document.querySelector("#aldi-form").addEventListener("submit", (e) => {
e.preventDefault();
swap("aldi");
});
document.querySelector("#edeka-form").addEventListener("submit", (e) => {
e.preventDefault();
swap("edeka");
});
document.querySelector("#dm-form").addEventListener("submit", (e) => {
e.preventDefault();
swap("dm");
});
document.querySelector("#lidl-form").addEventListener("submit", (e) => {
e.preventDefault();
swap("lidl");
});
document.querySelector("#rewe-form").addEventListener("submit", (e) => {
e.preventDefault();
swap("rewe");
});
document.querySelector("#tegut-form").addEventListener("submit", (e) => {
e.preventDefault();
swap("tegut");
});
document.querySelector("#push-form").addEventListener("submit", (e) => {
e.preventDefault();
push();
});
document.querySelector("#pull-form").addEventListener("submit", (e) => {
e.preventDefault();
pull();
});
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);
});
}
});