56 lines
2.2 KiB
Twig
56 lines
2.2 KiB
Twig
{% extends 'base.html.twig' %}
|
|
|
|
{% block title %}Browse events — VINDN{% endblock %}
|
|
|
|
{% block head_extra %}
|
|
<style>
|
|
.toolbar{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:20px; }
|
|
</style>
|
|
{% endblock %}
|
|
|
|
{% block body %}
|
|
<section class="section" style="padding-bottom:0;">
|
|
<div class="wrap">
|
|
<p class="eyebrow" style="margin-bottom:10px;">All events</p>
|
|
<div class="toolbar">
|
|
<h1 style="font-size:clamp(28px,4vw,40px);">What's on{{ activeCategory ? ' — ' ~ activeCategory : '' }}</h1>
|
|
<p class="mono" style="font-size:13px; color:var(--muted);">{{ total }} event{{ total == 1 ? '' : 's' }}</p>
|
|
</div>
|
|
|
|
<input type="checkbox" id="catsToggle" class="chip-toggle-checkbox">
|
|
<div class="chip-row chip-row-collapsible">
|
|
<a href="{{ path('event_list') }}" class="chip {{ activeCategory is null ? 'is-active' : '' }}">All</a>
|
|
{% for category in categories %}
|
|
<a href="{{ path('event_list', {category: category}) }}" class="chip {{ activeCategory == category ? 'is-active' : '' }}">{{ category }}</a>
|
|
{% endfor %}
|
|
</div>
|
|
<label for="catsToggle" class="chip-toggle-btn" style="margin-bottom:32px;">
|
|
<span class="show-more">Show all categories ↑</span>
|
|
<span class="show-less">Show fewer categories ↑</span>
|
|
</label>
|
|
</div>
|
|
</section>
|
|
|
|
<section class="section" style="padding-top:0;">
|
|
<div class="wrap">
|
|
<div class="card-grid">
|
|
{% for event in events %}
|
|
{% include 'events/_card.html.twig' with { event: event } %}
|
|
{% else %}
|
|
<div class="no-results" style="grid-column:1/-1; padding:60px 20px; text-align:center; color:var(--muted); border:1px dashed var(--line-strong); border-radius:var(--r-card);">
|
|
<p class="eyebrow" style="margin-bottom:8px;">No events</p>
|
|
<p>Nothing matches this filter yet — try "All" or check back once the importer has run.</p>
|
|
</div>
|
|
{% endfor %}
|
|
</div>
|
|
|
|
{% include '_pager.html.twig' with {
|
|
currentPage: page,
|
|
totalPages: totalPages,
|
|
routeName: 'event_list',
|
|
routeParams: { category: activeCategory }
|
|
} %}
|
|
</div>
|
|
</section>
|
|
{% endblock %}
|