feat(localization): enhance course progress and review messaging across multiple languages
All checks were successful
Deploy to production / deploy (push) Successful in 2m52s
All checks were successful
Deploy to production / deploy (push) Successful in 2m52s
- Added new confirmation titles and messages for resetting and marking lessons as complete in admin and user interfaces. - Expanded course flow and review scheduling messages to improve clarity and user guidance in Cebuano, German, Spanish, and English. - Introduced a new section in the VocabCourseView to display today's recommended steps for users, enhancing the learning experience. - Updated localization files to ensure consistent messaging and improved user engagement across all supported languages.
This commit is contained in:
@@ -113,6 +113,7 @@
|
||||
|
||||
<script>
|
||||
import apiClient from '@/utils/axios.js';
|
||||
import { confirmAction } from '@/utils/feedback.js';
|
||||
import AdminUserSearch from '@/components/admin/AdminUserSearch.vue';
|
||||
|
||||
export default {
|
||||
@@ -243,20 +244,23 @@ export default {
|
||||
this.loadingVocabCourseDetail = false;
|
||||
}
|
||||
},
|
||||
adminResetVocabLesson() {
|
||||
async adminResetVocabLesson() {
|
||||
if (!this.selected || !this.selectedVocabLessonId || this.vocabResetSubmitting) {
|
||||
return;
|
||||
}
|
||||
const lesson = this.vocabCourseLessons.find((l) => String(l.id) === String(this.selectedVocabLessonId));
|
||||
const lessonLabel = lesson ? `${lesson.lessonNumber}. ${lesson.title}` : this.selectedVocabLessonId;
|
||||
const msg = this.$t('admin.vocabLessonReset.confirm', {
|
||||
lesson: lessonLabel,
|
||||
username: this.selected.username
|
||||
const confirmed = await confirmAction(this, {
|
||||
title: this.$t('admin.vocabLessonReset.confirmTitle'),
|
||||
message: this.$t('admin.vocabLessonReset.confirm', {
|
||||
lesson: lessonLabel,
|
||||
username: this.selected.username
|
||||
})
|
||||
});
|
||||
if (!window.confirm(msg)) {
|
||||
if (!confirmed) {
|
||||
return;
|
||||
}
|
||||
this.runAdminVocabReset();
|
||||
await this.runAdminVocabReset();
|
||||
},
|
||||
async runAdminVocabReset() {
|
||||
this.vocabResetSubmitting = true;
|
||||
@@ -272,19 +276,22 @@ export default {
|
||||
this.vocabResetSubmitting = false;
|
||||
}
|
||||
},
|
||||
adminMarkVocabLessonsThrough() {
|
||||
async adminMarkVocabLessonsThrough() {
|
||||
if (!this.selected || !this.selectedVocabCourseId || !this.canMarkVocabThrough || this.vocabMarkSubmitting) {
|
||||
return;
|
||||
}
|
||||
const n = Number(this.vocabMarkThroughNumber);
|
||||
const msg = this.$t('admin.vocabLessonMarkComplete.confirm', {
|
||||
n,
|
||||
username: this.selected.username
|
||||
const confirmed = await confirmAction(this, {
|
||||
title: this.$t('admin.vocabLessonMarkComplete.confirmTitle'),
|
||||
message: this.$t('admin.vocabLessonMarkComplete.confirm', {
|
||||
n,
|
||||
username: this.selected.username
|
||||
})
|
||||
});
|
||||
if (!window.confirm(msg)) {
|
||||
if (!confirmed) {
|
||||
return;
|
||||
}
|
||||
this.runAdminVocabMarkThrough();
|
||||
await this.runAdminVocabMarkThrough();
|
||||
},
|
||||
async runAdminVocabMarkThrough() {
|
||||
this.vocabMarkSubmitting = true;
|
||||
|
||||
Reference in New Issue
Block a user