Implement tag filtering

This commit is contained in:
Tim
2025-05-10 20:44:13 +02:00
parent e2bd1a7c3b
commit b8ae8bb8a7
9 changed files with 90 additions and 34 deletions

View File

@ -1,4 +1,4 @@
{% extends 'base/two.column.html.twig' %}
{% extends 'base/two.column.8-4.html.twig' %}
{% set title = 'My Snips' %}
@ -15,6 +15,9 @@
<span>
{{ include('snip/badge.html.twig', {snip: snip}) }}
{{ snip }}
{% for tag in snip.tags %}
<span class="badge bg-secondary">{{ tag }}</span>
{% endfor %}
</span>
</a>
{% endfor %}
@ -24,12 +27,12 @@
{% block column2 %}
<h3>Filters</h3>
<h5>Ordering</h5>
<h5>Sort by</h5>
<div class="list-group">
{% for sortOption in ['name', 'date'] %}
{% for sortOption in snipSortOptions() %}
<a href="{{ path('snip_index', {sort: sortOption}) }}"
class="list-group-item list-group-item-action {% if sortOption is same as(request.sort) %}list-group-item-primary{% endif %}">
Sort by {{ sortOption|capitalize }}
{{ sortOption|capitalize }}
</a>
{% endfor %}
</div>
@ -37,11 +40,22 @@
<br>
<h5>Visibility</h5>
<div class="list-group">
{% for visibilityOption in ['all', 'visible', 'hidden', 'archived'] %}
{% for visibilityOption in snipFilterOptions() %}
<a href="{{ path('snip_index', {visibility: visibilityOption}) }}"
class="list-group-item list-group-item-action {% if request.visibility is same as(visibilityOption) %}list-group-item-primary{% endif %}">
Show {{ visibilityOption|capitalize }}
</a>
{% endfor %}
</div>
<br>
<h5>Tags</h5>
<div class="list-group">
{% for key,tagOption in snipTagOptions() %}
<a href="{{ path('snip_index', {tag: key}) }}"
class="list-group-item list-group-item-action {% if request.tag is same as(key) %}list-group-item-primary{% endif %}">
{{ tagOption|capitalize }}
</a>
{% endfor %}
</div>
{% endblock %}