{% macro pageLinkName(text) %}{{ text|lower|replace({' ':'_'}) }}{% endmacro %}

{% macro nav_loop(page) %}
    {% for p in page.children.visible %}
        {% set active_page = (p.active or p.activeChild) ? 'active' : '' %}
        {% set modules = p.collection() %}
        {% if p.children.visible.count > 0 %}
            <li>
                <a href="{{ p.url }}" class="{{ active_page }}">
                    {{ p.menu }}
                </a>
                <ul>
                    {{ _self.nav_loop(p) }}
                </ul>
            </li>
        {% elseif modules.count > 0 %}
            <li>
                <a href="{{ p.url }}" class="{{ active_page }}">
                    {{ p.menu }}
                </a>
                <ul class="navigation">
                {% for m in modules if m.template != 'modular/hero' %}
                    {% set current_module = (m.active or m.activeChild) ? 'active' : '' %}
                    <li>
                        <a href="{{ p.url }}#{{ _self.pageLinkName(m.menu) }}" class="{{ current_module }}">
                            {{ m.menu }}
                        </a>
                    </li>
                {% endfor %}
                </ul>
            </li>
        {% else %}
            <li>
                <a href="{{ p.url }}" class="{{ active_page }}">
                    {{ p.menu }}
                </a>
            </li>
        {% endif %}
    {% endfor %}
{% endmacro %}

<ul {{ tree ? 'class="tree"' : '' }}>
    {{ _self.nav_loop(pages) }}
</ul>

