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 >
32
- < div class ="navbar-end ">
33
- < a href =""> < img src ="../../../../flag.png "/> </ a >
34
- < a class ="navbar-item " href ="# ">
35
- < i class ="fas fa-icon-name "> </ i >
36
- </ a >
37
- </ div >
38
48
39
49
40
50
</ div >
41
51
</ div >
42
- </ nav >
52
+ </ nav >
53
+
54
+ < script >
55
+ function toggleDropdown ( event ) {
56
+ event . preventDefault ( ) ;
57
+
58
+ // Find the parent dropdown container
59
+ const parentItem = event . target . closest ( '.has-dropdown' ) ;
60
+
61
+ // Toggle the active state
62
+ if ( parentItem . classList . contains ( 'is-active' ) ) {
63
+ parentItem . classList . remove ( 'is-active' ) ;
64
+ } else {
65
+ // Close all other dropdowns
66
+ document . querySelectorAll ( '.navbar-item.has-dropdown.is-active' ) . forEach ( item => {
67
+ item . classList . remove ( 'is-active' ) ;
68
+ } ) ;
69
+
70
+ // Open the clicked dropdown
71
+ parentItem . classList . add ( 'is-active' ) ;
72
+ }
73
+ }
74
+
75
+ // Close dropdowns when clicking outside
76
+ document . addEventListener ( 'click' , function ( event ) {
77
+ const target = event . target ;
78
+ if ( ! target . closest ( '.has-dropdown' ) ) {
79
+ document . querySelectorAll ( '.navbar-item.has-dropdown.is-active' ) . forEach ( item => {
80
+ item . classList . remove ( 'is-active' ) ;
81
+ } ) ;
82
+ }
83
+ } ) ;
84
+ </ script >
85
+
0 commit comments