--- id: 288d9375-62b9-499d-b41c-d93fcaf75e4e type: solution title: "Game page tabs with lineup persistence" tags: [strat-gameplay-webapp, vue, fastapi, lineup-persistence, tabs] importance: 0.7 confidence: 0.8 created: "2026-01-16T20:08:56.169747+00:00" updated: "2026-01-16T20:08:56.169747+00:00" --- Implemented tabbed game page (Game/Lineups/Stats) with manager-aware default tab logic. Key fixes: 1) Per-team lineup submission allowing independent team submissions, 2) Lineup persistence via lineup-status endpoint that queries database directly for pending games (avoids GameState validation error when inning/half are null), 3) LineupBuilder populates from saved data after rosters load. Pattern: For pending games, query DB directly instead of trying to recover full GameState.