feat: 完善中文心理测评平台

This commit is contained in:
mikemoi
2026-06-22 22:59:01 +02:00
commit 9227c687fc
160 changed files with 16974 additions and 0 deletions
@@ -0,0 +1,41 @@
import { forwardRef } from 'react';
import { QuestionType } from '@/types';
interface QuestionProps {
question: QuestionType;
answer?: string;
onSelect: (questionId: number, option: string) => void;
}
export const Question = forwardRef<HTMLDivElement, QuestionProps>(
({ question, answer, onSelect }, ref) => {
return (
<div
ref={ref}
className="mb-8 p-6 bg-white rounded-lg shadow-sm"
id={`question-${question.id}`}
>
<h3 className="text-lg font-medium mb-4">
{question.id}. {question.content}
</h3>
<div className="space-y-2">
{question.options.map((option) => (
<button
key={option.value}
className={`w-full text-left p-3 rounded-lg transition-colors duration-200
${answer === option.value
? 'bg-blue-100 border-blue-500 border-2'
: 'border hover:bg-gray-50'
}`}
onClick={() => onSelect(question.id, option.value)}
>
{option.content}
</button>
))}
</div>
</div>
);
}
);
Question.displayName = 'Question';