{% extends "common-content.html" %} {% block meta %} {% endblock %} {% block media %} {% endblock %} {% block js_media %} {% endblock %} {% block title_ruler %}{% endblock %} {% block title_row %} {% set tab = 'list' %} {% set title = 'Contests' %} {% include "contest/contest-list-tabs.html" %} {% endblock %} {% macro contest_head(contest) %} {% spaceless %} {{- contest.name -}} {% if not contest.is_visible %} {{ _('hidden') }} {% endif %} {% if contest.is_private %} {{ _('private') }} {% endif %} {% if contest.is_organization_private %} {% for org in contest.organizations.all() %} {{ org.name }} {% endfor %} {% endif %} {% if contest.is_rated %} {{ _('rated') }} {% endif %} {% for tag in contest.tags.all() %} {{- tag.name -}} {% endfor %} {% endspaceless %} {% endmacro %} {% macro time_left(contest) %}
{% if contest.time_limit %} {{ contest.start_time|date(_("M j, Y, G:i")) }} - {{ contest.end_time|date(_("M j, Y, G:i")) }} {% else %} {{ contest.start_time|date(_("M j, Y, G:i")) }} {% endif %}
{% if contest.time_limit %} {{ _('%(time_limit)s window', time_limit=contest.time_limit|timedelta('localized-no-seconds')) }} {% else %} {{ _('%(duration)s long', duration=contest.contest_window_length|timedelta('localized-no-seconds')) }} {% endif %}
{% endmacro %} {% macro user_count(contest, user) %} {% if contest.can_see_own_scoreboard(user) %} {{ contest.user_count }} {% else %} {{ contest.user_count }} {% endif %} {% endmacro %} {% macro contest_join(contest, request) %} {% if not request.in_contest %} {% if request.profile in contest.authors.all() or request.profile in contest.curators.all() or request.profile in contest.testers.all() %}
{% csrf_token %}
{% else %}
{% csrf_token %}
{% endif %} {% endif %} {% endmacro %} {% block body %}
{% if active_participations %}

{{ _('Active Contests') }}

{% if not request.in_contest %} {% endif %} {% for participation in active_participations %} {% with contest=participation.contest %} {{ contest_join(contest, request) }} {% endwith %} {% endfor %}
{{ _('Contest') }} {{ _('Users') }}
{{ contest_head(contest) }} {% if contest.start_time %}
{% if contest.time_limit %} {{ _('Window ends in %(countdown)s', countdown=participation.time_remaining|as_countdown)}} {% elif contest.time_before_end %} {{ _('Ends in %(countdown)s', countdown=contest.end_time|as_countdown) }} {% endif %} {{ time_left(contest) }} {% endif %}
{{ user_count(contest, request.user) }}

{% endif %} {% if current_contests %}

{{ _('Ongoing Contests') }}

{% if not request.in_contest %} {% endif %} {% for contest in current_contests %} {{ contest_join(contest, request) }} {% endfor %}
{{ _('Contest') }} {{ _('Users') }}
{{ contest_head(contest) }} {% if contest.start_time %}
{% if contest.time_before_end %} {{ _('Ends in %(countdown)s', countdown=contest.end_time|as_countdown) }} {% endif %} {{ time_left(contest) }} {% endif %}
{{ user_count(contest, request.user) }}

{% endif %}

{{ _('Upcoming Contests') }}

{% if future_contests %} {% for contest in future_contests %} {% endfor %}
{{ _('Contest') }}
{{ contest_head(contest) }} {% if contest.start_time %}
{% if contest.time_before_start %} {{ _('Starting in %(countdown)s.', countdown=contest.start_time|as_countdown) }} {% endif %} {{ time_left(contest) }} {% endif %}
{% else %} {{ _('There are no scheduled contests at this time.') }}
{% endif %}
{% if past_contests %}

{{ _('Past Contests') }}

{% if page_obj and page_obj.num_pages > 1 %}
{% include "list-pages.html" %}
{% endif %} {% if not request.in_contest %} {% endif %} {% for contest in past_contests %} {% if not request.in_contest %} {% endif %} {% endfor %}
{{ _('Contest') }}{{ sort_order.name }} {{ _('Users') }}{{ sort_order.user_count }}
{{ contest_head(contest) }} {{ time_left(contest) }}
{{ user_count(contest, request.user) }}
{% csrf_token %}
{% if page_obj and page_obj.num_pages > 1 %}
{% include "list-pages.html" %}
{% endif %} {% endif %}
{% endblock %}