class ExerciseUI { constructor() { this.currentExercise = null; this.answerSubmitted = false; } async render(exerciseData) { this.currentExercise = exerciseData; this.answerSubmitted = false; const exerciseContent = document.getElementById('exerciseContent'); const exerciseFeedback = document.getElementById('exerciseFeedback'); if (!exerciseContent) return; // پاک کردن فیدبک قبلی if (exerciseFeedback) { exerciseFeedback.innerHTML = ''; } let html = `
${this.escapeHtml(exerciseData.exercise.description)}
` : ''}${this.escapeHtml(keyword)}پاسخ شما بر اساس تطابق با کلمات کلیدی بالا ارزیابی میشود.
حداقل ${Math.round((exerciseData.exercise.match_threshold || 0.6) * 100)}% تطابق مورد نیاز است.
پیام: ${result.feedback.message}
${this.escapeHtml(kw)}هیچ کلمهای یافت نشد
' }${this.escapeHtml(kw)}همه کلمات یافت شدند
' }