Files
vindn.de/frontend/templates/base.html.twig
T
2026-10-09 16:37:53 +02:00

71 lines
3.3 KiB
Twig

<!DOCTYPE html>
<html lang="{{ app.request.locale }}">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% block title %}{{ 'home.title'|trans }}{% endblock %}</title>
<link rel="stylesheet" href="{{ asset('styles.css') }}">
{% block head_extra %}{% endblock %}
</head>
<body>
<a href="#main" class="skip-link">{{ 'skip_link'|trans }}</a>
<header class="site-header">
<div class="wrap">
<a href="{{ path('home') }}" class="brand" aria-label="{{ 'nav.home_aria'|trans }}">
<img src="{{ asset('images/vindn_logo_adobe.svg') }}" alt="VINDN">
</a>
<nav class="main-nav" aria-label="{{ 'nav.primary'|trans }}">
<a href="{{ path('home') }}" class="{{ activeNav == 'home' ? 'is-active' : '' }}">{{ 'nav.home'|trans }}</a>
<a href="{{ path('event_list') }}" class="{{ activeNav == 'events' ? 'is-active' : '' }}">{{ 'nav.browse'|trans }}</a>
<a href="{{ path('map') }}" class="{{ activeNav == 'map' ? 'is-active' : '' }}">{{ 'nav.map'|trans }}</a>
</nav>
<div class="nav-actions">
<form class="nav-search" action="{{ path('event_list') }}" role="search">
<button type="submit" aria-label="{{ 'search.submit'|trans }}">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="7"/><path d="M21 21l-4.3-4.3"/></svg>
</button>
<label for="navSearchInput" style="display:none;">{{ 'search.label'|trans }}</label>
<input id="navSearchInput" type="text" name="q" placeholder="{{ 'search.placeholder'|trans }}" autocomplete="off" value="{{ app.request.query.get('q') }}">
</form>
{% include '_language_switcher.html.twig' %}
<button class="nav-burger" aria-label="{{ 'nav.menu_open'|trans }}" aria-expanded="false" aria-controls="mobileMenu"><span></span><span></span><span></span></button>
</div>
</div>
<div class="mobile-menu" id="mobileMenu" hidden>
<nav aria-label="{{ 'nav.primary'|trans }}">
<a href="{{ path('home') }}" class="{{ activeNav == 'home' ? 'is-active' : '' }}">{{ 'nav.home'|trans }}</a>
<a href="{{ path('event_list') }}" class="{{ activeNav == 'events' ? 'is-active' : '' }}">{{ 'nav.browse'|trans }}</a>
<a href="{{ path('map') }}" class="{{ activeNav == 'map' ? 'is-active' : '' }}">{{ 'nav.map'|trans }}</a>
</nav>
<form class="mobile-search" action="{{ path('event_list') }}" role="search">
<label for="mobileSearchInput" style="display:none;">{{ 'search.label'|trans }}</label>
<input id="mobileSearchInput" type="text" name="q" placeholder="{{ 'search.placeholder'|trans }}" autocomplete="off" value="{{ app.request.query.get('q') }}">
<button type="submit">{{ 'search.submit'|trans }}</button>
</form>
</div>
</header>
<main id="main">
{% block body %}{% endblock %}
</main>
<footer class="site-footer">
<div class="wrap">
{% block footer %}
<div class="footer-bottom" style="border-top:none; margin-top:0; padding-top:0;">
<span>© 2026 VINDN</span>
</div>
{% endblock %}
</div>
</footer>
<script>window.VINDN_I18N = {{ vindn_i18n_json() }};</script>
<script src="{{ asset('js/i18n.js') }}"></script>
<script src="{{ asset('js/location.js') }}"></script>
<script src="{{ asset('js/dates.js') }}"></script>
<script src="{{ asset('js/nav.js') }}"></script>
{% block scripts %}{% endblock %}
</body>
</html>