Enhance logging and conditional rendering in VocabService and VocabLessonView

- Added detailed logging in VocabService for lesson retrieval, including lesson ID, title, and exercise count.
- Improved conditional rendering in VocabLessonView to handle cases where grammar exercises may not be present, enhancing user experience.
- Updated logging in VocabLessonView to provide insights into loaded lessons and exercises, aiding in debugging and monitoring.
This commit is contained in:
Torsten Schulz (local)
2026-01-19 19:12:54 +01:00
parent 0331ffeb93
commit 8f55f63f77
5 changed files with 168 additions and 8 deletions

View File

@@ -64,9 +64,10 @@
</div>
<!-- Übungen-Tab -->
<div v-if="activeTab === 'exercises' && lesson.grammarExercises && lesson.grammarExercises.length > 0" class="grammar-exercises">
<h3>{{ $t('socialnetwork.vocab.courses.grammarExercises') }}</h3>
<div v-for="exercise in lesson.grammarExercises" :key="exercise.id" class="exercise-item">
<div v-if="activeTab === 'exercises'" class="grammar-exercises">
<div v-if="lesson.grammarExercises && lesson.grammarExercises.length > 0">
<h3>{{ $t('socialnetwork.vocab.courses.grammarExercises') }}</h3>
<div v-for="exercise in lesson.grammarExercises" :key="exercise.id" class="exercise-item">
<h4>{{ exercise.title }}</h4>
<p v-if="exercise.instruction" class="exercise-instruction">{{ exercise.instruction }}</p>
@@ -155,10 +156,9 @@
<pre>{{ JSON.stringify(exercise, null, 2) }}</pre>
</div>
</div>
</div>
<div v-else>
<p>{{ $t('socialnetwork.vocab.courses.noExercises') }}</p>
<div v-else>
<p>{{ $t('socialnetwork.vocab.courses.noExercises') }}</p>
</div>
</div>
</div>
</div>
@@ -264,13 +264,17 @@ export default {
try {
const res = await apiClient.get(`/api/vocab/lessons/${this.lessonId}`);
this.lesson = res.data;
console.log('[VocabLessonView] Geladene Lektion:', this.lesson);
console.log('[VocabLessonView] Übungen:', this.lesson?.grammarExercises);
// Initialisiere Übungen aus der Lektion oder lade sie separat
if (this.lesson && this.lesson.id) {
if (this.lesson.grammarExercises && this.lesson.grammarExercises.length > 0) {
// Übungen sind bereits in der Lektion enthalten
console.log('[VocabLessonView] Übungen bereits in Lektion enthalten:', this.lesson.grammarExercises.length);
this.initializeExercises(this.lesson.grammarExercises);
} else {
// Lade Übungen separat (Fallback)
console.log('[VocabLessonView] Lade Übungen separat...');
await this.loadGrammarExercises();
}
}