Took 25 hours 49 minutes
This commit is contained in:
2022-11-15 00:58:59 +01:00
parent a7fac21442
commit a356b39bad
46 changed files with 936 additions and 181 deletions

54
src/web/WebHandler.ts Normal file
View File

@ -0,0 +1,54 @@
import {WebSocketPayload} from "../WebSocketPayload";
import {IDrink} from "../database/IDrink";
import {Modal} from "./Modal";
export class WebHandler {
public static onDrinkUpdate(payload: WebSocketPayload) {
if (!payload.data) return;
let drinks: IDrink[] = payload.data;
const main = document.getElementById("main");
if (!main) return;
main.style.gridTemplateRows = `repeat(${Math.round(drinks.length / 3)}, calc(90%/2))`;
for (let drink of drinks) {
let drinkEle = document.createElement("div");
drinkEle.classList.add("drink");
let drinkImg = document.createElement("img");
drinkImg.classList.add("thumbnail");
drinkEle.append(drinkImg);
let drinkName = document.createElement("p");
drinkName.classList.add("drinkName");
drinkEle.append(drinkName);
drinkImg.alt = "Foto von " + drink.name;
drinkImg.src = "/images/" + drink.name + ".png";
drinkName.innerText = drink.name;
let ingredients = "<ul style='list-style-type: disc;'>";
for( let i of drink.ingredients )
{
ingredients += "<li>" + i.amount + "ml " + i.type.name + "</li>";
}
ingredients+="</ul>"
drinkEle.onclick = () => {
let modal = new Modal("drink", drink.name );
modal.content = `<strong>Zutaten</strong><br>
${ingredients}`
modal.leftCentered = true;
modal.open();
};
main.append(drinkEle);
}
}
}