Новички: серебряный рейтинг и порог 5 игр вместо 3
- рейтинг в блоках «Новички» (топ игроков и общая статистика) выводится серебряным (--silver, класс .lb-score.provisional), а не золотым; - MIN_GAMES 3 -> 5 (scoring.py) — в ранжированный топ попадают с 5 игр; подпись «Новички (меньше N игр)» берёт порог из API, справка обновлена; - pytest: 57 passed. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -55,7 +55,7 @@ export function HelpPage() {
|
||||
<div className="card">
|
||||
<h3>Попадание в топ</h3>
|
||||
<p className="small">
|
||||
Чтобы попасть в ранжированный топ, нужно сыграть минимум <b>3 партии</b>. До этого
|
||||
Чтобы попасть в ранжированный топ, нужно сыграть минимум <b>5 партий</b>. До этого
|
||||
игрок показывается в блоке «Новички» — предварительно, без места в рейтинге.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
@@ -42,7 +42,7 @@ export function OverallStatsPage() {
|
||||
const provisional = filterSort(data.provisional);
|
||||
const arrow = (k: SortKey) => (k === sortKey ? (dir === 1 ? " ↑" : " ↓") : "");
|
||||
|
||||
const row = (e: LeaderboardEntry) => (
|
||||
const row = (e: LeaderboardEntry, isProvisional = false) => (
|
||||
<PlayerLink key={e.user_id} userId={e.user_id} className="st-row">
|
||||
<span className={"st-num" + (e.rank && e.rank <= 3 ? " gold" : "")}>{e.rank ?? "—"}</span>
|
||||
<span className="st-player">
|
||||
@@ -52,7 +52,9 @@ export function OverallStatsPage() {
|
||||
<span className="st-num">{e.games}</span>
|
||||
<span className="st-num">{e.wins}</span>
|
||||
<span className="st-num">{pct(e.win_rate)}</span>
|
||||
<span className="st-num lb-score">{e.score ?? "—"}</span>
|
||||
<span className={"st-num lb-score" + (isProvisional ? " provisional" : "")}>
|
||||
{e.score ?? "—"}
|
||||
</span>
|
||||
</PlayerLink>
|
||||
);
|
||||
|
||||
@@ -77,14 +79,14 @@ export function OverallStatsPage() {
|
||||
Никого не найдено.
|
||||
</div>
|
||||
) : (
|
||||
entries.map(row)
|
||||
entries.map((e) => row(e))
|
||||
)}
|
||||
</div>
|
||||
|
||||
{provisional.length > 0 && (
|
||||
<div className="card">
|
||||
<div className="label">Новички (меньше {data.min_games} игр)</div>
|
||||
{provisional.map(row)}
|
||||
{provisional.map((e) => row(e, true))}
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user