{% macro contest_head(contest, organization=None) %}
  <a href="{{ url('contest_view', contest.key) }}" class="contest-list-title" style="margin-right: 5px;">
    {{contest.name}}
  </a>
  <div class="contest-tags">
    {% if not contest.is_visible %}
      <span class="contest-tag contest-tag-hidden">
        <i class="fa fa-eye-slash"></i> {{ _('hidden') }}
      </span>
    {% endif %}
    {% if organization and contest.is_editable %}
      <span class="contest-tag contest-tag-edit">
        <a href="{{ url('organization_contest_edit', organization.id, organization.slug, contest.key) }}" class="white">
          <i class="fa fa-edit"></i> {{ _('Edit') }}
        </a>
      </span>
    {% endif %}
    {% if contest.is_private %}
      <span class="contest-tag contest-tag-private">
        <i class="fa fa-lock"></i> {{ _('private') }}
      </span>
    {% endif %}
    {% if not organization %}
      {% if contest.is_organization_private %}
        {% for org in contest.organizations.all() %}
          {% include "organization/tag.html" %}
        {% endfor %}
      {% endif %}
    {% endif %}
    {% if contest.is_rated %}
      <span class="contest-tag contest-tag-rated">
        <i class="fa fa-bar-chart"></i> {{ _('rated') }}
      </span>
    {% endif %}
    {% for tag in contest.tags.all() %}
      <span style="background-color: {{ tag.color }}" class="contest-tag">
        <a href="{{ url('contest_tag', tag.name) }}"
          style="color: {{ tag.text_color }}"
          data-featherlight="{{ url('contest_tag_ajax', tag.name) }}">
          {{- tag.name -}}
        </a>
      </span>
    {% endfor %}
  </div>
{% endmacro %}

{% macro time_left(contest) %}
  <div class="time-left">
    {% if contest.time_limit %}
      <div>
        <b>{{_("Start")}}</b>: {{ contest.start_time|date(_("H:i d/m/Y")) }}
      </div>
      <div>
        <b>{{_("End")}}</b>: {{ contest.end_time|date(_("H:i d/m/Y")) }}
      </div>
    {% else %}
      <div>
        <b>{{_("Start")}}</b>: {{ contest.start_time|date(_("H:i d/m/Y")) }}
      </div>
    {% endif %}
    <div>
      <b>{{_("Length")}}</b>:
      {% if contest.time_limit %}
        {% trans time_limit=contest.time_limit|timedelta('localized-no-seconds') %}{{ time_limit }}{% endtrans %}
      {% else %}
        {% trans duration=contest.contest_window_length|timedelta('localized-no-seconds') %}{{ duration }}{% endtrans %}
      {% endif %}
    </div>
  </div>
{% endmacro %}

{% macro user_count(contest, user) %}
  {% if contest.can_see_own_scoreboard(user) %}
    <a href="{{ url('contest_ranking', contest.key) }}"><i class="fa fa-users"></i> {{ contest.user_count }}</a>
  {% else %}
    <i class="fa fa-users"></i>{{ contest.user_count }}
  {% endif %}
{% endmacro %}

{% macro contest_join(contest, request) %}
  {% if request.in_contest and request.participation.contest == contest %}
    <button class="small" disabled>{{ _('In contest') }}</button>
  {% elif request.profile.id in contest.editor_ids or request.profile.id in contest.tester_ids %}
    <form action="{{ url('contest_join', contest.key) }}" method="post">
      {% csrf_token %}
      <input type="submit" class="unselectable button full small"
        value="{{ _('Spectate') }}">
    </form>
  {% else %}
    <form action="{{ url('contest_join', contest.key) }}" method="post">
      {% csrf_token %}
      <input type="submit" class="unselectable button full small join-warning"
        value="{{ _('Join') }}">
    </form>
  {% endif %}
{% endmacro %}

{% macro contest_format_user(contest, request, show_user=True) %}
  <div style="display: flex; flex-direction: column; height: 100%;">
    <div class="contest-title"> {{ _('Format') }} </div>
    <div style="flex-grow: 1">{{ contest.format.name }}</div>
    {% if show_user %}
      <div class="contest-title">{{ user_count(contest, request.user) }}</div>
    {% endif %}
  </div>
{% endmacro %}