11<%
2- /*
3- load menu options and contacts from content
4- */
2+ // load menu options and contacts from content
53const menu = _ .cms (' menu' ) || {}
64const contacts = _ .cms (' contacts' ) || {}
7-
85// some social networks handled by contacts
96const networksWithColors = [
107 [' facebook' , ' #3B5998' ],
118 [' youtube' , ' #FF0000' ],
129 [' instagram' , ' #E1306C' ],
1310 [' twitter' , ' #1DA1F2' ]
1411]
15-
1612// start grouping categories by parent slug
1713const allCategories = menu .alphabetical_order
1814 ? _ .lodash .sortBy (_ .categories , [' name' ])
1915 : _ .categories
20-
2116const categoryParents = _ .lodash .groupBy (allCategories, ({ parent }) => {
2217 return ! parent || ! parent .slug ? ' _' : parent .slug
2318})
24-
2519const getSubmenuId = slug => ` a-${ slug .replace (/ \/ / g , ' _' )} `
26-
2720const mainCategories = categoryParents ._
2821if (mainCategories) {
2922 if (Array .isArray (menu .sort_categories )) {
@@ -40,7 +33,6 @@ if (mainCategories) {
4033 }
4134}
4235%>
43-
4436<aside id =" menu" class =" menu shadow" >
4537 <nav class =" accordion" id =" accordion-menu" >
4638 <button
@@ -51,90 +43,33 @@ if (mainCategories) {
5143 >
5244 <i class =" i-times" ></i >
5345 </button >
54-
5546 <% for (const slug in categoryParents) { % >
5647 < % if (categoryParents .hasOwnProperty (slug)) { % >
57- < % const categories = categoryParents[slug] % >
58- < % const isMainLevel = slug === ' _' % >
59-
60- < div class = " accordion-item" >
61- < % if (isMainLevel) { % >
62- <!-- CATEGORIAS PRINCIPAIS (sempre abertas) -->
63- < div id= " categories-nav" class = " accordion-collapse collapse show" aria- labelledby= " categories-header" data- bs- parent= " #accordion-menu" >
64- < div class = " accordion-body menu__list p-0" >
65- <!-- SEMPRE VIS ÍVEIS -->
66- < a href= " /camiseta" class = " menu__item d-block p-3" > Camiseta< / a>
67- < a href= " /camisetas-infantis" class = " menu__item d-block p-3" > Camisetas Infantis< / a>
68- < a href= " /estampas" class = " menu__item d-block p-3" > Estampas< / a>
69-
70- <!-- COM SUBCATEGORIAS (dentro da mesma seção principal) -->
71- < % const aprenda = _ .categories .find (cat => cat .slug === ' aprenda-se-divertindo' ) || { name: ' Aprenda se Divertindo' } % >
72- < button class = " menu__item accordion-button collapsed d-block p-3 w-100 text-left border-0 bg-transparent"
73- type= " button"
74- data- bs- toggle= " collapse"
75- data- bs- target= " #sub-aprenda"
76- aria- expanded= " false" >
77- < %= aprenda .name % >
78- < / button>
79- < div id= " sub-aprenda" class = " accordion-collapse collapse" >
80- < div class = " accordion-body p-0" >
81- < % const subAprenda = categoryParents[' aprenda-se-divertindo' ] || [] % >
82- < % subAprenda .forEach (sub => { % >
83- < a href= " /<%= sub.slug %>" class = " menu__item d-block p-3 ps-5" > • < %= sub .name % >< / a>
84- < % }) % >
85- < / div>
86- < / div>
87-
88- < % const colecoes = _ .categories .find (cat => cat .slug === ' colecoes' ) || { name: ' Coleções' } % >
89- < button class = " menu__item accordion-button collapsed d-block p-3 w-100 text-left border-0 bg-transparent"
90- type= " button"
91- data- bs- toggle= " collapse"
92- data- bs- target= " #sub-colecoes"
93- aria- expanded= " false" >
94- < %= colecoes .name % >
95- < / button>
96- < div id= " sub-colecoes" class = " accordion-collapse collapse" >
97- < div class = " accordion-body p-0" >
98- < % const subColecoes = categoryParents[' colecoes' ] || [] % >
99- < % subColecoes .forEach (sub => { % >
100- < a href= " /<%= sub.slug %>" class = " menu__item d-block p-3 ps-5" > • < %= sub .name % >< / a>
101- < % }) % >
102- < / div>
103- < / div>
104-
105- < % const parceiros = _ .categories .find (cat => cat .slug === ' parceiros' ) || { name: ' Parceiros' } % >
106- < button class = " menu__item accordion-button collapsed d-block p-3 w-100 text-left border-0 bg-transparent"
107- type= " button"
108- data- bs- toggle= " collapse"
109- data- bs- target= " #sub-parceiros"
110- aria- expanded= " false" >
111- < %= parceiros .name % >
112- < / button>
113- < div id= " sub-parceiros" class = " accordion-collapse collapse" >
114- < div class = " accordion-body p-0" >
115- < % const subParceiros = categoryParents[' parceiros' ] || [] % >
116- < % subParceiros .forEach (sub => { % >
117- < a href= " /<%= sub.slug %>" class = " menu__item d-block p-3 ps-5" > • < %= sub .name % >< / a>
118- < % }) % >
119- < / div>
120- < / div>
121- < / div>
122- < / div>
48+ < % let category, parent % >
49+ < div
50+ < % if (slug === ' _' ) { % >
51+ id= " categories-nav"
52+ class = " collapse show"
53+ aria- expanded= " true"
12354 < % } else { % >
124- <!-- OUTRAS SUBCATEGORIAS -->
125- < div id= " <%= getSubmenuId(slug) %>" class = " accordion-collapse collapse" aria- labelledby= " <%= getSubmenuId(slug)-header %>" data- bs- parent= " #accordion-menu" >
126- < div class = " accordion-body menu__list p-0" >
127- < % categories .forEach (category => { % >
128- < a href= " /<%= category.slug %>" class = " menu__item d-block p-3" >< %= category .name % >< / a>
129- < % }) % >
130- < / div>
131- < / div>
55+ id= " <%= getSubmenuId(slug) %>"
56+ class = " collapse"
57+ aria- expanded= " false"
13258 < % } % >
59+ data- parent= " #accordion-menu"
60+ >
61+ < div class = " menu__list" >
62+ < a href= " /camiseta" class = " menu__item" > Camiseta< / a>
63+ < a href= " /camisetas-infantis" class = " menu__item" > Camisetas Infantis< / a>
64+ < a href= " /aprenda-se-divertindo" class = " menu__item" > Aprenda se Divertindo< / a>
65+ < a href= " /estampas" class = " menu__item" > Estampas< / a>
66+ < a href= " /colecoes" class = " menu__item" > Coleções< / a>
67+ < a href= " /parceiros" class = " menu__item" > Parceiros< / a>
68+ < / div>
13369 < / div>
13470 < % } % >
13571 < % } %>
13672 </nav >
137-
13873 <footer class =" menu__footer" >
13974 <% if (menu .phone_wpp ) { % >
14075 < div class = " menu__phone" >
@@ -161,7 +96,6 @@ if (mainCategories) {
16196 < % } % >
16297 < / div>
16398 < % } %>
164-
16599 <% if (menu .socials ) { % >
166100 < div class = " menu__social" >
167101 < % networksWithColors .forEach (([network , color ]) => { % >
0 commit comments