initial commit, cuz im getting lost in this
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
(() => {
|
||||
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,
|
||||
};
|
||||
})();
|
||||
Reference in New Issue
Block a user