summaryrefslogtreecommitdiff
path: root/graphs/js/foodTruck/static/index.js
blob: 6d8409877dde8d1667b1e572280c36aeebf543e6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
function addFood(name) {
    const container = document.getElementById("order");
    const foodDiv = document.createElement("div");

    foodDiv.classList.add("food");
    foodDiv.innerHTML = `
    <p>${name}</p>
    <button onclick=" order('${name}')">Order</button>`;
    container.appendChild(foodDiv);
}

function logToDisplay(message, type = "info") {
    const displayElement = document.getElementById("display");
    const logMessage = document.createElement("div");

    logMessage.textContent = message;
    logMessage.classList.add("log-message", type);
    displayElement.appendChild(logMessage);

    displayElement.scrollTop = displayElement.scrollHeight;
    setTimeout(() => {
        logMessage.remove();
    }, 5000);
}

console.log = logToDisplay;

function loadMenu() {
    if (document.getElementById("errorscript") === null) {
        Object.keys(recipes).forEach((category) => {
            Object.keys(recipes[category]).forEach((recipeName) => {
                addFood(recipeName);
            });
        });
    }
}

var isDirtyFoodtruck = false;
var pageTitle = document.getElementById("page-title");
var switchButton = document.getElementById("switch-button");

function loadScript(isDirty) {
    var scriptContainer = document.body;
    var currentScripts = [...scriptContainer.querySelectorAll("script")].filter(
        (script) => {
            var name_script = script.src.split("/").pop();

            return /(dirty)?foodtruck\.js/i.test(name_script);
        },
    );

    // currentScripts should return only one value
    scriptToLoad = isDirty ? "dirtyFoodTruck.js" : "foodTruck.js";
    document.body.removeChild(currentScripts[0]);

    const script = document.createElement("script");

    script.src = scriptToLoad;

    script.onerror = () => scriptFailedLoad(scriptToLoad);
    script.onload = () => loadMenu();
    document.body.appendChild(script);
}

switchButton.addEventListener("click", () => {
    isDirtyFoodtruck = !isDirtyFoodtruck;
    pageTitle.textContent = isDirtyFoodtruck ? "Dirty Foodtruck" : "Foodtruck";
    switchButton.querySelector("a").textContent = isDirtyFoodtruck
        ? "Switch to Foodtruck"
        : "Switch to Dirty Foodtruck";
    var orderDiv = document.getElementById("order");

    orderDiv.innerHTML = "";

    loadScript(isDirtyFoodtruck);
});

loadMenu();