Add family vocabulary exercises in Bisaya course content

- Introduced a new set of multiple choice and gap fill exercises focused on family-related vocabulary in Bisaya, enhancing language learning.
- Included detailed explanations for each term to provide context and aid understanding for learners.
- Removed dummy exercises for unknown lessons, streamlining the exercise return logic for better user experience.
This commit is contained in:
Torsten Schulz (local)
2026-01-19 22:48:10 +01:00
parent 9e6787fb3f
commit 81dbbdd6f5
4 changed files with 424 additions and 38 deletions

View File

@@ -29,7 +29,7 @@
>&nbsp;</span>
<span>{{ subitem?.label || $t(`navigation.m-${key}.${subkey}`) }}</span>
<span
v-if="subkey === 'forum' || subitem.children"
v-if="subkey === 'forum' || subkey === 'vocabtrainer' || subitem.children"
class="subsubmenu"
>&#x25B6;</span>
@@ -47,7 +47,26 @@
</li>
</ul>
<!-- Weiteres Untermenü Ebene 2 -->
<!-- Vokabeltrainer-Unterliste (Sprachen) -->
<ul
v-else-if="subkey === 'vocabtrainer' && vocabLanguagesList.length"
class="submenu2"
>
<li
@click="handleItem({ path: '/socialnetwork/vocab/new' }, $event)"
>
{{ $t('navigation.m-sprachenlernen.m-vocabtrainer.newLanguage') }}
</li>
<li
v-for="lang in vocabLanguagesList"
:key="lang.id"
@click="handleItem({ path: `/socialnetwork/vocab/${lang.id}` }, $event)"
>
{{ lang.name }}
</li>
</ul>
<!-- Weiteres Untermenü Ebene 2 -->
<ul
v-else-if="subitem.children"
class="submenu2"
@@ -126,7 +145,8 @@ export default {
data() {
return {
forumList: [],
friendsList: []
friendsList: [],
vocabLanguagesList: []
};
},
computed: {
@@ -149,6 +169,7 @@ export default {
this.loadMenu();
this.fetchForums();
this.fetchFriends();
this.fetchVocabLanguages();
}
},
beforeUnmount() {
@@ -196,6 +217,16 @@ export default {
}
},
async fetchVocabLanguages() {
try {
const res = await apiClient.get('/api/vocab/languages');
this.vocabLanguagesList = res.data?.languages || [];
} catch (err) {
console.error('Error fetching vocab languages:', err);
this.vocabLanguagesList = [];
}
},
openForum(forumId) {
this.$router.push({ name: 'Forum', params: { id: forumId } });
},