{% extends "webapp/base.html" %} {% block title %}{{ p_user.display_name }} โ€” {{ t('player_profile') }}{% endblock %} {% block content %}
{{ (p_user.display_name[0]|upper) if p_user.display_name else '?' }}

{{ p_user.display_name }}

#{{ p_user.numeric_id }} {% if p_user.created_at %}๐Ÿ“… {{ t('member_since') | default('Member since') }} {{ p_user.created_at.strftime('%Y-%m') }}{% endif %}
๐Ÿ“Š {{ t('leaderboard') }}
{{ points }}
{{ t('points') | default('POINTS') }}
{{ matches }}
{{ t('matches_played') | default('Matches Played') }}
{{ wins }}
{{ t('total_wins') | default('Total Wins') }}
{{ win_rate }}%
{{ t('win_rate') | default('Win Rate') }}
${{ '%.2f' | format(total_prize) }}
{{ t('prize_won') | default('Prize Won') }}

๐Ÿ† {{ t('trophies') | default('Trophies') }} ({{ trophies | length }})

{% if trophies %}
{% for ev in trophies %}
๐Ÿฅ‡ {{ ev.match.title if ev.match else ev.reason }} {{ ev.created_at.strftime('%Y-%m-%d') }}{% if ev.game %} ยท {{ ev.game.name }}{% endif %} {% if ev.prize and ev.prize > 0 %}${{ '%.0f' | format(ev.prize) }}{% endif %} +{{ ev.points }}
{% endfor %}
{% else %}

{{ t('no_trophies_yet') | default('No trophies yet โ€” win a tournament to claim one!') }}

{% endif %}

๐ŸŽฎ {{ t('stats_by_game') | default('Stats by Game') }}

{% if per_game %}
{% for row in per_game %} {% set g = row[0] %} {% set pts = row[1] or 0 %} {% set ms = row[2] or 0 %} {% set wn = row[3] or 0 %} {% set pct = ((wn / ms) * 100) | round(0) if ms else 0 %}
{{ g.name }} {{ ms }} {{ t('lb_match_many') }} ยท {{ wn }} {{ t('lb_win_many') }} ยท {{ pts }} {{ t('points') }}
{% endfor %}
{% else %}

{{ t('no_results_yet') | default('No results yet') }}

{% endif %}

โšก {{ t('recent_activity') | default('Recent Activity') }}

{% if recent %}
{% for ev in recent %}
{% if ev.kind == 'win' %}๐Ÿฅ‡{% else %}๐ŸŽฏ{% endif %} {{ ev.match.title if ev.match else ev.reason }} +{{ ev.points }}
{% endfor %}
{% else %}

{{ t('no_results_yet') | default('No activity yet') }}

{% endif %}
{% endblock %}