Files
xrpl-dev-portal/template/component-top-nav.html.jinja
2021-06-15 12:01:08 -07:00

70 lines
3.9 KiB
Django/Jinja

<div class="container-fluid">
<nav class="top-nav navbar navbar-expand-lg navbar-dark row">
<a href="{% if target.prefix %}{{target.prefix}}{% else %}/{% endif %}" class="navbar-brand"><img src="{{currentpage.prefix}}assets/img/XRPLedger_DevPortal-white.svg" class="logo" height="44" alt="{{target.display_name}}" /></a>
<button class="navbar-toggler collapsed" type="button" data-toggle="collapse" data-target="#navbarHolder" aria-controls="navbarHolder" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse justify-content-center" id="navbarHolder">
<ul class="nav navbar-nav">
{% macro dropdown(top_page) %}
{% set printed_groupings = [] %}
{% if top_page.children|selectattr('top_nav_omit', 'undefined_or_ne', True)|list|length %}
<li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="topnav_{{top_page.html}}" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">{% if top_page.top_nav_name is defined %}{{top_page.top_nav_name}}{% else %}{{top_page.name}}{% endif %}</a>
<div class="top-nav-dropdown dropdown-menu" aria-labelledby="topnav_{{top_page.html}}"><div class="row">
<!-- TODO: link for the parent page here, handle non -->
{% for link in top_page.children if not link.top_nav_omit %}
{% if link.top_nav_grouping is defined and link.top_nav_grouping not in printed_groupings %}
<h5>{{link.top_nav_grouping}}</h5>
{% set _ = printed_groupings.append(link.top_nav_grouping) %}
{% endif %}
<a class="dropdown-item {% if currentpage == link %} active{% endif %}" href="{{link.html}}">{% if link.top_nav_name is defined %}{{link.top_nav_name}}{% else %}{{link.name}}{% endif %}</a>
{% endfor %}
</div></div>
</li>
{% elif not top_page.top_nav_omit %}
<li class="nav-item">
<a class="nav-link" href="{{top_page.html}}">{{top_page.name}}</a>
</li>
{% endif %}
{% endmacro %}
{% for page in (pages|first).children %}
{{ dropdown(page) }}
{% endfor %}
{% include 'component-github-edit.html.jinja' %}
<li class="nav-item" id="navbar-search">
<form class="navbar-form navbar-right" role="search">
<div class="form-inline">
<div class="input-group">
<label class="input-group-prepend" for="topsearchbar"><i class="fa fa-search input-group-text"></i><span class="sr-only">{% trans %}Search site...{% endtrans %}</span></label>
<input id="topsearchbox" name="q" type="text" class="form-control" placeholder="{% trans %}Search site...{% endtrans %}">
<div class="input-group-append d-none d-lg-flex">
<button type="button" class="btn btn-default" data-toggle="dropdown" data-target="topnav-search-dropdown-toggle"><i class="fa fa-times"></i><span class="sr-only">{% trans %}Close Search{% endtrans %}</span></button>
</div>
</div><!--/.input-group-->
</div>
</form>
</li><!--/#navbar-search-->
</ul><!-- /.navbar-nav -->
<div class="nav navbar-nav language-selector">
<div class="dropdown">
<a class="nav-link dropdown-toggle with-caret" id="language_selector_header_btn" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
{{(config.languages|selectattr('code', 'eq', target.lang)|first).display_name}}
</a>
<div class="dropdown-menu smaller-dropdown" aria-labelledby="language_selector_header_btn">
{% for lang in config.languages %}
<a class="dropdown-item" href="{{lang.prefix}}{{currentpage.html}}">{{lang.display_name}}</a>
{% endfor %}
</div><!--/.dropdown-menu-->
</div><!--/.dropdown-->
</div><!--/.language-selector-->
</div><!--/#navbarHolder-->
</nav>
</div>