@@ -43,6 +43,7 @@ if (header.categories_list) {
4343 }
4444 isCategoriesNavFull = header .categories_list .full_width
4545}
46+ const hasMegamenu = header .desktop_megamenu
4647%>
4748
4849<div id =" overlay" class =" fade" ></div >
@@ -123,7 +124,7 @@ if (header.categories_list) {
123124 <div class =" header__row row" >
124125 <div class =" col-auto p-0" >
125126 <button
126- class =" btn header__toggler"
127+ class =" btn header__toggler<%= hasMegamenu ? ' d-lg-none' : '' %> "
127128 type =" button"
128129 onclick =" toggleSidenav()"
129130 aria-label =" Toggle side navigation"
@@ -254,10 +255,38 @@ if (header.categories_list) {
254255 <% if (categories && categories .length ) { % >
255256 < div class = " d-none d-lg-block <%= isCategoriesNavFull ? 'col-12 order-lg-last' : 'col' %>" >
256257 < nav class = " header__nav<%= isCategoriesNavFull ? ' header__nav--full' : '' %>" >
257- < % categories .forEach (({ slug, name }) => { % >
258- < a href= " javascript:;" onclick= " toggleSidenav('<%= slug %>')" >
259- < %= ` ${ name} ` % >
260- < / a>
258+ < % categories .forEach (({ slug, name}) => { % >
259+ < % let $categoryLink % >
260+ < div class = " d-inline-block" >
261+ < a
262+ href= " javascript:;"
263+ class = " header__category"
264+ < %- hasMegamenu
265+ ? ` onmouseover="toggleSubmenu('${ slug} ', this)" onclick="toggleSubmenu('${ slug} ', this, true)"`
266+ : ` onclick="toggleSidenav('${ slug} ')"` % >
267+ >
268+ < %= name % >
269+ < / a>
270+ < %- $categoryLink % >
271+ < % if (slug && hasMegamenu) { % >
272+ < % const subcategories = _ .categories .filter (({ parent }) => parent && parent .slug === slug) % >
273+ < % if (subcategories .length ) { % >
274+ < nav class = " header__submenu" id= " <%= `s-${slug.replace(/\/ /g, '_')}` %>" >
275+ < % subcategories .forEach (subcategory => { % >
276+ < div>
277+ < a href= " <%= subcategory.slug %>" >< %= subcategory .name % >< / a>
278+ < % const thirdCategories = _ .categories .filter (({ parent }) => parent && parent .slug === subcategory .slug ) % >
279+ < % thirdCategories .forEach (thirdCategory => { % >
280+ < a class = " header__submenu-subcategory" href= " <%= thirdCategory.slug %>" >
281+ < %= thirdCategory .name % >
282+ < / a>
283+ < % }) % >
284+ < / div>
285+ < % }) % >
286+ < / nav>
287+ < % } % >
288+ < % } % >
289+ < / div>
261290 < % }) % >
262291 < / nav>
263292 < / div>
0 commit comments