Spaces:
Sleeping
Sleeping
File size: 1,159 Bytes
5a88b6d 529c982 afdd8ce 5a88b6d c7d096e 5a88b6d afdd8ce 5a88b6d afdd8ce 5a88b6d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | '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 });
};
// Get configuration for this question type, fallback to default
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>
);
} |