feat: Add navbar submenu toggle and tracking

This commit is contained in:
Gabriel Diaz 2023-05-10 12:51:08 -03:00
parent 610fbee1b6
commit 354a4f038b
No known key found for this signature in database
GPG Key ID: 31C6EFECD0E7375E
2 changed files with 35 additions and 0 deletions

28
assets/navbar.js Normal file
View File

@ -0,0 +1,28 @@
;(function () {
var navbarItems = document.querySelectorAll('.dcl.navbar .dcl.navbar-menu .ui.menu > div.item')
navbarItems.forEach((menuItem) => {
menuItem.addEventListener('mouseenter', function (event) {
var submenu = event.target.querySelector('.item.submenu')
if (submenu) {
submenu.classList.add('active')
}
})
menuItem.addEventListener('mouseleave', function (event) {
var submenu = event.target.querySelector('.item.submenu')
if (submenu && submenu.classList.contains('active')) {
submenu.classList.remove('active')
}
})
menuItem.querySelectorAll('a.item').forEach((link) => {
var parent = menuItem.querySelector('a.item')
link.addEventListener('click', function (event) {
if (window.analytics) {
window.analytics.track('Clicked on navbar', {
section: parent.textContent.toLowerCase(),
submenu: parent.textContent !== event.target.textContent ? event.target.textContent.toLowerCase() : undefined,
})
}
})
})
})
})()

View File

@ -69,3 +69,10 @@
</div>
</div>
</div>
<!-- Restore menu position as soon as possible to avoid flickering -->
{{ $script := resources.Get "navbar.js" | resources.Minify }} {{ with $script.Content }}
<script>
{{ . | safeJS }}
</script>
{{ end }}