Add player stats, in-table ranking, host seating and review return
- Stats page (/stats): play style radar (TAG/LAG/rock/fish), VPIP, PFR, ATS, 3bet, WTSD, W$SD, WWSF, per-street fold rate, aggression frequency, hand win rate and net in BB, per table type, each with a bands-and-explanation sheet. Hands are counted per human player when they finish and stored as totals under data/stats/, keyed by a hash of the player ID (sent in a POST body, never in the URL). - Ranking sheet at the table: everyone seated, ordered by stack or by net (stack minus buy-ins), updating live. - The host can reorder seats by dragging (with a mini table preview and shuffle). Takes effect immediately between hands, otherwise at the start of the next hand; the dealer button stays with the same player. - The full-session review opens in the same tab and its back button returns to the table it was opened from. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
49203f202c
commit
dd39c043c4
18 files changed
+2699
-18
No files matched your search
@@ -0,0 +1,79 @@
|
||||
<!doctype html>
|
||||
<html lang="ja">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no, viewport-fit=cover">
|
||||
<meta name="theme-color" media="(prefers-color-scheme: light)" content="#f2f2f7">
|
||||
<meta name="theme-color" media="(prefers-color-scheme: dark)" content="#000000">
|
||||
<meta name="robots" content="noindex, nofollow">
|
||||
<title>統計 - Hold'em Night</title>
|
||||
<link rel="icon" href="/assets/favicon.ico">
|
||||
<link rel="stylesheet" href="/assets/style.css">
|
||||
</head>
|
||||
<body class="page-stats">
|
||||
<header class="nav-bar" id="nav">
|
||||
<div class="nav-inner">
|
||||
<a class="nav-back" id="back" href="/"><svg class="i" viewBox="0 0 24 24" aria-hidden="true"><path d="M15 5l-7 7 7 7"/></svg><span id="back-label">ロビー</span></a>
|
||||
<span class="nav-title"></span>
|
||||
<button type="button" class="nav-action" id="refresh" aria-label="更新" title="更新">
|
||||
<svg class="i" viewBox="0 0 24 24" aria-hidden="true"><path d="M19.5 12a7.5 7.5 0 1 1-2.2-5.3"/><path d="M19.5 4.5v4.2h-4.2"/></svg>
|
||||
</button>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
<main class="wrap stats-wrap">
|
||||
<h1 class="large-title" id="title">統計</h1>
|
||||
|
||||
<!-- まとめ: プレイスタイルと主な数字 -->
|
||||
<section id="view-summary">
|
||||
<div class="st-card st-style" id="style-card" role="button" tabindex="0" aria-label="プレイスタイルの説明を開く"></div>
|
||||
<div class="st-grid st-grid-2 mt-12" id="summary-tiles"></div>
|
||||
<button type="button" class="btn btn-lg btn-block mt-12" id="see-all">すべての統計を見る</button>
|
||||
</section>
|
||||
|
||||
<!-- すべての統計(テーブルの種類ごと) -->
|
||||
<section id="view-all" hidden>
|
||||
<div class="segmented st-tabs" id="mode-tabs" aria-label="テーブルの種類">
|
||||
<button type="button" class="seg-btn active" data-mode="total">合計</button>
|
||||
<button type="button" class="seg-btn" data-mode="chips">キャッシュ</button>
|
||||
<button type="button" class="seg-btn" data-mode="friends">友人戦</button>
|
||||
<button type="button" class="seg-btn" data-mode="cpu">CPU戦</button>
|
||||
</div>
|
||||
<div id="all-body"></div>
|
||||
</section>
|
||||
|
||||
<p class="hint st-foot">統計はこのブラウザのプレイヤーIDごとに、ハンドが終わるたびに記録しています。別の端末やブラウザで遊んだ分は別に数えます。CPU戦にはレビュー付きCPU戦を含みます。</p>
|
||||
</main>
|
||||
|
||||
<!-- 1つの数字の説明(段階・説明・共有) -->
|
||||
<div class="sheet-backdrop" id="info-modal" hidden>
|
||||
<div class="sheet st-info-sheet" role="dialog" aria-modal="true" aria-labelledby="info-title" tabindex="-1">
|
||||
<div class="sheet-header" data-sheet-drag><span class="sheet-grabber" aria-hidden="true"></span></div>
|
||||
<div class="sheet-scroll" id="info-body"></div>
|
||||
<div class="sheet-footer">
|
||||
<button type="button" class="btn btn-lg btn-block st-share" id="info-share">
|
||||
<svg class="i" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3.5v11M8 7l4-3.5L16 7"/><path d="M8.5 10.5H7A2.5 2.5 0 0 0 4.5 13v5A2.5 2.5 0 0 0 7 20.5h10a2.5 2.5 0 0 0 2.5-2.5v-5a2.5 2.5 0 0 0-2.5-2.5h-1.5"/></svg>友達に共有
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- プレイスタイル4種類(横に送って見る) -->
|
||||
<div class="sheet-backdrop" id="type-modal" hidden>
|
||||
<div class="sheet st-info-sheet" role="dialog" aria-modal="true" aria-label="プレイスタイル" tabindex="-1">
|
||||
<div class="sheet-header" data-sheet-drag><span class="sheet-grabber" aria-hidden="true"></span></div>
|
||||
<div class="st-carousel" id="type-carousel"></div>
|
||||
<div class="st-dots" id="type-dots" aria-hidden="true"></div>
|
||||
<div class="sheet-footer">
|
||||
<button type="button" class="btn btn-lg btn-block st-share" id="type-share">
|
||||
<svg class="i" viewBox="0 0 24 24" aria-hidden="true"><path d="M12 3.5v11M8 7l4-3.5L16 7"/><path d="M8.5 10.5H7A2.5 2.5 0 0 0 4.5 13v5A2.5 2.5 0 0 0 7 20.5h10a2.5 2.5 0 0 0 2.5-2.5v-5a2.5 2.5 0 0 0-2.5-2.5h-1.5"/></svg>友達に共有
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script src="/assets/fluid.js"></script>
|
||||
<script src="/assets/common.js"></script>
|
||||
<script src="/assets/stats.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user