'use client'; import { useState } from 'react'; import Card from '../ui/Card'; import Button from '../ui/Button'; import { Race } from '@gridpilot/racing/domain/entities/Race'; interface CompanionInstructionsProps { race: Race; leagueName?: string; } export default function CompanionInstructions({ race, leagueName }: CompanionInstructionsProps) { const [copied, setCopied] = useState(false); const formatDateTime = (date: Date) => { return new Date(date).toLocaleDateString('en-US', { month: 'short', day: 'numeric', year: 'numeric', hour: '2-digit', minute: '2-digit', timeZoneName: 'short', }); }; const raceDetails = `GridPilot Race: ${leagueName || 'League'} Track: ${race.track} Car: ${race.car} Date/Time: ${formatDateTime(race.scheduledAt)} Session Type: ${race.sessionType.charAt(0).toUpperCase() + race.sessionType.slice(1)}`; const handleCopyDetails = async () => { try { await navigator.clipboard.writeText(raceDetails); setCopied(true); setTimeout(() => setCopied(false), 2000); } catch (err) { console.error('Failed to copy:', err); } }; return (

Alpha Manual Workflow

Companion automation coming in production. For alpha, races are created manually.

1

Schedule race in GridPilot (completed)

2

Copy race details using button below

3

Create hosted session manually in iRacing website

4

Return to GridPilot after race completes

5

Import results via CSV upload

{raceDetails}
          
); }