import React, { useState, useCallback, memo } from 'react' import VoiceRecorder from '@/components/VoiceRecorder' import { ErrorReportButton, TestHeader } from '@/components/review/shared' import { BaseReviewProps } from '@/types/review' interface SentenceSpeakingTestProps extends BaseReviewProps { exampleImage?: string onImageClick?: (image: string) => void } const SentenceSpeakingTestComponent: React.FC = ({ cardData, exampleImage, onAnswer, onReportError, onImageClick, disabled = false }) => { const [showResult, setShowResult] = useState(false) const handleRecordingComplete = useCallback(() => { if (disabled || showResult) return setShowResult(true) onAnswer(cardData.example) // 語音測驗通常都算正確 }, [disabled, showResult, cardData.example, onAnswer]) return (
{/* 錯誤回報按鈕 */}
{/* 標題區 */} {/* VoiceRecorder 組件區域 */}
{/* 結果反饋區 */} {showResult && (

錄音完成!

系統正在評估你的發音...

)}
) } export const SentenceSpeakingTest = memo(SentenceSpeakingTestComponent) SentenceSpeakingTest.displayName = 'SentenceSpeakingTest'