{$t.admin.adminDashboard}

{$t.admin.createSession}

{$t.admin.totalGames}

{data.stats?.totalGames || 0}

{$t.admin.activeSessions}

{data.stats?.activeSessions || 0}

{$t.admin.totalPlayers}

{data.stats?.totalPlayers || 0}

{$t.admin.currentAndIncomingSessions}

{#if data.currentAndIncomingSessions && data.currentAndIncomingSessions.length > 0}
{#each data.currentAndIncomingSessions as session (session.id)} {/each}
{$t.admin.code} {$t.admin.game} {$t.admin.status} {$t.admin.players} Progression {$t.admin.expires}
{session.code} {session.gameName} {session.startedAt && !session.completedAt ? $t.admin.current : $t.admin.incoming} {session.playerCount || 0} {#if session.progression}
Step {session.progression.currentStep} of {session.progression.totalSteps} {Math.round((session.progression.completedSteps / session.progression.totalSteps) * 100)}%
{:else} No progress {/if}
{new Date(session.expiresAt).toLocaleString()}
{:else}
{$t.admin.noCurrentOrIncomingSessions}
{/if}

{$t.admin.meanResolutionTime}

{#if data.resolutionMetrics && data.resolutionMetrics.length > 0}
{#each data.resolutionMetrics as metric (metric.gameId)}
{metric.gameTitle}
{formatDuration(metric.meanResolutionMinutes)} ({metric.completedSessions})
{/each}
{:else}

{$t.admin.noResolutionData}

{/if}