removed double question
All checks were successful
Deploy to production / deploy (push) Successful in 2m59s
All checks were successful
Deploy to production / deploy (push) Successful in 2m59s
This commit is contained in:
@@ -576,7 +576,7 @@
|
||||
|
||||
<!-- Multiple Choice Übung -->
|
||||
<div v-if="getExerciseType(exercise) === 'multiple_choice'" class="multiple-choice-exercise">
|
||||
<p class="exercise-question">{{ getQuestionText(exercise) }}</p>
|
||||
<p v-if="getVisibleQuestionText(exercise)" class="exercise-question">{{ getVisibleQuestionText(exercise) }}</p>
|
||||
<div class="options">
|
||||
<label v-for="(option, index) in getOptions(exercise)" :key="index" class="option-label">
|
||||
<input
|
||||
@@ -632,7 +632,7 @@
|
||||
|
||||
<!-- Transformation Übung -->
|
||||
<div v-else-if="getExerciseType(exercise) === 'transformation'" class="transformation-exercise">
|
||||
<p class="exercise-question">{{ getQuestionText(exercise) }}</p>
|
||||
<p v-if="getVisibleQuestionText(exercise)" class="exercise-question">{{ getVisibleQuestionText(exercise) }}</p>
|
||||
<input
|
||||
v-model="exerciseAnswers[exercise.id]"
|
||||
:placeholder="$t('socialnetwork.vocab.courses.enterAnswer')"
|
||||
@@ -654,7 +654,7 @@
|
||||
</div>
|
||||
|
||||
<div v-else-if="getExerciseType(exercise) === 'sentence_building'" class="sentence-building-exercise">
|
||||
<p class="exercise-question">{{ getQuestionText(exercise) }}</p>
|
||||
<p v-if="getVisibleQuestionText(exercise)" class="exercise-question">{{ getVisibleQuestionText(exercise) }}</p>
|
||||
<div v-if="getQuestionData(exercise)?.tokens?.length" class="token-list">
|
||||
<span v-for="(token, index) in getQuestionData(exercise).tokens" :key="index" class="token-chip">{{ token }}</span>
|
||||
</div>
|
||||
@@ -676,7 +676,7 @@
|
||||
</div>
|
||||
|
||||
<div v-else-if="getExerciseType(exercise) === 'dialog_completion'" class="dialog-completion-exercise">
|
||||
<p class="exercise-question">{{ getQuestionText(exercise) }}</p>
|
||||
<p v-if="getVisibleQuestionText(exercise)" class="exercise-question">{{ getVisibleQuestionText(exercise) }}</p>
|
||||
<div v-if="getQuestionData(exercise)?.dialog" class="dialog-snippet">
|
||||
<p v-for="(line, index) in getQuestionData(exercise).dialog" :key="index">{{ line }}</p>
|
||||
</div>
|
||||
@@ -698,7 +698,7 @@
|
||||
</div>
|
||||
|
||||
<div v-else-if="getExerciseType(exercise) === 'situational_response'" class="situational-response-exercise">
|
||||
<p class="exercise-question">{{ getQuestionText(exercise) }}</p>
|
||||
<p v-if="getVisibleQuestionText(exercise)" class="exercise-question">{{ getVisibleQuestionText(exercise) }}</p>
|
||||
<textarea
|
||||
v-model="exerciseAnswers[exercise.id]"
|
||||
:placeholder="$t('socialnetwork.vocab.courses.situationalResponsePlaceholder')"
|
||||
@@ -720,7 +720,7 @@
|
||||
</div>
|
||||
|
||||
<div v-else-if="getExerciseType(exercise) === 'pattern_drill'" class="pattern-drill-exercise">
|
||||
<p class="exercise-question">{{ getQuestionText(exercise) }}</p>
|
||||
<p v-if="getVisibleQuestionText(exercise)" class="exercise-question">{{ getVisibleQuestionText(exercise) }}</p>
|
||||
<p v-if="getQuestionData(exercise)?.pattern" class="pattern-drill-hint">
|
||||
{{ $t('socialnetwork.vocab.courses.patternPrompt') }}: {{ getQuestionData(exercise).pattern }}
|
||||
</p>
|
||||
@@ -743,7 +743,7 @@
|
||||
|
||||
<!-- Reading Aloud Übung -->
|
||||
<div v-else-if="getExerciseType(exercise) === 'reading_aloud'" class="reading-aloud-exercise">
|
||||
<p class="exercise-question">{{ getQuestionText(exercise) }}</p>
|
||||
<p v-if="getVisibleQuestionText(exercise)" class="exercise-question">{{ getVisibleQuestionText(exercise) }}</p>
|
||||
<p class="exercise-instruction">
|
||||
{{ isSpeechRecognitionSupported ? $t('socialnetwork.vocab.courses.readingAloudInstruction') : $t('socialnetwork.vocab.courses.speakingFallbackInstruction') }}
|
||||
</p>
|
||||
@@ -800,7 +800,7 @@
|
||||
|
||||
<!-- Speaking From Memory Übung -->
|
||||
<div v-else-if="getExerciseType(exercise) === 'speaking_from_memory'" class="speaking-from-memory-exercise">
|
||||
<p class="exercise-question">{{ getQuestionText(exercise) }}</p>
|
||||
<p v-if="getVisibleQuestionText(exercise)" class="exercise-question">{{ getVisibleQuestionText(exercise) }}</p>
|
||||
<p class="exercise-instruction">
|
||||
{{ isSpeechRecognitionSupported ? $t('socialnetwork.vocab.courses.speakingFromMemoryInstruction') : $t('socialnetwork.vocab.courses.speakingFallbackInstruction') }}
|
||||
</p>
|
||||
@@ -2757,6 +2757,16 @@ export default {
|
||||
if (qData.text) return qData.text;
|
||||
return exercise.title;
|
||||
},
|
||||
getVisibleQuestionText(exercise) {
|
||||
const question = String(this.getQuestionText(exercise) || '').trim();
|
||||
if (!question) return '';
|
||||
const title = String(exercise?.title || '').trim();
|
||||
const instruction = String(exercise?.instruction || '').trim();
|
||||
const qNorm = this.normalizeComparableText(question);
|
||||
if (title && qNorm === this.normalizeComparableText(title)) return '';
|
||||
if (instruction && qNorm === this.normalizeComparableText(instruction)) return '';
|
||||
return question;
|
||||
},
|
||||
getOptions(exercise) {
|
||||
const custom = this.mcRandomizedOptions[exercise.id];
|
||||
if (custom && Array.isArray(custom.options) && custom.options.length > 0) {
|
||||
|
||||
Reference in New Issue
Block a user