import React, { memo, useCallback } from 'react' interface ConfidenceButtonsProps { selectedLevel: number | null onSelect: (level: number) => void disabled?: boolean className?: string } const confidenceConfig = { 1: { label: '完全不懂', color: 'bg-red-100 text-red-700 border-red-200 hover:bg-red-200' }, 2: { label: '模糊', color: 'bg-orange-100 text-orange-700 border-orange-200 hover:bg-orange-200' }, 3: { label: '一般', color: 'bg-yellow-100 text-yellow-700 border-yellow-200 hover:bg-yellow-200' }, 4: { label: '熟悉', color: 'bg-blue-100 text-blue-700 border-blue-200 hover:bg-blue-200' }, 5: { label: '非常熟悉', color: 'bg-green-100 text-green-700 border-green-200 hover:bg-green-200' } } export const ConfidenceButtons = memo(({ selectedLevel, onSelect, disabled = false, className = '' }) => { const handleSelect = useCallback((level: number) => { if (!disabled) { onSelect(level) } }, [disabled, onSelect]) return (

請選擇您對這個詞彙的熟悉程度:

{Object.entries(confidenceConfig).map(([level, config]) => { const levelNum = parseInt(level) const isSelected = selectedLevel === levelNum return ( ) })}
) }) ConfidenceButtons.displayName = 'ConfidenceButtons'