const home = require("./home.js"); const ingredients = require("./ingredients.js"); const recipeBook = require("./recipeBook.js"); const orders = require("./orders.js"); const transactions = require("./transactions.js"); const addIngredients = require("./addIngredients.js"); const ingredientDetails = require("./ingredientDetails.js"); const newIngredient = require("./newIngredient.js"); const newOrder = require("./newOrder.js"); const newRecipe = require("./newRecipe.js"); const newTransaction = require("./newTransaction.js"); const orderDetails = require("./orderDetails.js"); const recipeDetails = require("./recipeDetails.js"); const transactionDetails = require("./transactionDetails.js"); const Merchant = require("./Merchant.js"); let merchant = new Merchant(data.merchant, data.transactions); controller = { openStrand: function(strand){ this.closeSidebar(); for(let strand of document.querySelectorAll(".strand")){ strand.style.display = "none"; } let buttons = document.querySelectorAll(".menuButton"); for(let i = 0; i < buttons.length - 1; i++){ buttons[i].classList = "menuButton"; buttons[i].disabled = false; } let activeButton = {}; switch(strand){ case "home": activeButton = document.getElementById("homeBtn"); document.getElementById("homeStrand").style.display = "flex"; home.display(merchant); break; case "ingredients": activeButton = document.getElementById("ingredientsBtn"); document.getElementById("ingredientsStrand").style.display = "flex"; ingredients.display(merchant); break; case "recipeBook": activeButton = document.getElementById("recipeBookBtn"); document.getElementById("recipeBookStrand").style.display = "flex"; recipeBook.display(); break; case "orders": activeButton = document.getElementById("ordersBtn"); document.getElementById("ordersStrand").style.display = "flex"; orders.display(); break; case "transactions": activeButton = document.getElementById("transactionsBtn"); document.getElementById("transactionsStrand").style.display = "flex"; transactions.display(); break; } activeButton.classList = "menuButton active"; activeButton.disabled = true; if(window.screen.availWidth <= 1000){ this.closeMenu(); } }, /* Open a specific sidebar Input: sidebar: the outermost element of the sidebar (must contain class sidebar) */ openSidebar: function(sidebar, data = {}){ this.closeSidebar(); document.getElementById("sidebarDiv").classList = "sidebar"; document.getElementById(sidebar).style.display = "flex"; switch(sidebar){ case "ingredientDetails": ingredientDetails.display(merchant, data); break; } if(window.screen.availWidth <= 1000){ document.querySelector(".contentBlock").style.display = "none"; document.getElementById("mobileMenuSelector").style.display = "none"; document.getElementById("sidebarCloser").style.display = "block"; } }, closeSidebar: function(){ let sidebar = document.querySelector("#sidebarDiv"); for(let i = 0; i < sidebar.children.length; i++){ sidebar.children[i].style.display = "none"; } sidebar.classList = "sidebarHide"; if(window.screen.availWidth <= 1000){ document.querySelector(".contentBlock").style.display = "flex"; document.getElementById("mobileMenuSelector").style.display = "block"; document.getElementById("sidebarCloser").style.display = "none"; } }, changeMenu: function(){ let menu = document.querySelector(".menu"); let buttons = document.querySelectorAll(".menuButton"); if(!menu.classList.contains("menuMinimized")){ menu.classList = "menu menuMinimized"; for(let button of buttons){ button.children[1].style.display = "none"; } document.querySelector("#max").style.display = "none"; document.querySelector("#min").style.display = "flex"; }else if(menu.classList.contains("menuMinimized")){ menu.classList = "menu"; for(let button of buttons){ button.children[1].style.display = "block"; } setTimeout(()=>{ document.querySelector("#max").style.display = "flex"; document.querySelector("#min").style.display = "none"; }, 150); } }, openMenu: function(){ document.getElementById("menu").style.display = "flex"; document.querySelector(".contentBlock").style.display = "none"; document.getElementById("mobileMenuSelector").onclick = ()=>{closeMenu()}; }, closeMenu: function(){ document.getElementById("menu").style.display = "none"; document.querySelector(".contentBlock").style.display = "flex"; document.getElementById("mobileMenuSelector").onclick = ()=>{openMenu()}; } } if(window.screen.availWidth > 1000 && window.screen.availWidth <= 1400){ changeMenu(); document.getElementById("menuShifter2").style.display = "none"; } controller.openStrand("home");