{% extends "_layout-simplified" %}

{% set submissionUid = craft.app.request.getQueryParam('sid') %}
{% if not submissionUid %}
    {% set submissionUid = craft.app.session.get('infoRequestSubmissionUid', '') %}
{% endif %}
{% set failedCount = craft.app.session.get('infoRequestFailedCount', 0) %}

{% if failedCount >= 10 %}
    {% exit 400 %}
{% endif %}

{% if submissionUid %}
    {% set submission = craft.formie.submissions({
     uid: submissionUid,
     isIncomplete: null,
    }).one() %}
{% else %}
    {% set submission = null %}
{% endif %}

{% if not submission %}
    {% do craft.app.session.set('infoRequestFailedCount', failedCount + 1) %}
    {% exit 404 %}
{% endif %}

{% set form = submission.form %}
{% if form.template.handle != 'informationRequest' %}
    {% exit 404 %}
{% endif %}

{% do craft.app.session.set('infoRequestSubmissionUid', submissionUid) %}

{# Tell Formie we're editing a submission #}
{% do form.setSubmission(submission) %}

{% set currentPage = form.getCurrentPage() %}
{% if form.isLastPage %}
    {% set missingFields = craft.infoRequestService.getIncompleteFields(submission) %}
{% else %}
    {% set missingFields = [] %}
{% endif %}

{% if submission.isIncomplete or submission.status == 'reopened' %}
    {% set isClosed = false %}
{% else %}
    {% set isClosed = true %}
{% endif %}

{% block content %}
    <section class="members-home">
        <div class="container">
            <div class="members-home__layout">
                <aside class="members-home__sidebar" aria-label="Member sub-navigation">
                    <nav class="members-home__subnav">
                        <p class="members-home__subnav-title">{{ 'Subscription form'|t('formie') }}</p>
                        <ul class="members-home__subnav-list" role="list">
                            {% if not isClosed %}
                                {% for page in form.getPages() %}
                                    {% if not page.isConditionallyHidden(submission) %}
                                        {% set isActive = page.id == currentPage.id %}
                                        <li>
                                            <a
                                                    class="members-home__subnav-link {{ isActive ? 'members-home__subnav-link--active' }}"
                                                    href="/index.php?p=actions/formie/submissions/set-page&handle={{ form.handle }}&pageId={{ page.id }}"
                                                    {% if isActive %}aria-current="page"{% endif %}
                                            >
                                                {{ page.label|t('formie') }}
                                            </a>
                                        </li>
                                    {% endif %}
                                {% endfor %}
                            {% endif %}
                        </ul>
                    </nav>
                </aside>

                <div class="members-home__main members-home__main--form">
                    {% if missingFields|length %}
                        <p class="login__error"><b>{{ 'Please complete the missing fields'|t('formie') }} :</b></p>
                        <ul>
                            {% for page, fields in missingFields %}
                            <li>
                                {{ page|t('formie') }}
                                <ul>
                                    {% for fielLabels in fields %}
                                        <li>
                                            {% for key, val in fielLabels %}
                                                {% if key > 0 %} - {% endif %}
                                                {{ val|t('formie') }}
                                            {% endfor %}
                                        </li>
                                    {% endfor %}
                                </ul>
                            </li>
                            {% endfor %}
                        </ul>
                    {% elseif isClosed %}
                        {% set submitted = craft.formie.plugin.service.getFlash(form.id, 'submitted') %}
                        {% set flashNotice = craft.formie.plugin.service.getFlash(form.id, 'notice') %}
                        {% if submitted and flashNotice %}
                            {{ craft.formie.renderFormCss(form) }}
                            <div class="fui-i">
                                <div class="fui-alert fui-alert-success fui-alert-top-form" role="alert" data-fui-alert="" data-fui-alert-success="">
                                    {{ flashNotice|raw }}
                                </div>
                            </div>
                        {% else %}
                            <p>{{ 'The form is closed'|t('formie') }}</p>
                        {% endif %}
                    {% else %}
                        {{ craft.formie.renderForm(form) }}
                    {% endif %}
                </div>
            </div>
        </div>
    </section>
{% endblock %}