(() => { const header = document.querySelector("#header"); // Extract Logo const logoEl = header.querySelector(".vc-headerlogo img"); const logo = { src: logoEl ? logoEl.src : '', alt: logoEl ? logoEl.alt : '', }; const customContentBlock = header.querySelector(".custom-content-block.custom-content-header-1 > .content"); const customContentHeader = customContentBlock ? customContentBlock.innerHTML : ''; function extractMenuTree(ulElement) { if (!ulElement) return []; const listItems = Array.from(ulElement.children).filter(el => el.tagName === 'LI'); return listItems.map(li => { const link = li.querySelector(":scope > a"); const itemData = { text: link ? link.textContent.trim() : '', href: link ? link.href : '' }; const subMenu = li.querySelector(":scope > ul[role='menu']"); if (subMenu) { itemData.sublinks = extractMenuTree(subMenu); } return itemData; }); } const rootMenu = header.querySelector("#menu #menucategories nav ul[role='menu']"); const menuData = extractMenuTree(rootMenu); const menuTop = header.querySelector("#menutop ul[role='menu']"); const menuTopLinks = menuTop.querySelectorAll("li > a"); const menuTopData = Array.from(menuTopLinks).map(link => ({ text: link.textContent.trim(), href: link.href })); const itemCountBasket = parseInt(header.querySelector("#basketinfo .vc-basketinfoextended-numberofitems").textContent) || 0; const basket = { itemCount: itemCountBasket, link: header.querySelector("#basketinfo .vc-basketinfoextended-header").href || '/kosik' } return { logo, customContentHeader, menu: { top: menuTopData, main: menuData }, basket, }; })();