Add navigation bar

This commit is contained in:
Edward Betts 2019-10-15 12:21:05 +01:00
parent 1a7872b136
commit ded4b913da
4 changed files with 59 additions and 12 deletions

View file

@ -11,8 +11,10 @@
{% block style %}{% endblock %}
</head>
{% from "navbar.html" import navbar with context %}
<body>
{% block nav %}{{ navbar() }}{% endblock %}
{% block content %}{% endblock %}
<script src="{{ url_for('static', filename='javascript/jquery/jquery.min.js') }}"></script>

View file

@ -6,16 +6,12 @@
<div class="m-3">
<p><a href="{{ url_for('random_painting') }}">random painting</a>
{% if not username %}
{% if not g.user %}
| <a href="{{ url_for('start_oauth') }}">connect to Wikidata account</a>
{% endif %}
</p>
{% if username %}
<p>username: {{ username }}</p>
{% endif %}
{% if not username %}
{% if not g.user %}
<p>This tool must be connected with Wikidata to work.</p>
<p><a href="{{ url_for('start_oauth') }}" class="btn btn-primary btn-lg">Connect with Wikidata</a>
{% endif %}

44
templates/navbar.html Normal file
View file

@ -0,0 +1,44 @@
{% macro nav_item(name, label) %}
<li class="nav-item{% if name == active %} active{% endif %}">
<a class="nav-link" href="{{ url_for(name) }}">{{ label }}{% if name == active %} <span class="sr-only">(current)</span>{% endif %}</a>
</li>
{% endmacro %}
{% macro navbar_inner(name) %}
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<a class="navbar-brand" href="{{ url_for('browse_page') }}">Wikidata Art Depiction Explorer</a>
<div class="collapse navbar-collapse" id="navbarSupportedContent">
<ul class="navbar-nav mr-auto">
<ul class="navbar-nav mr-auto">
{{ nav_item('browse_page', 'Browse') }}
{{ nav_item('list_edits', 'Recent changes') }}
{{ nav_item('random_painting', 'Random painting') }}
</ul>
</ul>
<ul class="navbar-nav">
<li class="nav-item">
{% if g.user %}
<li class="nav-item">
<a class="nav-link" href="{{ url_for('user_page', username=g.user) }}">{{ g.user }}</a>
</li>
<li class="nav-item">
<a class="nav-link" href="{{ url_for('oauth_disconnect', next=request.script_root + request.full_path) }}">switch user</a>
</li>
{% else %}
<li class="nav-item">
{% set login_url = url_for('start_oauth', next=request.script_root + request.full_path) %}
<a class="nav-link" href="{{ login_url }}">connect with Wikidata</a>
</li>
{% endif %}
</ul>
</div>
{% endmacro %}
{% macro navbar() %}
<nav class="navbar navbar-toggleable-md navbar-expand-lg navbar-dark bg-dark">
{{ navbar_inner() }}
</nav>
{% endmacro %}