From a0b65093676b0f61936ae96092fa63b9363c5d34 Mon Sep 17 00:00:00 2001 From: jonasgaudian <43753916+jonasgaudian@users.noreply.github.com> Date: Tue, 17 Feb 2026 13:30:03 +0100 Subject: [PATCH] update `LanguageChip` icon, enable default shuffling in `ExerciseConfig`, and refine `onClose` navigation in `VocabularyExerciseHostScreen` --- .../translator/view/exercises/StartExerciseScreen.kt | 2 +- .../view/vocabulary/VocabularyExerciseHostScreen.kt | 8 +++++++- .../translator/viewmodel/VocabularyExerciseViewModel.kt | 4 ++-- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/eu/gaudian/translator/view/exercises/StartExerciseScreen.kt b/app/src/main/java/eu/gaudian/translator/view/exercises/StartExerciseScreen.kt index 46fedb9..5f00857 100644 --- a/app/src/main/java/eu/gaudian/translator/view/exercises/StartExerciseScreen.kt +++ b/app/src/main/java/eu/gaudian/translator/view/exercises/StartExerciseScreen.kt @@ -406,7 +406,7 @@ fun LanguagePairSection( availablePairs.forEach { pair -> val isSelected = selectedPairs.contains(pair) LanguageChip( - text = "${pair.first.name} → ${pair.second.name}", + text = "${pair.first.name} ⇄ ${pair.second.name}", isSelected = isSelected, modifier = Modifier.widthIn(min = 160.dp), onClick = { diff --git a/app/src/main/java/eu/gaudian/translator/view/vocabulary/VocabularyExerciseHostScreen.kt b/app/src/main/java/eu/gaudian/translator/view/vocabulary/VocabularyExerciseHostScreen.kt index 3ed283c..95e7864 100644 --- a/app/src/main/java/eu/gaudian/translator/view/vocabulary/VocabularyExerciseHostScreen.kt +++ b/app/src/main/java/eu/gaudian/translator/view/vocabulary/VocabularyExerciseHostScreen.kt @@ -30,6 +30,7 @@ import eu.gaudian.translator.R import eu.gaudian.translator.utils.Log import eu.gaudian.translator.utils.findActivity import eu.gaudian.translator.view.composable.AppAlertDialog +import eu.gaudian.translator.view.composable.Screen import eu.gaudian.translator.viewmodel.ScreenState import eu.gaudian.translator.viewmodel.VocabularyExerciseViewModel import eu.gaudian.translator.viewmodel.VocabularyViewModel @@ -148,7 +149,12 @@ fun VocabularyExerciseHostScreen( onRetryWrong = { _ -> exerciseViewModel.retryWrongAnswers(originalItems) }, - onClose = onClose + onClose = { + navController.navigate(Screen.Home.route) { + popUpTo(Screen.Home.route) { inclusive = true } + launchSingleTop = true + } + } ) } } diff --git a/app/src/main/java/eu/gaudian/translator/viewmodel/VocabularyExerciseViewModel.kt b/app/src/main/java/eu/gaudian/translator/viewmodel/VocabularyExerciseViewModel.kt index 467dc0c..8c0a5ab 100644 --- a/app/src/main/java/eu/gaudian/translator/viewmodel/VocabularyExerciseViewModel.kt +++ b/app/src/main/java/eu/gaudian/translator/viewmodel/VocabularyExerciseViewModel.kt @@ -31,8 +31,8 @@ enum class ScreenState { } data class ExerciseConfig( - val shuffleCards: Boolean = false, - val shuffleLanguages: Boolean = false, + val shuffleCards: Boolean = true, + val shuffleLanguages: Boolean = true, val trainingMode: Boolean = false, val dueTodayOnly: Boolean = false, val selectedExerciseTypes: Set = setOf(VocabularyExerciseType.GUESSING),