Statistiky: dokoncene hry rozdelene na s ludmi / s botmi
Karta "Dokoncene hry" (%) nahradena dvomi poctami dokoncenych hier podla toho, ci na niektorom sedadle sedel bot (username "bot:..."). Zaroven oprava serializacie avg_game_duration_minutes -- Postgres vracia z func.avg Decimal, ktory json.dumps nevie serializovat (500 na /api/admin/stats). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -17,7 +17,8 @@ import PageviewsChart from './PageviewsChart';
|
||||
interface DailyStats {
|
||||
games_per_day: Record<string, number>;
|
||||
players_per_day: Record<string, number>;
|
||||
completion_rate: number | null;
|
||||
finished_bot_games: number;
|
||||
finished_human_games: number;
|
||||
avg_game_duration_minutes: number | null;
|
||||
total_players: number;
|
||||
unconfirmed_players: number;
|
||||
@@ -157,10 +158,8 @@ export default function AdminStats() {
|
||||
<div className={`flex gap-3 ${desktop ? '' : 'flex-wrap'}`}>
|
||||
<SummaryCard label="Hráči celkom" value={String(data.total_players)} />
|
||||
<SummaryCard label="Nedokončené registrácie" value={String(data.unconfirmed_players)} />
|
||||
<SummaryCard
|
||||
label="Dokončené hry"
|
||||
value={data.completion_rate != null ? `${Math.round(data.completion_rate * 100)}%` : '—'}
|
||||
/>
|
||||
<SummaryCard label="Dokončené hry s ľuďmi" value={String(data.finished_human_games)} />
|
||||
<SummaryCard label="Dokončené hry s botmi" value={String(data.finished_bot_games)} />
|
||||
<SummaryCard
|
||||
label="Priem. dĺžka hry"
|
||||
value={data.avg_game_duration_minutes != null ? `${Math.round(data.avg_game_duration_minutes)} min` : '—'}
|
||||
|
||||
Reference in New Issue
Block a user