| 'use client'; |
|
|
| import { QuestionType, QuestionParameters } from '@/types/quiz'; |
| import { questionTypeConfigs, defaultQuestionTypeConfig } from '@/config/questionTypes'; |
| import ParameterInput from './ParameterInput'; |
|
|
| interface QuestionParameterFormProps { |
| questionType: QuestionType; |
| parameters: QuestionParameters; |
| onParametersChange: (parameters: QuestionParameters) => void; |
| } |
|
|
| export default function QuestionParameterForm({ |
| questionType, |
| parameters, |
| onParametersChange, |
| }: QuestionParameterFormProps) { |
| const updateParameter = (key: string, value: string | number | boolean | string[]) => { |
| onParametersChange({ ...parameters, [key]: value }); |
| }; |
|
|
| |
| const config = questionTypeConfigs[questionType.id] || defaultQuestionTypeConfig; |
|
|
| return ( |
| <div className="space-y-4"> |
| {config.parameters.map((paramConfig) => ( |
| <ParameterInput |
| key={paramConfig.key} |
| config={paramConfig} |
| value={parameters[paramConfig.key]} |
| onChange={(value) => updateParameter(paramConfig.key, value)} |
| /> |
| ))} |
| </div> |
| ); |
| } |