{% extends "_layout" %}

{% block content %}
    {% set targetGroups = entry.eventTargetGroups.orderBy('title ASC').all() %}
    {% set organiser = entry.eventOrganiser.one() %}
    {% set location = entry.address.one() %}
    {% set image = entry.eventImage.one() %}

    <section class="event-detail">
        <div class="container">
            <div class="event-detail__inner">
                <div class="event-detail__header">
                    <h1 class="event-detail__title">{{ entry.title }}</h1>

                    {% if organiser %}
                        <p class="event-detail__organiser">
                            {{ 'event.details.organisedBy'|t }}
                            {% if organiser.websiteLink %}
                                {% include '_partials/link.twig' with {url: organiser.websiteLink.url, label: organiser.title, class: 'event-detail__organiser-link'} %}
                            {% else %}
                                {{ organiser.title }}
                            {% endif %}
                        </p>
                    {% endif %}
                </div>

                <div class="event-detail__layout">
                    <div class="event-detail__main">
                        {% if image %}
                            <div class="event-detail__image">
                                {% include '_partials/image.twig' with {class: 'event-detail__img', transform: 'heroLarge'} %}
                            </div>
                        {% endif %}

                        <div class="event-detail__meta">
                            {% if entry.eventType == 'groupActivity' %}
                                <div class="event-detail__meta-item">
                                    <i class="fa-solid fa-calendar-days event-detail__meta-icon" aria-hidden="true"></i>
                                    {% if entry.dateLabel %}
                                        <p class="event-detail__meta-value">{{ entry.dateLabel }}</p>
                                    {% else %}
                                        <p class="event-detail__meta-value">{{ entry.date | date('j M Y') }}</p>
                                    {% endif %}
                                </div>
                            {% endif %}

                            {% if location %}
                                <div class="event-detail__meta-item">
                                    <i class="fa-solid fa-location-dot event-detail__meta-icon" aria-hidden="true"></i>
                                    <p class="event-detail__meta-value">{{ location.locality }}</p>
                                    {% if location.addressLine1 %}
                                        <p class="event-detail__meta-label">{{ location.addressLine1 }}</p>
                                    {% endif %}
                                </div>
                            {% endif %}

                            {% if targetGroups|length %}
                                <div class="event-detail__meta-item">
                                    <i class="fa-solid fa-users event-detail__meta-icon" aria-hidden="true"></i>
                                    <p class="event-detail__meta-value">
                                        {% for targetGroupKey, targetGroup in targetGroups %}
                                            {% if targetGroupKey > 0 %} - {% endif %}
                                            {{ targetGroup.shortTitle }}
                                        {% endfor %}
                                    </p>
                                </div>
                            {% endif %}
                        </div>

                        {% if entry.completeDescription %}
                            <div class="event-detail__description">
                                <h3 class="event-detail__description-title">{{ 'event.details.about'|t }}</h3>
                                <div class="event-detail__description-text">{{ entry.completeDescription }}</div>
                            </div>
                        {% endif %}
                    </div>

                    <div class="event-detail__sidebar">
                        {% if currentUser %}
                            {% set subscribed = craft.entries
                                .section('eventSubscriptions')
                                .relatedTo([
                                    'and',
                                    {
                                        targetElement: entry,
                                        field: 'event',
                                    },
                                    {
                                        targetElement: currentUser,
                                        field: 'user',
                                    },
                                ])
                                .status(null)
                                .one() %}
                        {% else %}
                            {% set subscribed = null %}
                        {% endif %}

                        <div class="event-detail__card {{ subscribed ? 'event-detail__card--' ~ subscribed.approvalStatus : '' }}">
                            {% if subscribed %}
                                <div class="event-detail__card-status">
                                    {% if subscribed.approvalStatus == 'approved' %}
                                        <i class="fa-solid fa-circle-check" aria-hidden="true"></i>
                                    {% elseif subscribed.approvalStatus == 'pending' %}
                                        <i class="fa-solid fa-hourglass-half" aria-hidden="true"></i>
                                    {% elseif subscribed.approvalStatus == 'rejected' %}
                                        <i class="fa-solid fa-circle-xmark" aria-hidden="true"></i>
                                    {% endif %}
                                    <p class="event-detail__card-text">{{ ('form.event.subscribe.message.' ~ subscribed.approvalStatus)|t }}</p>
                                </div>
                            {% else %}
                                <p class="event-detail__card-title">{{ entry.ctaTitle ?: 'event.details.cta.title'|t }}</p>
                                {% if entry.registrationEnabled %}
                                    <p class="event-detail__card-text">
                                        {% if currentUser %}
                                            {{ entry.ctaText ? entry.ctaText|nl2br : 'event.details.cta.textMember'|t }}
                                        {% else %}
                                            {{ 'event.details.cta.textGuest'|t }}
                                        {% endif %}
                                    </p>
                                    <div class="event-detail__card-actions">
                                        {% if currentUser %}
                                            {% include '_partials/link.twig' with {class: 'btn btn--primary event-detail__card-btn', url: url('event-subscription/' ~ entry.id), label: entry.ctaButtonLabel ?: 'event.details.cta.subscribeButton'|t} %}
                                        {% else %}
                                            {% include '_partials/link.twig' with {class: 'btn btn--primary event-detail__card-btn', url: url('event-subscription/' ~ entry.id), label: 'event.details.cta.loginButton'|t} %}
                                            {% include '_partials/link.twig' with {class: 'btn btn--secondary event-detail__card-btn', url: url('registration'), label: 'event.details.cta.registerButton'|t} %}
                                        {% endif %}
                                    </div>
                                {% else %}
                                    <div class="event-detail__card-text">
                                        {{ 'event.details.cta.textNotEnabled'|t|raw }}
                                    </div>
                                    <div class="event-detail__card-actions">
                                        {% set contactUs = craft.entries.section('contactUs').one() %}
                                        {% include '_partials/link.twig' with {class: 'btn btn--primary event-detail__card-btn', url: contactUs.url, label: 'event.details.cta.linkContactUs'|t} %}
                                    </div>
                                {% endif %}
                            {% endif %}
                        </div>

                        {% if entry.financialSupportEnabled %}
                            <div class="event-detail__card event-detail__card--support">
                                <p class="event-detail__card-title">
                                    <i class="fa-solid fa-hand-holding-heart" aria-hidden="true"></i>
                                    {{ 'event.details.support.title'|t }}
                                </p>
                                <p class="event-detail__card-text">{{ 'event.details.support.text'|t }}</p>
                                <div class="event-detail__card-actions">
                                    <a href="{{ entry.donationLink ? entry.donationLink : (donations.donationLink ? donations.donationLink : '#') }}" class="btn btn--primary event-detail__card-btn" target="_blank">
                                        {{ 'event.details.support.button'|t }}
                                    </a>
                                </div>
                            </div>
                        {% endif %}

                        <div class="event-detail__card">
                            <p class="event-detail__card-title">{{ 'event.details.contact.title'|t }}</p>
                            <div class="event-detail__contact-item">
                                <i class="fa-solid fa-envelope event-detail__contact-icon" aria-hidden="true"></i>
                                <a href="mailto:{{ contactInfo.emailAddress }}" class="event-detail__contact-link">{{ contactInfo.emailAddress }}</a>
                            </div>
                            {# Use the phone number of the admin linked to this event's category, fall back to the general number #}
                            {% set eventCategory = entry.eventCategory.one() %}
                            {% set categoryContact = eventCategory ? craft.users()
                                .admin()
                                .status('active')
                                .eventContactCategories(eventCategory)
                                .orderBy('users.id ASC')
                                .one() : null %}
                            {% set contactPhoneNumber = categoryContact and categoryContact.phoneNumber ? categoryContact.phoneNumber : contactInfo.phoneNumber %}
                            <div class="event-detail__contact-item">
                                <i class="fa-solid fa-phone event-detail__contact-icon" aria-hidden="true"></i>
                                <a href="{{ contactPhoneNumber.format('rfc3966') }}" class="event-detail__contact-link">{{ contactPhoneNumber.format('national') }}</a>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>

    {% set contactInfoBlock = craft.entries.section('components').type('contactInfo').orderBy('id ASC').one() %}
    {% if contactInfoBlock %}
        {% include 'generic-content/entry-types/contactInfo.twig' with {entry: contactInfoBlock} %}
    {% endif %}
{% endblock %}
