{% import "includes/macros" as macros %}

{% extends "base" %}

{% block content %}
<div class="max-w-screen-xl w-full grid sm:grid-cols-2 lg:grid-cols-3 gap-4">
  {% if flash %}
    {{ macros::alert(message=flash.1, type=flash.0, class="sm:col-span-2 lg:col-span-3") }}
  {% endif %}

  <h1 class="h1 sm:col-span-2 lg:col-span-3">Ausfahrten</h1>

  {% include "includes/buttons" %}

  {% for day in days %}
  {% set amount_trips = day.planned_events | length + day.trips | length %}
  {% set_global day_cox_needed = false %}
  {% if day.planned_events | length > 0 %} 
   {% for planned_event in day.planned_events %}
      {% if planned_event.cox_needed %}
        {% set_global day_cox_needed = true %}
      {% endif %}
   {% endfor %}
  {% endif %}

  <div class="bg-white rounded-md flex justify-between flex-col shadow reset-js" style="min-height: 10rem;" data-trips="{{ amount_trips }}" data-month="{{ day.day| date(format='%m') }}" data-coxneeded="{{ day_cox_needed }}">
    <div>
      <h2 class="font-bold uppercase tracking-wide text-center rounded-t-md  {% if day.is_pinned %} text-white bg-primary-950 {% else %} text-primary-950 bg-gray-200 bg-opacity-80 {% endif %} text-lg px-3 py-3 ">{{ day.day| date(format="%d.%m.%Y") }}
        <small class="inline-block ml-1 text-xs {% if day.is_pinned %} text-gray-200 {% else %} text-gray-500 {% endif %}">{{ day.day | date(format="%A", locale="de_AT") }}</small>  
      </h2>

      {% if day.planned_events | length > 0 or  day.trips | length > 0 %}
      <div class="grid grid-cols-1 gap-3 mb-3">

      {# --- START Events --- #}
      {% if day.planned_events | length > 0 %}
        {% for planned_event in day.planned_events | sort(attribute="planned_starting_time") %}
                {% set amount_cur_cox = planned_event.cox | length %}
		{% set amount_cox_missing = planned_event.planned_amount_cox - amount_cur_cox %}
        <div class="pt-2 px-3 border-t" style="order: {{ planned_event.planned_starting_time | replace(from=":", to="") | trim_start_matches(pat="0") }}">
          <div class="flex justify-between items-center">
            <div class="mr-1">
              <strong class="text-primary-900">
                {{ planned_event.planned_starting_time }} Uhr 
              </strong> 
              <small class="text-gray-600">({{ planned_event.name }}{% if planned_event.trip_type %} - {{ planned_event.trip_type.icon | safe }}{{ planned_event.trip_type.name }}{% endif %})</small><br />

              <a href="#" data-sidebar="true" data-trigger="sidebar" 
                data-header="<strong>{{ planned_event.planned_starting_time }} Uhr</strong> ({{ planned_event.name }}){% if planned_event.trip_type %}<small class='block'>{{ planned_event.trip_type.desc }}</small>{% endif %}{% if planned_event.notes %}<small class='block'>{{ planned_event.notes }}</small>{% endif %}"
                data-body="#event{{ planned_event.trip_details_id }}"
                class="inline-block link-primary mr-3">
                Details
              </a>
            </div>
            <div class="text-right grid gap-2">
              {# --- START Row Buttons --- #}
              {% set_global cur_user_participates = false %}
              {% for rower in planned_event.rower%}
                {% if rower.name == loggedin_user.name %}
                  {% set_global cur_user_participates = true %}
                {% endif %}
              {% endfor %}
              {% if cur_user_participates %}
                <a href="/remove/{{ planned_event.trip_details_id }}" class="btn btn-attention btn-fw">Abmelden</a>
              {% endif %}
              {% if planned_event.max_people > planned_event.rower | length %}
                {% if cur_user_participates == false %}
                  <a href="/join/{{ planned_event.trip_details_id }}" class="btn btn-primary btn-fw" {% if planned_event.trip_type %}onclick="return confirm('{{ planned_event.trip_type.question  }}');"{% endif %}>Mitrudern</a>
                {% endif %}
              {% endif %}
              {# --- END Row Buttons --- #}

              {# --- START Cox Buttons --- #}
              {% if loggedin_user.is_cox %}
                {% set_global cur_user_participates = false %}
                {% for cox in planned_event.cox %}
                  {% if cox.name == loggedin_user.name %}
                    {% set_global cur_user_participates = true %}
                  {% endif %}
                {% endfor %}
                {% if cur_user_participates %}
                <a href="/cox/remove/{{ planned_event.id }}" class="block btn btn-attention btn-fw">
                  {% include "includes/cox-icon" %}
                  Abmelden
                </a>
                {% else %}
                <a href="/cox/join/{{ planned_event.id }}" class="block btn {% if amount_cox_missing > 0 %} btn-dark {% else %} btn-gray {% endif %} btn-fw" {% if planned_event.trip_type %}onclick="return confirm('{{ planned_event.trip_type.question  }}');"{% endif %}>
                  {% include "includes/cox-icon" %}
                  Steuern
                </a>
                {% endif %}
              {% endif %}
              {# --- END Cox Buttons --- #}
            </div>
          </div>

          {# --- START Sidebar Content --- #}
          <div class="hidden">
            <div id="event{{ planned_event.trip_details_id }}">
              {# --- START List Coxes --- #}
              {% if planned_event.planned_amount_cox > 0 %}
		            {% if amount_cox_missing > 0 %}
	                {{ macros::box(participants=planned_event.cox, empty_seats=planned_event.planned_amount_cox - amount_cur_cox, header='Noch benötigte Steuerleute:', text='Keine Steuerleute angemeldet') }}
		            {% else %}
	                {{ macros::box(participants=planned_event.cox, empty_seats="", header='Genügend Steuerleute haben sich angemeldet :-)', text='Keine Steuerleute angemeldet') }}
		            {% endif %}
              {% endif %}
              {# --- END List Coxes --- #}

              {# --- START List Rowers --- #}
              {% if planned_event.max_people > 0 %}
                {% set amount_cur_rower = planned_event.rower | length %}
                {{ macros::box(participants=planned_event.rower, empty_seats=planned_event.max_people - amount_cur_rower, bg='primary-100', color='black') }}
              {% endif %}
              {# --- END List Rowers --- #}

              {% if planned_event.allow_guests %}
                <div class="text-primary-900 bg-primary-50 text-center p-1 mb-4">Gäste willkommen!</div>
              {% endif %}
  
              {% if loggedin_user.is_admin %}

                 {# --- START Edit Form --- #}
            <div class="bg-gray-100 p-3 mt-4 rounded-md">
              <h3 class="text-primary-950 font-bold uppercase tracking-wide mb-2">Ausfahrt bearbeiten</h3>
              <form action="/admin/planned-event" method="post" class="grid gap-3">
                <input type="hidden" name="_method" value="put" />
                <input type="hidden" name="id" value="{{ planned_event.id }}" />
                {{ macros::input(label='Anzahl Ruderer', name='max_people', type='number', required=true, value=planned_event.max_people, min='0') }}
                {{ macros::input(label='Anzahl Steuerleute', name='planned_amount_cox', type='number', value=planned_event.planned_amount_cox, required=true, min='0') }}
    		{{ macros::checkbox(label='Immer anzeigen', name='always_show', id=planned_event.id,checked=planned_event.always_show) }}
                {{ macros::input(label='Anmerkungen', name='notes', type='input', value=planned_event.notes) }}

                <input value="Speichern" class="btn btn-primary" type="submit" />
              </form>
              </div>
            	 {# --- END Edit Form --- #}

              {# --- START Delete Btn --- #}
                <div class="text-right">
                  <a href="/admin/planned-event/{{ planned_event.id }}/delete" class="inline-block btn btn-alert">
                    {% include "includes/delete-icon" %}
                    Termin löschen
                  </a>
                </div>
              {% endif %}
              {# --- END Delete Btn --- #}
            </div>
          </div>
          {# --- END Sidebar Content --- #}
          </div>
        {% endfor %}
      {% endif %}
      {# --- END Events --- #}

      {# --- START Trips --- #}
      {% if day.trips | length > 0 %}
        {% for trip in day.trips | sort(attribute="planned_starting_time") %}
        <div class="pt-2 px-3 reset-js border-t" style="order: {{ trip.planned_starting_time | replace(from=":", to="") | trim_start_matches(pat="0")  }}" data-coxneeded="false">
          <div class="flex justify-between items-center">
            <div class="mr-1">
              {% if trip.max_people == 0 %}
                <strong class="text-[#f43f5e]">&#9888; {{ trip.planned_starting_time }} Uhr</strong>
                <small class="text-[#f43f5e]">(Absage {{ trip.cox_name }}{% if trip.trip_type %} - {{ trip.trip_type.icon | safe }}{{ trip.trip_type.name }}{% endif %})</small>
              {% else %}
                <strong class="text-primary-900">{{ trip.planned_starting_time }} Uhr</strong> 
                <small class="text-gray-600">({{ trip.cox_name }}{% if trip.trip_type %} - {{ trip.trip_type.icon | safe }}{{ trip.trip_type.name }}{% endif %})</small>
              {% endif %}
              <br />
              <a href="#" data-sidebar="true" data-trigger="sidebar" 
                data-header="<strong>{% if trip.max_people == 0 %}&#9888; {% endif %}{{ trip.planned_starting_time }} Uhr</strong> ({{ trip.cox_name }}){% if trip.trip_type %}<small class='block'>{{ trip.trip_type.desc }}</small>{% endif %}{% if trip.notes %}<small class='block'>{{ trip.notes }}</small>{% endif %}"
                data-body="#trip{{ trip.trip_details_id }}"
                class="inline-block link-primary mr-3">
                Details
              </a>
            </div>

            <div>
              {% set_global cur_user_participates = false %}
              {% for rower in trip.rower %}
                {% if rower.name == loggedin_user.name %}
                  {% set_global cur_user_participates = true %}
                {% endif %}
              {% endfor %}
              {% if cur_user_participates %}
                <a href="/remove/{{ trip.trip_details_id }}"
                  class="btn btn-attention btn-fw">Abmelden</a>
              {% endif %}
              {% if trip.max_people > trip.rower | length and trip.cox_id != loggedin_user.id and cur_user_participates == false%}
                <a href="/join/{{ trip.trip_details_id }}"
                  class="btn btn-primary btn-fw" {% if trip.trip_type %}onclick="return confirm('{{ trip.trip_type.question  }}');"{% endif %}>Mitrudern</a>
              {% endif %}
            </div>
          </div>
          {# --- START Sidebar Content --- #}
          <div class="hidden">
            <div id="trip{{ trip.trip_details_id }}">
              {% if trip.max_people == 0 %}
                {# --- border-[#f43f5e] bg-[#f43f5e] --- #}
                {{ macros::box(participants=trip.rower,bg='[#f43f5e]',header='Absage') }}
              {% else %}
                {% set amount_cur_rower = trip.rower | length %}
                {{ macros::box(participants=trip.rower, empty_seats=trip.max_people - amount_cur_rower, bg='primary-100', color='black') }}
              {% endif %}

                {# --- START Edit Form --- #}
            {% if trip.cox_id == loggedin_user.id %}
            <div class="bg-gray-100 p-3 mt-4 rounded-md">
              <h3 class="text-primary-950 font-bold uppercase tracking-wide mb-2">Ausfahrt bearbeiten</h3>
              <form action="/cox/trip/{{ trip.id }}" method="post" class="grid gap-3">
                {{ macros::input(label='Anzahl Ruderer', name='max_people', type='number', required=true, value=trip.max_people, min='0') }}
                {{ macros::input(label='Anmerkungen', name='notes', type='input', value=trip.notes) }}
    		{{ macros::checkbox(label='Immer anzeigen', name='always_show', id=trip.id,checked=trip.always_show) }}
                {{ macros::select(select_name='trip_type', data=trip_types, default='Reguläre Ausfahrt', selected_id=trip.trip_type_id) }}

                <input value="Speichern" class="btn btn-primary" type="submit" />
              </form>
              </div>
              {% if trip.rower | length == 0 %}
                <div class="text-right mt-6">
                  <a href="/cox/remove/trip/{{ trip.id }}" class="inline-block btn btn-alert">
                    {% include "includes/delete-icon" %}
                    Termin löschen
                  </a>
                  </div>
              {% endif %}
            {% endif %}
            {# --- END Edit Form --- #}
            </div>
          </div>
          {# --- END Sidebar Content --- #}
        </div>
        {% endfor %}
      {% endif %}
       {# --- END Trips --- #}
      </div>
      {% endif %}
    </div>

    {# --- START Add Buttons --- #}
    {% if loggedin_user.is_admin or loggedin_user.is_cox %}
      <div class="grid {% if loggedin_user.is_admin %} grid-cols-2 {% endif %} text-center">
        {% if loggedin_user.is_admin %}
        <a href="#" data-sidebar="true" data-trigger="sidebar" 
          data-header="<strong>Event</strong> am {{ day.day| date(format='%d.%m.%Y') }} erstellen"
          data-day="{{ day.day }}"
          data-body="#addEventForm"
          class="relative inline-block w-full bg-primary-900 hover:bg-primary-950 focus:bg-primary-950 text-white py-2 rounded-bl-md text-sm font-semibold">
          <span class="absolute inset-y-0 left-0 flex items-center pl-3">
            {% include "includes/plus-icon" %}
          </span>
          Event
        </a>
        {% endif %}

        {% if loggedin_user.is_cox%}
        <a href="#" data-sidebar="true" data-trigger="sidebar" 
          data-header="<strong>Ausfahrt</strong> am {{ day.day| date(format='%d.%m.%Y') }} erstellen"
          data-day="{{ day.day }}"
          data-body="#sidebarForm"
          class="relative inline-block w-full py-2 text-primary-900 hover:text-primary-950 focus:text-primary-950 text-sm font-semibold bg-gray-100 hover:bg-gray-200 focus:bg-gray-200 {% if loggedin_user.is_admin %} rounded-br-md {% else %} rounded-b-md {% endif %}">
          <span class="absolute inset-y-0 left-0 flex items-center pl-3">
            {% include "includes/plus-icon" %}
          </span>
          Ausfahrt
        </a>
        {% endif %}
      </div>
    {% endif %}
    {# --- END Add Buttons --- #}
    </div>
  {% endfor %}
  </div>
</div>

{% include "dynamics/sidebar" %}

{% if loggedin_user.is_cox %}
  {% include "forms/trip" %}
{% endif %}

{% if loggedin_user.is_admin %}
  {% include "forms/event" %}
{% endif %}

{% endblock content %}