{% set highlightEvent = entry.highlightedEvent.one() %}
{% if highlightEvent and highlightEvent.eventType == 'groupActivity' and highlightEvent.date < now %}
    {% set highlightEvent = null %}
{% endif %}

{% if craft.app.request.getParam('reset') %}
    {% do craft.app.session.remove('eventCalendarType') %}
    {% do craft.app.session.remove('eventCalendarTargetGroup') %}
{% endif %}

{% set filterType = craft.app.request.getParam('type') %}
{% if filterType|length and filterType matches '/^\\d+$/' %}
    {% do craft.app.session.set('eventCalendarType', filterType) %}
{% else %}
    {% set filterType = craft.app.session.get('eventCalendarType') ?? '' %}
{% endif %}

{% set filterTargetGroup = craft.app.request.getParam('tg') %}
{% if filterTargetGroup|length and filterTargetGroup matches '/^\\d+$/' %}
    {% do craft.app.session.set('eventCalendarTargetGroup', filterTargetGroup) %}
{% else %}
    {% set filterTargetGroup = craft.app.session.get('eventCalendarTargetGroup') ?? '' %}
{% endif %}

{% if highlightEvent %}
    {% set targetGroups = highlightEvent.eventTargetGroups.orderBy('title ASC').all() %}
    <section class="activity-hero activity-hero--purple">
        <div class="activity-hero__content">
            <div class="container">
                <div class="activity-hero__text">
                    <h1 class="activity-hero__title">{{ highlightEvent.title }}</h1>
                    <div class="activity-hero__description">{{ highlightEvent.shortDescription }}</div>

                    <div class="activity-hero__meta">

                        <div class="activity-hero__meta-item">
                            <i class="fa-solid fa-calendar-days activity-hero__meta-icon" aria-hidden="true"></i>
                            <span class="activity-hero__meta-text">{{ highlightEvent.date | date('l j F Y') | upper }}</span>
                        </div>

                        {% set location = highlightEvent.address.one() %}
                        {% if location %}
                            <div class="activity-hero__meta-item">
                                <i class="fa-solid fa-location-dot activity-hero__meta-icon" aria-hidden="true"></i>
                                <span class="activity-hero__meta-text">{{ location.locality | upper }}</span>
                            </div>
                        {% endif %}

                        <div class="activity-hero__meta-item">
                            <i class="fa-solid fa-users activity-hero__meta-icon" aria-hidden="true"></i>
                            <span class="activity-hero__meta-text">
                                {% for targetGroupKey, targetGroup in targetGroups %}
                                    {% if targetGroupKey > 0 %} - {% endif %}
                                    {{ targetGroup.shortTitle }}
                                {% endfor %}
                            </span>
                        </div>

                    </div>


                    <div class="activity-hero__actions">

                        <a href="{{ url('events/' ~ highlightEvent.slug) }}" class="btn btn--primary activity-hero__btn">
                            {{ 'link.event.moreInfoSubscribe'|t }}
                        </a>

                    </div>

                </div>
            </div>

            {% set image = highlightEvent.eventImage.one() %}
            {% if image %}
                <div class="activity-hero__image">
                    {% include '_partials/image.twig' with {class: 'activity-hero__img', transform: 'heroLarge'} %}
                </div>
            {% endif %}
        </div>
    </section>
{% endif %}

{% set events = craft.EventService.getEvents({
    'targetGroup': filterTargetGroup,
    'includeIndividual': not filterType or filterType == 1,
    'includeGroup': not filterType or filterType == 2,
}) %}
<section class="calendar" id="calendar">
    <div class="container">
        <h2 class="calendar__title">{{ entry.calendarTitle }}</h2>
        <div class="calendar__subtitle">
            {{ entry.calendarIntro }}
        </div>

        <div class="calendar__filters calendar__filters-first">
            {% set activeClass = filterTargetGroup or filterType ? '' : '  calendar__filter--active' %}
            {% include '_partials/link.twig' with {url: entry.url ~ '?reset=1#calendar', label: 'event.calendar.allActivities'|t, class: 'calendar__filter' ~ activeClass} %}
            {% set targetGroups = craft.categories.group('eventTargetGroups') %}
            {% for targetGroup in targetGroups %}
                {% set activeClass = filterTargetGroup == targetGroup.id ? '  calendar__filter--active' : '' %}
                {% set filterLink = filterTargetGroup == targetGroup.id ? 0 : targetGroup.id %}
                {% include '_partials/link.twig' with {url: entry.url ~ '?tg=' ~ filterLink ~ '#calendar', label: targetGroup.title, class: 'calendar__filter' ~ activeClass} %}
            {% endfor %}
        </div>
        <div class="calendar__filters">
            {% set types = {1: 'individualActivity', 2: 'groupActivity'} %}
            {% for typeId, typeKey in types %}
                {% set activeClass = filterType == typeId ? '  calendar__filter--active' : '' %}
                {% set filterLink = filterType == typeId ? 0 : typeId %}
                {% include '_partials/link.twig' with {url: entry.url ~ '?type=' ~ filterLink ~ '#calendar', label: ('event.details.eventType.' ~ typeKey)|t, class: 'calendar__filter' ~ activeClass} %}
            {% endfor %}
        </div>

        {% if events|length %}
            <div class="upcoming__cards">
                {% for event in events %}
                    {% include 'generic-content/_partials/event.twig' %}
                {% endfor %}
            </div>
        {% else %}
            <div class="calendar__subtitle">{{ 'event.calendar.noEventsFound'|t }}</div>
        {% endif %}
        
    </div>
</section>