All files / web/src/app/practice page.tsx

0% Statements 0/21
0% Branches 0/1
0% Functions 0/1
0% Lines 0/21

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22                                           
import { getPlayersWithSkillData } from '@/lib/curriculum/server'
import { getUserId } from '@/lib/viewer'
import { PracticeClient } from './PracticeClient'

/**
 * Practice page - Server Component
 *
 * Fetches player list on the server and passes to client component.
 * This provides instant rendering with no loading spinner.
 *
 * URL: /practice
 */
export default async function PracticePage() {
  // Fetch players with skill data directly on server - no HTTP round-trip
  const players = await getPlayersWithSkillData()

  // Get database user ID for parent socket notifications and session observation
  const userId = await getUserId()

  return <PracticeClient initialPlayers={players} viewerId={userId} userId={userId} />
}