10
10
< span aria-hidden ="true "> </ span >
11
11
</ a >
12
12
</ div >
13
- < div class ="navbar-menu " id ="navMenu " :class =" { 'is-active': openNav } " >
13
+ < div class ="navbar-menu " id ="navMenu ">
14
14
< div class ="navbar-start ">
15
15
{% if site.data.navigation %}
16
16
{% for item in site.data.navigation %}
17
17
{% if item.dropdown %}
18
- < div class ="navbar-item has-dropdown is-hoverable {% if site.fixed_navbar == 'bottom' %} has-dropdown-up {% endif %} ">
19
- < a href ="{{ item.link | relative_url }} " class ="navbar-link {% if page.url contains item.link %}is-active{% endif %} "> {{ item.name }}</ a >
18
+ <!-- First-level dropdown (open on click) -->
19
+ < div class ="navbar-item has-dropdown ">
20
+ < a href ="{{ item.link | relative_url }} " class ="navbar-link {% if page.url contains item.link %}is-active{% endif %} " onclick ="toggleDropdown(event) ">
21
+ {{ item.name }}
22
+ </ a >
20
23
< div class ="navbar-dropdown ">
21
24
{% for subitem in item.dropdown %}
22
- < a href ="{{ subitem.link | relative_url }} " class ="navbar-item {% if subitem.link == page.url %}is-active{% endif %} "> {{ subitem.name }}</ a >
25
+ {% if subitem.dropdown %}
26
+ <!-- Second-level dropdown (hoverable) -->
27
+ < div class ="navbar-item has-dropdown is-hoverable ">
28
+ < a href ="{{ subitem.link | relative_url }} " class ="navbar-link "> {{ subitem.name }}</ a >
29
+ < div class ="navbar-dropdown ">
30
+ {% for subsubitem in subitem.dropdown %}
31
+ < a href ="{{ subsubitem.link | relative_url }} " class ="navbar-item "> {{ subsubitem.name }}</ a >
32
+ {% endfor %}
33
+ </ div >
34
+ </ div >
35
+ {% else %}
36
+ < a href ="{{ subitem.link | relative_url }} " class ="navbar-item {% if subitem.link == page.url %}is-active{% endif %} "> {{ subitem.name }}</ a >
37
+ {% endif %}
23
38
{% endfor %}
24
39
</ div >
25
40
</ div >
26
41
{% else %}
42
+ <!-- Non-dropdown first-level link -->
27
43
< a href ="{{ item.link | relative_url }} " class ="navbar-item {% if item.link == page.url %}is-active{% endif %} "> {{ item.name }}</ a >
28
44
{% endif %}
29
45
{% endfor %}
30
46
{% endif %}
31
47
</ div >
48
+
32
49
< div class ="navbar-end ">
33
50
< a href =""> < img src ="../../../../flag.png "/> </ a >
34
51
< a class ="navbar-item " href ="# ">
39
56
40
57
</ div >
41
58
</ div >
42
- </ nav >
59
+ </ nav >
60
+
61
+ < script >
62
+ function toggleDropdown ( event ) {
63
+ event . preventDefault ( ) ;
64
+
65
+ // Find the parent dropdown container
66
+ const parentItem = event . target . closest ( '.has-dropdown' ) ;
67
+
68
+ // Toggle the active state
69
+ if ( parentItem . classList . contains ( 'is-active' ) ) {
70
+ parentItem . classList . remove ( 'is-active' ) ;
71
+ } else {
72
+ // Close all other dropdowns
73
+ document . querySelectorAll ( '.navbar-item.has-dropdown.is-active' ) . forEach ( item => {
74
+ item . classList . remove ( 'is-active' ) ;
75
+ } ) ;
76
+
77
+ // Open the clicked dropdown
78
+ parentItem . classList . add ( 'is-active' ) ;
79
+ }
80
+ }
81
+
82
+ // Close dropdowns when clicking outside
83
+ document . addEventListener ( 'click' , function ( event ) {
84
+ const target = event . target ;
85
+ if ( ! target . closest ( '.has-dropdown' ) ) {
86
+ document . querySelectorAll ( '.navbar-item.has-dropdown.is-active' ) . forEach ( item => {
87
+ item . classList . remove ( 'is-active' ) ;
88
+ } ) ;
89
+ }
90
+ } ) ;
91
+ </ script >
92
+
0 commit comments