diff --git a/public/javascripts/menu.js b/public/javascripts/menu.js
index 1f23df8..202fa25 100644
--- a/public/javascripts/menu.js
+++ b/public/javascripts/menu.js
@@ -5,6 +5,8 @@ const sauce = document.querySelector("#sauce ul");
const drink = document.querySelector("#drink ul");
const dessert = document.querySelector("#dessert ul");
+let db = {dish: {}, ingredient: {}, sauce: {}, drink: {}, dessert: {}};
+
if (window.location.href.endsWith("#popup"))
window.location.href = window.location.href.replace("#popup", "#");
@@ -69,42 +71,47 @@ function popup(ob, el) {
}
function addDish(d) {
+ db.dish[d.id] = d;
dish.insertAdjacentHTML("beforeend", `
${d.name}`);
let e = document.getElementById(`dish${d.id}`);
e.addEventListener("click", () => {
- popup(d, e);
+ popup(db.dish[d.id], e);
});
}
function addIngredient(i) {
+ db.ingredient[i.id] = i;
ingredient.insertAdjacentHTML("beforeend", `${i.name}`);
let e = document.getElementById(`ingredient${i.id}`);
e.addEventListener("click", () => {
- popup(i, e);
+ popup(db.ingredient[i.id], e);
});
}
function addSauce(s) {
+ db.sauce[s.id] = s;
sauce.insertAdjacentHTML("beforeend", `${s.name}`);
let e = document.getElementById(`sauce${s.id}`);
e.addEventListener("click", () => {
- popup(s, e);
+ popup(db.sauce[s.id], e);
});
}
function addDrink(d) {
+ db.drink[d.id] = d;
drink.insertAdjacentHTML("beforeend", `${d.name}`);
let e = document.getElementById(`drink${d.id}`);
e.addEventListener("click", () => {
- popup(d, e);
+ popup(db.drink[d.id], e);
});
}
function addDessert(d) {
+ db.dessert[d.id] = d;
dessert.insertAdjacentHTML("beforeend", `${d.name}`);
let e = document.getElementById(`dessert${d.id}`);
e.addEventListener("click", () => {
- popup(d, e);
+ popup(db.dessert[d.id], e);
});
}
@@ -166,6 +173,46 @@ socket.on("list dessert", data => {
addDessert(d);
});
+socket.on("set dish", data => {
+ if (data.available && db.dish[data.id] === undefined) {
+ addDish(data);
+ } else {
+ db.dish[data.id] = data;
+ }
+});
+
+socket.on("set ingredient", data => {
+ if (data.available && db.ingredient[data.id] === undefined) {
+ addIngredient(data);
+ } else {
+ db.ingredient[data.id] = data;
+ }
+});
+
+socket.on("set sauce", data => {
+ if (data.available && db.sauce[data.id] === undefined) {
+ addSauce(data);
+ } else {
+ db.sauce[data.id] = data;
+ }
+});
+
+socket.on("set drink", data => {
+ if (data.available && db.drink[data.id] === undefined) {
+ addDrink(data);
+ } else {
+ db.drink[data.id] = data;
+ }
+});
+
+socket.on("set dessert", data => {
+ if (data.available && db.dessert[data.id] === undefined) {
+ addDessert(data);
+ } else {
+ db.dessert[data.id] = data;
+ }
+});
+
socket.on("internal error", () => {
alert("An error occurred !");
})