'use client' import { motion } from 'motion/react' import { UseFormReturn } from 'react-hook-form' import { WizardStepContent } from '@/components/forms/form-wizard' import { Input } from '@/components/ui/input' import { Label } from '@/components/ui/label' import { Textarea } from '@/components/ui/textarea' import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '@/components/ui/select' import type { ApplicationFormData } from '@/server/routers/application' import { type DropdownOption, type WizardConfig, DEFAULT_OCEAN_ISSUES } from '@/types/wizard-config' import { isFieldVisible, getFieldConfig } from '@/lib/wizard-config' interface StepProjectProps { form: UseFormReturn oceanIssues?: DropdownOption[] config?: WizardConfig } export function StepProject({ form, oceanIssues, config }: StepProjectProps) { const issueOptions = oceanIssues ?? DEFAULT_OCEAN_ISSUES const { register, formState: { errors }, setValue, watch } = form const oceanIssue = watch('oceanIssue') const description = watch('description') || '' const showTeamName = !config || isFieldVisible(config, 'teamName') const descriptionLabel = config ? getFieldConfig(config, 'description').label : undefined return ( {/* Project Name */}
{errors.projectName && (

{errors.projectName.message}

)}
{/* Team Name (optional) */} {showTeamName && (
)} {/* Ocean Issue */}
{errors.oceanIssue && (

{errors.oceanIssue.message}

)}
{/* Description */}

Keep it brief - you'll have the opportunity to provide more details later.