/**
 * This script marks the current path as active in the menu.
 */

const markActive = (link) => {
    const parentItem = link.closest('.menu-item');
    link.classList.add('active');
    if (parentItem) {
        parentItem.classList.add('active');
    }
}

const checkLink = (fuzzy) => {
}

document.addEventListener('DOMContentLoaded', () => {
    const currentPath = window.location.pathname;
    const menuLinks = [...document.querySelectorAll('a.menu-link')]

    const exactMatches = menuLinks.filter(link => link.getAttribute('href') === currentPath)
    if (exactMatches.length > 0) {
        markActive(exactMatches[0])
    } else {
        fuzzyMatches = menuLinks.filter(link => currentPath.startsWith(link.getAttribute('href')))
        if (fuzzyMatches.length > 0) {
            const longestMatch = fuzzyMatches.sort((a, b) => b.href.length - a.href.length)[0]
            markActive(longestMatch)
        }
    }
})
