{% extends 'base.html.twig' %} {% block title %}Phases finales | LPF 2026{% endblock %} {% block stylesheets %} {{ parent() }} {% endblock %} {% block body %}

Phases finales

Phase à élimination directe (16es → 8es → quarts → demi-finales → finale). Pronostiquez comme sur le tableau de bord avant le coup d'envoi.

{% if knockout_rounds is not empty %} {% set featured_round = knockout_featured_round|default(knockout_rounds[0].key) %}
{% for round in knockout_rounds %} {% set is_active = round.key == featured_round %} {% endfor %}
{% set default_prono_cutoff = default_prono_cutoff_match() %} {% set default_prono_cutoff_day = default_prono_cutoff and default_prono_cutoff.dateHeure ? default_prono_cutoff.dateHeure|date('Y-m-d') : null %} {% for round in knockout_rounds %} {% set is_active = round.key == featured_round %}

{{ round.label }}

{% if round.matches is not empty %} {{ round.matches|length }} match{{ round.matches|length > 1 ? 's' : '' }} {% endif %}
{% if round.matches is empty %}

Aucun match disponible pour cette étape pour le moment.

{% else %} {% set default_prono_cutoff_day_shown = false %} {% set current_day = null %} {% for match in round.matches %} {% set match_day = match.dateHeure ? match.dateHeure|date('Y-m-d') : 'date-inconnue' %} {% if match_day != current_day %} {% if not loop.first %}
{% endif %} {% set current_day = match_day %}

{{ match.dateHeure ? match.dateHeure|fr_date_long : 'Date à définir' }}

{% if default_prono_cutoff_day and match_day == default_prono_cutoff_day and not default_prono_cutoff_day_shown %} {% include 'competition/_default_prono_cutoff_notice.html.twig' with { match: default_prono_cutoff } only %} {% set default_prono_cutoff_day_shown = true %} {% endif %}
{% endif %} {% include 'competition/_match_card.html.twig' with { match: match, pronostic: pronostics_by_match_id[match.id] ?? null, partner_pronostics: partner_pronostics_by_match_id[match.id] ?? [], now: now, prono_access_blocked: prono_access_blocked|default(false), joker_usage_by_match_id: joker_usage_by_match_id|default({}), espion_intel_by_match_id: espion_intel_by_match_id|default({}), show_joker_ui: show_joker_ui|default(false), team_favorite_highlight: team_favorite_highlight|default(null), match_goals: goals_by_match_id[match.id] ?? [], team_match_points_by_match_id: team_match_points_by_match_id|default({}), } only %} {% if loop.last %}
{% endif %} {% endfor %} {% endif %} {% endfor %} {% endif %} {% if app.user %} {% include 'competition/_joker_modal.html.twig' %} {% include 'competition/_match_espion_intel_dialog.html.twig' %} {% endif %} {% endblock %} {% block javascripts %} {{ parent() }} {% if app.user %} {% endif %} {% endblock %}