visual overhaul + accounting corrections

This commit is contained in:
SowinskiBraeden committed 2026-06-22 13:51:38 -07:00
1 parent 1f1c5d2ecc
commit 5349130972
17 files changed
+1268 -389

No files matched your search

+27 -23
View File
@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}{{ session_label(session) }} · boker.club{% endblock %}
{% block title %}{{ session_label(session) }} · myboker.org{% endblock %}
{% block page_class %}page--session{% endblock %}
{% block content %}
@@ -28,20 +28,20 @@
<div class="recon-grid" style="margin-bottom:20px;">
<div class="panel">
<div class="recon-card-head">
<span class="kicker kicker--dot kicker--dot-accent">Cash flow</span>
<span class="kicker kicker--dot kicker--dot-accent">Banker cash flow</span>
</div>
<div class="recon-metric-grid">
<div class="recon-cell">
<span class="kicker" style="font-size:10px;">Cash in</span>
<div class="recon-val recon-val--num">{{ session.total_cash_in_cents | money }}</div>
<span class="kicker" style="font-size:10px;">Actual cash in</span>
<div class="recon-val recon-val--num">{{ session.total_real_cash_in_cents | money }}</div>
</div>
<div class="recon-cell">
<span class="kicker" style="font-size:10px;">Gross payout</span>
<span class="kicker" style="font-size:10px;">Gross player claim</span>
<div class="recon-val recon-val--num">{{ session.total_gross_payout_cents | money }}</div>
</div>
<div class="recon-cell">
<span class="kicker" style="font-size:10px;">Cash paid out</span>
<div class="recon-val recon-val--pos">{{ session.total_paid_cents | money }}</div>
<div class="recon-val recon-val--pos">{{ session.total_real_cash_out_cents | money }}</div>
</div>
<div class="recon-cell">
<span class="kicker" style="font-size:10px;">Rolled out</span>
@@ -55,7 +55,7 @@
</div>
<div class="recon-metric-grid">
<div class="recon-cell">
<span class="kicker" style="font-size:10px;">House owes</span>
<span class="kicker" style="font-size:10px;">House owes players</span>
<div class="recon-val {{ 'recon-val--neg' if session.total_current_due_to_player_cents > 0 else 'recon-val--pos' }}">
{{ session.total_current_due_to_player_cents | money }}
</div>
@@ -67,12 +67,12 @@
</div>
</div>
<div class="recon-cell">
<span class="kicker" style="font-size:10px;">Debt repaid</span>
<div class="recon-val" style="color:var(--pos)">{{ session.total_front_collected_cents | money }}</div>
<span class="kicker" style="font-size:10px;">Cash debt repaid</span>
<div class="recon-val" style="color:var(--pos)">{{ session.total_debt_repayment_cents | money }}</div>
</div>
<div class="recon-cell">
<span class="kicker" style="font-size:10px;">Written off</span>
<div class="recon-val" style="color:var(--neg)">{{ session.total_front_writeoff_cents | money }}</div>
<div class="recon-val" style="color:var(--neg)">{{ session.total_writeoff_cents | money }}</div>
</div>
</div>
</div>
@@ -96,14 +96,15 @@
<tr>
<th class="col-player">Player</th>
<th>Invested</th>
<th>Cash-out</th>
<th>Gross cashout</th>
<th>Net</th>
<th>Cash paid</th>
<th>Settlement</th>
<th>Status</th>
<th class="col-acct">Fronted</th>
<th>Paid out</th>
<th>Open settlement</th>
<th>Settlement status</th>
<th class="col-acct">Front</th>
<th class="col-acct">Rolled in</th>
<th class="col-acct">Gross payout</th>
<th class="col-acct">Payout carry-in</th>
<th class="col-acct">Gross player claim</th>
<th class="col-acct">Rolled out</th>
<th class="col-acct">Notes</th>
</tr>
@@ -119,10 +120,12 @@
<td class="num-net {{ 'num-pos' if entry.net_cents > 0 else 'num-neg' if entry.net_cents < 0 else 'num-muted' }}">
{{ '+' if entry.net_cents > 0 else '' }}{{ entry.net_cents | money }}
</td>
<td style="color:var(--pos)">{{ entry.paid_cents | money }}</td>
<td style="color:var(--pos)">{{ entry.paid_out_cents | money }}</td>
<td class="{{ 'num-neg' if entry.current_due_to_player_cents > 0 else '' }}">
{% if entry.current_due_to_house_cents > 0 %}
<span style="color:var(--owes)">owes {{ entry.current_due_to_house_cents | money }}</span>
{% elif entry.current_due_to_player_cents > 0 %}
<span style="color:var(--neg)">due {{ entry.current_due_to_player_cents | money }}</span>
{% else %}
{{ entry.current_due_to_player_cents | money }}
{% endif %}
@@ -132,8 +135,9 @@
</td>
<td class="col-acct" style="color:var(--warn)">{{ entry.front_cents | money }}</td>
<td class="col-acct" style="color:var(--rolled)">{{ entry.rollover_in_cents | money }}</td>
<td class="col-acct" style="color:var(--rolled)">{{ entry.payout_carry_in_cents | money }}</td>
<td class="col-acct">
{% if entry.player_owes_gross_cents > 0 %}—{% else %}{{ entry.gross_payout_cents | money }}{% endif %}
{% if entry.gross_due_to_house_cents > 0 %}—{% else %}{{ entry.gross_payout_cents | money }}{% endif %}
</td>
<td class="col-acct" style="color:var(--rolled)">{{ entry.rollover_out_cents | money }}</td>
<td class="col-acct" style="text-align:left;font-family:var(--font-ui);">
@@ -151,7 +155,7 @@
</div>
<!-- Bottom row: net bars + snapshot + audit feed -->
<div class="split" style="align-items:stretch;">
<div class="split">
<div class="panel col-main">
<div class="panel__head">
<span class="kicker" style="margin:0;">Breakdown</span>
@@ -159,17 +163,17 @@
</div>
<div class="chart-wrap">
<div class="session-net-bars" id="sessionBreakdownChart" aria-label="Net by player"></div>
</div>
</div>
</div>
<div class="panel col-side" style="display:flex;flex-direction:column;">
<div class="panel col-side">
<div class="panel__head">
<span class="kicker" style="margin:0;">Quick read</span>
<h2 class="panel__title">Session snapshot</h2>
</div>
{% set winners = session.entries | selectattr('net_cents', 'gt', 0) | list %}
{% set losers = session.entries | selectattr('net_cents', 'lt', 0) | list %}
<div class="snapshot-grid" style="flex:1;">
<div class="snapshot-grid">
<div class="snapshot-cell">
<span class="kicker" style="font-size:10px;">Biggest winner</span>
<div class="snapshot-val" style="color:var(--pos)">
@@ -185,7 +189,7 @@
{% if losers %}<div style="font-size:12px;color:var(--muted);margin-top:4px;">{{ losers | sort(attribute='net_cents') | first | attr('player_name') }}</div>{% endif %}
</div>
<div class="snapshot-cell">
<span class="kicker" style="font-size:10px;">Total cash-out</span>
<span class="kicker" style="font-size:10px;">Gross cashout result</span>
<div class="snapshot-val">{{ session.total_cash_out_cents | money }}</div>
</div>
<div class="snapshot-cell">