ai generated solutions to our ai generated problems

This commit is contained in:
Heidi
2026-06-17 23:43:00 +01:00
parent 08b6d01fc8
commit dbac05fb4d
2 changed files with 67 additions and 21 deletions
+13 -15
View File
@@ -110,8 +110,8 @@ function formatDate(timestamp) {
}
function gameParticipants(game) {
const winner = game?.winning_team || ''
const loser = game?.losing_team || ''
const winner = displayTeamName(game?.winning_team)
const loser = displayTeamName(game?.losing_team)
if (winner || loser) {
return [
@@ -131,6 +131,11 @@ function gameParticipants(game) {
]
}
function displayTeamName(value) {
const name = String(value || '').trim()
return /^\d+$/.test(name) ? '' : name
}
function ParticipantNames({ participants }) {
if (!participants.length) {
return <p className="truncate text-sm font-semibold text-text-soft">Participants unknown</p>
@@ -2390,8 +2395,6 @@ function RecentGamesSection({ live, matches, navigate }) {
</p>
</div>
<div className="mt-3 flex flex-wrap gap-2 text-xs text-text-soft">
<span>{formatNumber(match.stats?.ground_kills)} ground</span>
<span>{formatNumber(match.stats?.air_kills)} air</span>
<span>{formatNumber(match.stats?.deaths)} deaths</span>
</div>
</button>
@@ -2786,8 +2789,8 @@ function GamePage({ gameId, navigate }) {
{game ? (
<div className="mt-6 grid gap-5 sm:grid-cols-2 xl:grid-cols-4">
<Stat label="Players" value={formatNumber(game.player_count)} />
<Stat label="Ground" value={formatNumber(game.stats?.ground_kills)} />
<Stat label="Air" value={formatNumber(game.stats?.air_kills)} />
<Stat label="Assists" value={formatNumber(game.stats?.assists)} />
<Stat label="Score" value={formatNumber(game.stats?.score)} />
<Stat label="Deaths" value={formatNumber(game.stats?.deaths)} />
</div>
) : null}
@@ -2806,7 +2809,7 @@ function GamePage({ gameId, navigate }) {
const won = String(participant.result || '').toLowerCase() === 'win'
return (
<button
className="grid w-full gap-4 border-b border-surface px-5 py-4 text-left transition hover:bg-surface md:grid-cols-[1fr_repeat(5,auto)] md:items-center"
className="grid w-full gap-4 border-b border-surface px-5 py-4 text-left transition hover:bg-surface md:grid-cols-[1fr_repeat(4,auto)] md:items-center"
key={participant.team_name}
onClick={() => navigate(teamPath(participant.team_name))}
type="button"
@@ -2815,9 +2818,8 @@ function GamePage({ gameId, navigate }) {
{participant.team_name}
</p>
<p className="text-sm">{formatNumber(participant.player_count)} players</p>
<p className="text-sm">{formatNumber(participant.stats?.ground_kills)} ground</p>
<p className="text-sm">{formatNumber(participant.stats?.air_kills)} air</p>
<p className="text-sm">{formatNumber(participant.stats?.assists)} assists</p>
<p className="text-sm">{formatNumber(participant.stats?.score)} score</p>
<p className="text-sm">{formatNumber(participant.stats?.deaths)} deaths</p>
</button>
)
@@ -2884,7 +2886,7 @@ function BattleResults({ games, navigate, status }) {
<div className="max-h-[560px] overflow-auto">
{games.map((game) => (
<button
className="grid w-full gap-4 border-b border-surface px-5 py-4 text-left transition hover:bg-surface md:grid-cols-[1fr_minmax(10rem,0.8fr)_repeat(5,auto)] md:items-center"
className="grid w-full gap-4 border-b border-surface px-5 py-4 text-left transition hover:bg-surface md:grid-cols-[1fr_minmax(10rem,0.8fr)_repeat(3,auto)] md:items-center"
key={game.session_id}
onClick={() => navigate(gamePath(game.session_id))}
type="button"
@@ -2897,8 +2899,6 @@ function BattleResults({ games, navigate, status }) {
</div>
<ParticipantNames participants={gameParticipants(game)} />
<p className="text-sm">{formatNumber(game.player_count)} players</p>
<p className="text-sm">{formatNumber(game.stats?.ground_kills)} ground</p>
<p className="text-sm">{formatNumber(game.stats?.air_kills)} air</p>
<p className="text-sm">{formatNumber(game.stats?.assists)} assists</p>
<p className="text-sm">{formatNumber(game.stats?.deaths)} deaths</p>
</button>
@@ -2926,7 +2926,7 @@ function BattleLogsPage({ live, matches, navigate }) {
<div className="overflow-hidden rounded-lg border border-border bg-fury-white shadow-sm">
{matches.map((match) => (
<button
className="grid w-full gap-4 border-b border-surface px-5 py-4 text-left transition hover:bg-surface md:grid-cols-[1fr_minmax(10rem,0.8fr)_repeat(4,auto)] md:items-center"
className="grid w-full gap-4 border-b border-surface px-5 py-4 text-left transition hover:bg-surface md:grid-cols-[1fr_minmax(10rem,0.8fr)_repeat(2,auto)] md:items-center"
key={match.session_id}
onClick={() => navigate(gamePath(match.session_id))}
type="button"
@@ -2939,8 +2939,6 @@ function BattleLogsPage({ live, matches, navigate }) {
</div>
<ParticipantNames participants={gameParticipants(match)} />
<p className="text-sm">{formatNumber(match.player_count)} players</p>
<p className="text-sm">{formatNumber(match.stats?.ground_kills)} ground</p>
<p className="text-sm">{formatNumber(match.stats?.air_kills)} air</p>
<p className="text-sm">{formatNumber(match.stats?.deaths)} deaths</p>
</button>
))}