feat(vocab): add dashboard learning summary and related endpoints
All checks were successful
Deploy to production / deploy (push) Successful in 2m52s
All checks were successful
Deploy to production / deploy (push) Successful in 2m52s
- Introduced `getDashboardLearningSummary` method in `VocabService` to provide a compact overview of enrolled courses and current lessons for users. - Updated `vocabController` to include a new route for the dashboard widget, allowing users to access their learning summary. - Enhanced `vocabRouter` to route requests for the new dashboard widget endpoint. - Added localization support for the new dashboard features across multiple languages, improving user engagement and accessibility. - Updated UI components to integrate the new dashboard widget, ensuring a seamless user experience.
This commit is contained in:
@@ -433,7 +433,28 @@
|
||||
"bookmarkCandidate": "Timan-i kining kandidatura",
|
||||
"voteError": "Sayop sa paghatag sa boto",
|
||||
"voteAllError": "Sayop sa paghatag sa mga boto",
|
||||
"applyError": "Dili mapadala ang aplikasyon."
|
||||
"applyError": "Dili mapadala ang aplikasyon.",
|
||||
"benefits": {
|
||||
"daily_salary": "Adlaw-adlaw nga suhol (usa ra kada adlaw): mga {amount}",
|
||||
"tax_exemption": "Wa’y buhis: {regions}",
|
||||
"tax_exemption_all": "Wa’y buhis: tanang lebel sa rehiyon",
|
||||
"generic": "Benepisyo ({code})"
|
||||
},
|
||||
"regionLevels": {
|
||||
"city": "Siyudad",
|
||||
"county": "County",
|
||||
"shire": "Shire",
|
||||
"markgrave": "Margravate",
|
||||
"duchy": "Duchy",
|
||||
"country": "Nasud"
|
||||
},
|
||||
"current": {
|
||||
"benefit": "Benepisyo",
|
||||
"benefit_all": "Tanang rehiyon",
|
||||
"holder": "Tag-iya",
|
||||
"none": "Walay karon nga posisyon.",
|
||||
"termEnds": "Matapos sa"
|
||||
}
|
||||
},
|
||||
"family": {
|
||||
"title": "Pamilya",
|
||||
|
||||
@@ -81,6 +81,16 @@
|
||||
},
|
||||
"falukant": {
|
||||
"emptyValue": "—"
|
||||
},
|
||||
"vocabCourses": {
|
||||
"empty": "Wala ka pa nakasulod sa bisan unsang kurso sa bokabularyo.",
|
||||
"browseCourses": "Tan-awa ang mga kurso",
|
||||
"unnamedCourse": "Kurso nga walay titulo",
|
||||
"lessonLine": "Leksyon #{number}: {title}",
|
||||
"noLessons": "Walay mga leksyon niini nga kurso.",
|
||||
"allDone": "Natapos na ang tanang leksyon",
|
||||
"openLesson": "Adto sa leksyon",
|
||||
"openCourse": "Ablihi ang kurso"
|
||||
}
|
||||
},
|
||||
"gender": {
|
||||
|
||||
@@ -23,7 +23,8 @@
|
||||
"news": "Balita",
|
||||
"birthdays": "Mga adlawng natawhan",
|
||||
"upcoming": "Umaabot nga mga appointment",
|
||||
"calendar": "Kalendaryo"
|
||||
"calendar": "Kalendaryo",
|
||||
"vocabCourses": "Mga kurso sa pinulongan"
|
||||
},
|
||||
"overview": {
|
||||
"activeWidgetsLabel": "Aktibong mga widget",
|
||||
|
||||
@@ -1353,6 +1353,20 @@
|
||||
"voteError": "Fehler beim Abgeben der Stimme",
|
||||
"voteAllError": "Fehler beim Abgeben der Stimmen",
|
||||
"applyError": "Bewerbung konnte nicht eingereicht werden.",
|
||||
"benefits": {
|
||||
"daily_salary": "Tagesamtshonorar (einmal pro Tag): ca. {amount}",
|
||||
"tax_exemption": "Steuerbefreiung: {regions}",
|
||||
"tax_exemption_all": "Steuerbefreiung: alle Regionsebenen",
|
||||
"generic": "Vorteil ({code})"
|
||||
},
|
||||
"regionLevels": {
|
||||
"city": "Stadt",
|
||||
"county": "Landkreis",
|
||||
"shire": "Grafschaft",
|
||||
"markgrave": "Markgrafschaft",
|
||||
"duchy": "Herzogtum",
|
||||
"country": "Land"
|
||||
},
|
||||
"current": {
|
||||
"office": "Amt",
|
||||
"region": "Region",
|
||||
|
||||
@@ -92,6 +92,16 @@
|
||||
},
|
||||
"falukant": {
|
||||
"emptyValue": "—"
|
||||
},
|
||||
"vocabCourses": {
|
||||
"empty": "Du bist derzeit in keinem Vokabelkurs eingeschrieben.",
|
||||
"browseCourses": "Kurse entdecken",
|
||||
"unnamedCourse": "Kurs ohne Titel",
|
||||
"lessonLine": "Lektion #{number}: {title}",
|
||||
"noLessons": "Noch keine Lektionen in diesem Kurs.",
|
||||
"allDone": "Alle Lektionen absolviert",
|
||||
"openLesson": "Zur Lektion",
|
||||
"openCourse": "Zum Kurs"
|
||||
}
|
||||
},
|
||||
"gender": {
|
||||
|
||||
@@ -23,7 +23,8 @@
|
||||
"news": "News",
|
||||
"birthdays": "Geburtstage",
|
||||
"upcoming": "Nächste Termine",
|
||||
"calendar": "Kalender"
|
||||
"calendar": "Kalender",
|
||||
"vocabCourses": "Sprachkurse"
|
||||
},
|
||||
"overview": {
|
||||
"activeWidgetsLabel": "Aktive Widgets",
|
||||
|
||||
@@ -574,6 +574,20 @@
|
||||
"voteError": "Error while submitting the vote",
|
||||
"voteAllError": "Error while submitting the votes",
|
||||
"applyError": "Application could not be submitted.",
|
||||
"benefits": {
|
||||
"daily_salary": "Daily office stipend (once per day): about {amount}",
|
||||
"tax_exemption": "Tax exemption: {regions}",
|
||||
"tax_exemption_all": "Tax exemption: all regional levels",
|
||||
"generic": "Benefit ({code})"
|
||||
},
|
||||
"regionLevels": {
|
||||
"city": "City",
|
||||
"county": "County",
|
||||
"shire": "Shire",
|
||||
"markgrave": "Margravate",
|
||||
"duchy": "Duchy",
|
||||
"country": "Country"
|
||||
},
|
||||
"current": {
|
||||
"office": "Office",
|
||||
"region": "Region",
|
||||
|
||||
@@ -92,6 +92,16 @@
|
||||
},
|
||||
"falukant": {
|
||||
"emptyValue": "—"
|
||||
},
|
||||
"vocabCourses": {
|
||||
"empty": "You are not enrolled in any vocabulary course yet.",
|
||||
"browseCourses": "Browse courses",
|
||||
"unnamedCourse": "Untitled course",
|
||||
"lessonLine": "Lesson #{number}: {title}",
|
||||
"noLessons": "No lessons in this course yet.",
|
||||
"allDone": "All lessons completed",
|
||||
"openLesson": "Go to lesson",
|
||||
"openCourse": "Open course"
|
||||
}
|
||||
},
|
||||
"gender": {
|
||||
|
||||
@@ -23,7 +23,8 @@
|
||||
"news": "News",
|
||||
"birthdays": "Birthdays",
|
||||
"upcoming": "Upcoming appointments",
|
||||
"calendar": "Calendar"
|
||||
"calendar": "Calendar",
|
||||
"vocabCourses": "Language courses"
|
||||
},
|
||||
"overview": {
|
||||
"activeWidgetsLabel": "Active widgets",
|
||||
|
||||
@@ -1261,6 +1261,20 @@
|
||||
"upcoming": "Cargos pendientes de (re)elección",
|
||||
"elections": "Elecciones"
|
||||
},
|
||||
"benefits": {
|
||||
"daily_salary": "Estipendio diario (una vez al día): unos {amount}",
|
||||
"tax_exemption": "Exención fiscal: {regions}",
|
||||
"tax_exemption_all": "Exención fiscal: todos los niveles regionales",
|
||||
"generic": "Ventaja ({code})"
|
||||
},
|
||||
"regionLevels": {
|
||||
"city": "Ciudad",
|
||||
"county": "Condado",
|
||||
"shire": "Condado (shire)",
|
||||
"markgrave": "Margraviato",
|
||||
"duchy": "Ducado",
|
||||
"country": "País"
|
||||
},
|
||||
"current": {
|
||||
"office": "Cargo",
|
||||
"region": "Región",
|
||||
|
||||
@@ -92,6 +92,16 @@
|
||||
},
|
||||
"falukant": {
|
||||
"emptyValue": "—"
|
||||
},
|
||||
"vocabCourses": {
|
||||
"empty": "Aún no estás inscrito en ningún curso de vocabulario.",
|
||||
"browseCourses": "Ver cursos",
|
||||
"unnamedCourse": "Curso sin título",
|
||||
"lessonLine": "Lección n.º {number}: {title}",
|
||||
"noLessons": "Este curso aún no tiene lecciones.",
|
||||
"allDone": "Todas las lecciones completadas",
|
||||
"openLesson": "Ir a la lección",
|
||||
"openCourse": "Abrir curso"
|
||||
}
|
||||
},
|
||||
"gender": {
|
||||
|
||||
@@ -23,7 +23,8 @@
|
||||
"news": "Noticias",
|
||||
"birthdays": "Cumpleaños",
|
||||
"upcoming": "Próximas citas",
|
||||
"calendar": "Calendario"
|
||||
"calendar": "Calendario",
|
||||
"vocabCourses": "Cursos de idiomas"
|
||||
},
|
||||
"overview": {
|
||||
"activeWidgetsLabel": "Widgets activos",
|
||||
|
||||
Reference in New Issue
Block a user