Skip to content

Commit b4eabea

Browse files
committed
Highlight active navbar items
Signed-off-by: Keshav Priyadarshi <[email protected]>
1 parent d074f6d commit b4eabea

File tree

3 files changed

+23
-7
lines changed

3 files changed

+23
-7
lines changed

vulnerabilities/templates/navbar.html

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,17 @@
1+
{% load utils %}
2+
13
<nav class="navbar is-dark mb-5 border-bottom-radius" role="navigation" aria-label="main navigation">
24
<div class="navbar-brand ml-3">
3-
<a class="navbar-item is-size-4 has-text-weight-bold" href="/">
5+
<a class="navbar-item is-size-4 has-text-weight-bold {% active_item 'home' %}" href="{% url 'home' %}">
46
VulnerableCode<span class="nexb-orange">.</span>io
57
</a>
68
</div>
79
<div class="navbar-menu">
810
<div class="navbar-start">
9-
<a class="navbar-item" href="{% url 'package_search' %}">
11+
<a class="navbar-item {% active_item 'package_search' %}" href="{% url 'package_search' %}">
1012
Packages
1113
</a>
12-
<a class="navbar-item" href="{% url 'vulnerability_search' %}">
14+
<a class="navbar-item {% active_item 'vulnerability_search' %}" href="{% url 'vulnerability_search' %}">
1315
Vulnerabilities
1416
</a>
1517
<a class="navbar-item" href="https://vulnerablecode.readthedocs.io/en/latest/" target="_blank">
@@ -18,7 +20,7 @@
1820
</div>
1921
</div>
2022
<div class="navbar-end mr-3">
21-
<a class="navbar-item" href="{% url 'schedule' %}">
23+
<a class="navbar-item {% active_item 'schedule' %}" href="{% url 'schedule' %}">
2224
Pipeline Schedule
2325
</a>
2426
<a class="navbar-item" href="{% url 'api_user_request' %}" target="_blank">

vulnerabilities/templatetags/utils.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,3 +24,13 @@ def strip(value):
2424
@register.filter
2525
def humanize_duration(duration):
2626
return humanize_time(seconds=duration)
27+
28+
29+
@register.simple_tag(takes_context=True)
30+
def active_item(context, url_name):
31+
"""Return is-active if navbar item is active."""
32+
request = context.get("request")
33+
if request and getattr(request, "resolver_match"):
34+
if request.resolver_match.url_name == url_name:
35+
return "is-active"
36+
return ""

vulnerablecode/urls.py

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,11 @@ def __init__(self, *args, **kwargs):
7070
HomePage.as_view(),
7171
name="home",
7272
),
73-
path("pipelines/schedule", PipelineScheduleListView.as_view(), name="schedule"),
73+
path(
74+
"pipelines/schedule/",
75+
PipelineScheduleListView.as_view(),
76+
name="schedule",
77+
),
7478
path(
7579
"pipelines/<str:pipeline_id>/runs/",
7680
PipelineRunListView.as_view(),
@@ -82,7 +86,7 @@ def __init__(self, *args, **kwargs):
8286
name="run-details",
8387
),
8488
path(
85-
"packages/search",
89+
"packages/search/",
8690
PackageSearch.as_view(),
8791
name="package_search",
8892
),
@@ -92,7 +96,7 @@ def __init__(self, *args, **kwargs):
9296
name="package_details",
9397
),
9498
path(
95-
"vulnerabilities/search",
99+
"vulnerabilities/search/",
96100
VulnerabilitySearch.as_view(),
97101
name="vulnerability_search",
98102
),

0 commit comments

Comments
 (0)