{% extends 'base.html' %} {% block title %}Predict – {{ match.team1 }} vs {{ match.team2 }} – {{ app_brand }}{% endblock %} {% block head %} {% endblock %} {% block content %}
← Back to Dashboard
{% if match.status == 'live' %}{% endif %} {{ match.status|upper }} {% if match.match_number %}Match #{{ match.match_number }}{% endif %}
{{ match.team1_abbr }}
{{ match.team1 }}
VS
{{ match.team2_abbr }}
{{ match.team2 }}
πŸ—“οΈ {{ match.match_time_display }} {% if match.venue %}πŸ“ {{ match.venue }}{% if match.city %}, {{ match.city }}{% endif %}{% endif %}
πŸ“… Open on match day only Β· locks at scheduled start ({{ match.match_time_display }})
{% if match.status == 'completed' %}
πŸ† MATCH RESULT
{{ match.winner }}
{% if match.man_of_match %}
⭐ Man of the Match: {{ match.man_of_match }}
{% endif %} {% if match.result_notes %}
{{ match.result_notes }}
{% endif %} {% if existing %}
YOUR PICK
{{ existing.predicted_winner }}
{% if existing.predicted_motm %}
⭐ {{ existing.predicted_motm }}
{% endif %}
BID
{{ '%.0f'|format(existing.bid_amount) }} pts
{% if existing.is_settled %}
RESULT
{{ existing.points_earned|delta_sign }} pts
Winner: {% if existing.winner_correct %}βœ…{% else %}❌{% endif %} {% if existing.motm_correct is not none %}Β· MOTM: {% if existing.motm_correct %}βœ…{% else %}❌{% endif %}{% endif %}
{% endif %}
{% endif %}
{% elif match.can_predict %}
{% if existing %}✏️ EDIT PREDICTION{% else %}🎯 MAKE YOUR PREDICTION{% endif %}
Your current balance
{{ '%.0f'|format(current_user.points) }} pts
{% for team in [match.team1, match.team2] %} {% set abbr = team_abbr.get(team, team[:3].upper()) %} {% set color = team_colors.get(abbr, '#555') %} {% endfor %}

Choose from the squad of the team you picked to win. +{{ points_config.correct_motm }} if it matches the official call Β· βˆ’{{ points_config.wrong_motm|abs }} if it doesn’t.

pts
Min: {{ points_config.min_bid }} Β· Max: {{ [points_config.max_bid, current_user.points|int]|min }} Β· Win: +{{ (existing.bid_amount|int if existing else points_config.min_bid) }} Β· Lose: βˆ’{{ (existing.bid_amount|int if existing else points_config.min_bid) }}
{% set pts = current_user.points|int %} {% set max_b = [points_config.max_bid, pts]|min %} {% for pct in [10, 25, 50, 75, 100] %} {% set amt = (max_b * pct / 100)|int %} {% if amt >= points_config.min_bid %} {% endif %} {% endfor %}
Potential Outcomes
βœ… Win + correct MOTM: β€”
βœ… Win + wrong MOTM: β€”
❌ Lose + correct MOTM: β€”
❌ Lose + wrong MOTM: β€”
{% if existing %}
Last updated: {{ existing.updated_at[:16] }}
{% endif %}
{% elif match.status == 'upcoming' and not match.is_match_today %}
πŸ“†
Predictions open on match day
This fixture is on {{ match.match_date|format_date }}. Come back that day to submit or edit your pick (until the scheduled start).
{% if existing %}
YOUR SAVED PICK (from match day)
{{ existing.predicted_winner }}
{% if existing.predicted_motm %}
⭐ {{ existing.predicted_motm }}
{% endif %}
Bid: {{ '%.0f'|format(existing.bid_amount) }} pts
{% endif %}
{% elif match.locked or match.status == 'locked' %}
πŸ”’
Predictions Locked
The prediction window for this match is closed.
{% if existing %}
YOUR PREDICTION
{{ existing.predicted_winner }}
{% if existing.predicted_motm %}
⭐ {{ existing.predicted_motm }}
{% endif %}
Bid: {{ '%.0f'|format(existing.bid_amount) }} pts
{% else %}
You didn't submit a prediction for this match.
{% endif %}
{% else %}
🏏
Predictions aren't available for this match state ({{ match.status }}).
{% endif %}
{% if match.can_predict %} {% endif %} {% endblock %}