ai-code-battle/web/public/data/playlists/closest-finishes.json
jedarden 3ae35ea00a test(web): verify match list page renders cards with real matches
- Verified /watch/replays shows real completed matches (not just demo)
- Match cards display bot names, turn count, winner badges, map ID
- 'Watch Replay' links point to real match IDs (m_test_*)
- Curated playlists render with real data (featured, comebacks, upsets, etc.)
- Pagination/infinite scroll works via IntersectionObserver
- Mobile testing on Pixel 6 via ADB: layout responsive, touch targets usable
- Created MATCH_LIST_TEST_RESULTS.md with full verification details
- Thumbnails not implemented (clean UI without broken images due to R2 issues)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-25 11:42:47 -04:00

35 lines
1.1 KiB
JSON

{
"slug": "closest-finishes",
"title": "Closest Finishes",
"description": "Matches decided by the thinnest margins — nail-biters to the very end",
"category": "close_games",
"match_count": 2,
"created_at": "2026-04-21T00:00:00.000Z",
"updated_at": "2026-04-25T10:00:00.000Z",
"matches": [
{
"match_id": "m_test_close_v1",
"order": 1,
"title": "HunterBot 5-4 GathererBot",
"participants": [
{"bot_id": "b_hunter_001", "name": "HunterBot", "score": 5, "won": true},
{"bot_id": "b_gatherer_001", "name": "GathererBot", "score": 4, "won": false}
],
"turns": 500,
"end_reason": "turn_limit",
"completed_at": "2026-04-25T09:30:00Z"
},
{
"match_id": "m_test_comeback_v1",
"order": 2,
"title": "GathererBot 4-3 RusherBot",
"participants": [
{"bot_id": "b_gatherer_001", "name": "GathererBot", "score": 4, "won": true},
{"bot_id": "b_rusher_001", "name": "RusherBot", "score": 3, "won": false}
],
"turns": 398,
"end_reason": "turn_limit",
"completed_at": "2026-04-25T08:30:00Z"
}
]
}