Highlight selected item in proposition navigation

It is standard practice when using GOV.UK template to highlight the
selected navigation item in the propositional navigation (black bar) by
colouring it blue.

This commit adds a new subclass of `Navigation` with the mapping needed
to decide which pages belong to which item in the navigation (or none
at all).
This commit is contained in:
Chris Hill-Scott
2018-04-25 11:11:37 +01:00
parent e1fd63e184
commit 8a7525a809
4 changed files with 328 additions and 34 deletions

View File

@@ -40,19 +40,19 @@
<a href="#proposition-links" class="js-header-toggle menu">Menu</a>
<nav id="proposition-menu">
<ul id="proposition-links">
<li><a href="{{ url_for('main.support') }}">Support</a></li>
<li><a href="{{ url_for('main.support') }}" {{ header_navigation.is_selected('support') }}>Support</a></li>
{% if current_user.is_authenticated %}
<li><a href="{{ url_for('main.documentation') }}">Documentation</a></li>
<li><a href="{{ url_for('main.user_profile') }}">{{ current_user.name }}</a></li>
<li><a href="{{ url_for('main.documentation') }}" {{ header_navigation.is_selected('documentation') }}>Documentation</a></li>
<li><a href="{{ url_for('main.user_profile') }}" {{ header_navigation.is_selected('user-profile') }}>{{ current_user.name }}</a></li>
{% if current_user.platform_admin %}
<li><a href="{{ url_for('main.platform_admin') }}">Platform admin</a></li>
<li><a href="{{ url_for('main.platform_admin') }}" {{ header_navigation.is_selected('platform-admin') }}>Platform admin</a></li>
{% endif %}
<li><a href="{{ url_for('main.sign_out')}}">Sign out</a></li>
{% else %}
<li><a href="{{ url_for('main.features') }}">Features</a></li>
<li><a href="{{ url_for('main.pricing' )}}">Pricing</a></li>
<li><a href="{{ url_for('main.documentation') }}">Documentation</a></li>
<li><a href="{{ url_for('main.sign_in' )}}">Sign in</a></li>
<li><a href="{{ url_for('main.features') }}" {{ header_navigation.is_selected('features') }}>Features</a></li>
<li><a href="{{ url_for('main.pricing' )}}" {{ header_navigation.is_selected('pricing') }}>Pricing</a></li>
<li><a href="{{ url_for('main.documentation') }}" {{ header_navigation.is_selected('documentation') }}>Documentation</a></li>
<li><a href="{{ url_for('main.sign_in' )}}" {{ header_navigation.is_selected('sign-in') }}>Sign in</a></li>
{% endif %}
</ul>
</nav>