{% extends 'base.html.twig' %}
{% block title %}Récap détaillé — {{ team.name }} | LPF 2026{% endblock %}
{% block stylesheets %}
{{ parent() }}
{% endblock %}
{% block body %}
{# Hero équipe #}
{% set team_logo_src = team.logo
? (team.logo starts with 'http' ? team.logo : asset(team.logo))
: null %}
{% if team.slogan %}
« {{ team.slogan }} »
{% endif %}
{% include 'shared/_lpf_lightbox_trigger.html.twig' with {
src: team_logo_src,
title: 'Logo — ' ~ team.name,
alt: 'Logo de l\'équipe ' ~ team.name,
img_class: 'team-show-team-logo',
btn_class: 'team-show-team-logo-btn',
placeholder: team.name|first|upper,
placeholder_class: 'team-show-team-logo-placeholder ranking-team-logo-placeholder',
} %}
{% for member in team.members %}
{% set player_avatar_src = null %}
{% if member.player and member.player.avatar %}
{% set av = member.player.avatar %}
{% set player_avatar_src = av starts with 'http' ? av : asset(av) %}
{% endif %}
{% include 'shared/_lpf_lightbox_trigger.html.twig' with {
src: player_avatar_src,
title: member.nickname,
alt: 'Avatar de ' ~ member.nickname,
img_class: 'team-show-player-avatar',
btn_class: 'team-show-player-avatar-btn',
placeholder: member.nickname|first|upper,
placeholder_class: 'team-show-player-avatar-placeholder ranking-team-logo-placeholder',
} %}
{{ member.nickname }}
{% endfor %}
{# Bilan final du classement #}
Bilan classement
{% if final_snapshot %}
Position finale
#{{ final_snapshot.position }}
sur {{ latest_teams_count }} équipes
{% endif %}
{% if best_snapshot %}
Meilleure position
#{{ best_snapshot.position }}
{% if best_snapshot.matchRef %}
après {{ best_snapshot.matchRef.paysDomicile ? best_snapshot.matchRef.paysDomicile.nom : '?' }}
— {{ best_snapshot.matchRef.paysExterieur ? best_snapshot.matchRef.paysExterieur.nom : '?' }}
{% endif %}
{% endif %}
Total de points
{{ team_total_points|number_format(0, ',', ' ') }} pts
sur {{ matchday_count }} journée(s)
{# Évolution du classement #}
{% if ranking_chart and ranking_chart.points is not empty %}
Évolution du classement
Rang après le dernier match classé de chaque journée calendaire.
{% include 'competition/_team_show_ranking_chart.html.twig' with {
ranking_evolution_chart: ranking_chart,
} only %}
{% endif %}
{# Stats collectives #}
Stats collectives
Catégorie
Nb
Points
Scores exacts
{{ team_summary.scores_exacts_count }}
{{ team_summary.points_score_exact|number_format(0, ',', ' ') }}
Bons résultats
{{ team_summary.bons_resultats_count }}
{{ team_summary.points_bon_resultat|number_format(0, ',', ' ') }}
Résultats faux
{{ team_summary.resultats_faux_count }}
—
Buteur
{{ team_summary.buteur_goals_count }} but(s)
{{ team_summary.points_buteur|number_format(0, ',', ' ') }}
{{ bigballs_term('name') }}
{{ team_summary.bigballs_succeeded }}/{{ team_summary.bigballs_attempted }}
{{ team_summary.points_bigballs|number_format(0, ',', ' ') }}
Total équipe
{{ team_total_points|number_format(0, ',', ' ') }} pts
{# Stats individuelles #}
{% if players is not empty %}
Stats par joueur
Joueur
Pronos
Exacts
Bons
Faux
Buteur
Total
% équipe
{% for player in players %}
{{ player.nickname }}
{{ player.pronostics_count }}
{{ player.scores_exacts_count }}
{{ player.bons_resultats_count }}
{{ player.resultats_faux }}
{{ player.points_buteur|number_format(0, ',', ' ') }}
{% if player.buteur_goals_count > 0 %}
({{ player.buteur_goals_count }} but{{ player.buteur_goals_count > 1 ? 's' : '' }})
{% endif %}
{{ player.points_total|number_format(0, ',', ' ') }} pts
{{ player.percent_of_team }}%
{% endfor %}
{% endif %}
{# Jokers posés #}
Jokers utilisés
{% if jokers_placed is empty %}
Aucun joker posé au cours de la compétition.
{% else %}
{{ jokers_placed|length }} joker{{ jokers_placed|length > 1 ? 's' : '' }} posé{{ jokers_placed|length > 1 ? 's' : '' }} sur la compétition.
{% for row in jokers_placed %}
{{ row.joker_name }}
{% if row.joker_tag %}
{{ row.joker_tag }}
{% endif %}
{{ row.match_label }}
{% if row.match_date %}· {{ row.match_date }}{% endif %}
{% if row.target_team %}
· cible : {{ row.target_team }}
{% endif %}
{% endfor %}
{% endif %}
{# Jokers subis #}
Jokers subis
{% if jokers_suffered is empty %}
Aucun joker offensif reçu au cours de la compétition.
{% else %}
{{ jokers_suffered|length }} joker{{ jokers_suffered|length > 1 ? 's' : '' }} offensif{{ jokers_suffered|length > 1 ? 's' : '' }} subi{{ jokers_suffered|length > 1 ? 's' : '' }}.
{% for row in jokers_suffered %}
{{ row.joker_name }}
{{ row.match_label }}
{% if row.match_date %}· {{ row.match_date }}{% endif %}
· par {{ row.attacker_team ?? 'une autre équipe' }}
{% endfor %}
{% endif %}
{# BigBalls détail #}
{{ bigballs_term('name') }}
{{ bigballs_term('short_description') }}
{% if team_summary.bigballs_attempted == 0 %}
Aucun {{ bigballs_term('name')|lower }} tenté.
{% else %}
Tentatives
{{ team_summary.bigballs_attempted }}
Réussites
{{ team_summary.bigballs_succeeded }}
{% if team_summary.bigballs_attempted > 0 %}
{{ (team_summary.bigballs_succeeded / team_summary.bigballs_attempted * 100)|round }}% de réussite
{% endif %}
Points gagnés
{{ team_summary.points_bigballs|number_format(0, ',', ' ') }} pts
{% endif %}
{# Lien retour #}
{% endblock %}