'use client'; import Input from '@/components/ui/Input'; import type { LeagueConfigFormModel, } from '@gridpilot/racing/application'; interface LeagueBasicsSectionProps { form: LeagueConfigFormModel; onChange?: (form: LeagueConfigFormModel) => void; errors?: { name?: string; visibility?: string; }; readOnly?: boolean; } export function LeagueBasicsSection({ form, onChange, errors, readOnly, }: LeagueBasicsSectionProps) { const basics = form.basics; const disabled = readOnly || !onChange; const updateBasics = (patch: Partial) => { if (!onChange) return; onChange({ ...form, basics: { ...form.basics, ...patch, }, }); }; return (

Step 1 — Basics

updateBasics({ name: e.target.value })} placeholder="GridPilot Sprint Series" error={!!errors?.name} errorMessage={errors?.name} disabled={disabled} />