'use client' import { Input } from '@/components/ui/input' import { Label } from '@/components/ui/label' import { Switch } from '@/components/ui/switch' import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '@/components/ui/select' import type { EvaluationConfig } from '@/types/pipeline-wizard' type AssignmentSectionProps = { config: EvaluationConfig onChange: (config: EvaluationConfig) => void isActive?: boolean } export function AssignmentSection({ config, onChange, isActive }: AssignmentSectionProps) { const updateConfig = (updates: Partial) => { onChange({ ...config, ...updates }) } return (
updateConfig({ requiredReviews: parseInt(e.target.value) || 3 }) } />

Minimum number of jury evaluations per project

updateConfig({ maxLoadPerJuror: parseInt(e.target.value) || 20 }) } />

Maximum projects assigned to one juror

updateConfig({ minLoadPerJuror: parseInt(e.target.value) || 5 }) } />

Target minimum projects per juror

{config.minLoadPerJuror > config.maxLoadPerJuror && (

Min load per juror cannot exceed max load per juror.

)}

Factor in juror availability when assigning projects

updateConfig({ availabilityWeighting: checked }) } disabled={isActive} />
) }