diff --git a/frontend/src/dialogues/socialnetwork/VocabPracticeDialog.vue b/frontend/src/dialogues/socialnetwork/VocabPracticeDialog.vue index 21c9492..1110b15 100644 --- a/frontend/src/dialogues/socialnetwork/VocabPracticeDialog.vue +++ b/frontend/src/dialogues/socialnetwork/VocabPracticeDialog.vue @@ -2,7 +2,7 @@
@@ -112,6 +111,7 @@ export default { data() { return { openParams: null, // { languageId, chapterId } + onClose: null, loading: false, allVocabs: false, simpleMode: false, @@ -168,12 +168,13 @@ export default { }, }, methods: { - open({ languageId, chapterId }) { + open({ languageId, chapterId, onClose = null }) { if (this.autoAdvanceTimer) { clearTimeout(this.autoAdvanceTimer); this.autoAdvanceTimer = null; } this.openParams = { languageId, chapterId }; + this.onClose = typeof onClose === 'function' ? onClose : null; this.allVocabs = false; this.simpleMode = false; this.correctCount = 0; @@ -191,7 +192,12 @@ export default { clearTimeout(this.autoAdvanceTimer); this.autoAdvanceTimer = null; } + const cb = this.onClose; + this.onClose = null; this.$refs.dialog.close(); + try { + if (cb) cb(); + } catch (_) {} }, normalize(s) { return String(s || '') diff --git a/frontend/src/views/social/VocabChapterView.vue b/frontend/src/views/social/VocabChapterView.vue index a40c748..d7cf7cd 100644 --- a/frontend/src/views/social/VocabChapterView.vue +++ b/frontend/src/views/social/VocabChapterView.vue @@ -5,45 +5,47 @@
{{ $t('general.loading') }}
{{ $t('socialnetwork.vocab.notFound') }}
-
- - -
- -
-

{{ $t('socialnetwork.vocab.addVocab') }}

-
- - +
+
+ +
- + +
+

{{ $t('socialnetwork.vocab.addVocab') }}

+
+ + +
+ +
+ +
+ +
{{ $t('socialnetwork.vocab.noVocabs') }}
+ + + + + + + + + + + + + +
{{ $t('socialnetwork.vocab.learningWord') }}{{ $t('socialnetwork.vocab.referenceWord') }}
{{ v.learning }}{{ v.reference }}
- -
- -
{{ $t('socialnetwork.vocab.noVocabs') }}
- - - - - - - - - - - - - -
{{ $t('socialnetwork.vocab.learningWord') }}{{ $t('socialnetwork.vocab.referenceWord') }}
{{ v.learning }}{{ v.reference }}
@@ -61,6 +63,7 @@ export default { return { loading: false, saving: false, + practiceOpen: false, chapter: null, vocabs: [], learning: '', @@ -77,9 +80,13 @@ export default { this.$router.push(`/socialnetwork/vocab/${this.$route.params.languageId}`); }, openPractice() { + this.practiceOpen = true; this.$refs.practiceDialog?.open?.({ languageId: this.$route.params.languageId, chapterId: this.$route.params.chapterId, + onClose: () => { + this.practiceOpen = false; + }, }); }, async load() {