From 41fd729271abed397a73ff39cbb4dfdd4de763c8 Mon Sep 17 00:00:00 2001 From: Adrian Kuta Date: Thu, 4 Sep 2025 14:09:59 +0200 Subject: [PATCH] feat: Display "Continue" button after answer selection and hide timer This commit modifies the `QuizScreen` to show a "Continue" button once an answer is selected for the current question. The timer bar is hidden when an answer is chosen. Key changes: - **UI Layer (`ui:quiz` module):** - In `QuizScreen.kt`: - Conditionally display either the `TimerBar` or a `FilledTonalButton` with the text "Continue" based on whether `uiState.answer` is null. - The "Continue" button is styled with a grey background and black text. - Added a new string resource `continue_text` in `ui/quiz/src/main/res/values/strings.xml`. --- .../kahootquiz/ui/quiz/QuizScreen.kt | 28 +++++++++++++++---- ui/quiz/src/main/res/values/strings.xml | 1 + 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/ui/quiz/src/main/kotlin/dev/adriankuta/kahootquiz/ui/quiz/QuizScreen.kt b/ui/quiz/src/main/kotlin/dev/adriankuta/kahootquiz/ui/quiz/QuizScreen.kt index 53796ad..2b49d52 100644 --- a/ui/quiz/src/main/kotlin/dev/adriankuta/kahootquiz/ui/quiz/QuizScreen.kt +++ b/ui/quiz/src/main/kotlin/dev/adriankuta/kahootquiz/ui/quiz/QuizScreen.kt @@ -24,6 +24,8 @@ import androidx.compose.foundation.lazy.grid.GridCells import androidx.compose.foundation.lazy.grid.LazyVerticalGrid import androidx.compose.foundation.lazy.grid.itemsIndexed import androidx.compose.foundation.shape.RoundedCornerShape +import androidx.compose.material3.ButtonDefaults +import androidx.compose.material3.FilledTonalButton import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.getValue @@ -109,11 +111,27 @@ private fun QuizScreen( onSelect = onSelect, ) // Timer below choices - TimerBar( - totalSeconds = uiState.totalTimeSeconds, - remainingSeconds = uiState.remainingTimeSeconds, - modifier = Modifier.padding(8.dp), - ) + if (uiState.answer == null) { + TimerBar( + totalSeconds = uiState.totalTimeSeconds, + remainingSeconds = uiState.remainingTimeSeconds, + modifier = Modifier.padding(8.dp), + ) + } else { + FilledTonalButton( + onClick = {}, + modifier = Modifier.align(Alignment.CenterHorizontally), + colors = ButtonDefaults.filledTonalButtonColors().copy( + containerColor = Grey, + contentColor = Color.Black + ), + shape = RoundedCornerShape(4.dp), + ) { + Text( + text = stringResource(R.string.continue_text), + ) + } + } } } } diff --git a/ui/quiz/src/main/res/values/strings.xml b/ui/quiz/src/main/res/values/strings.xml index 090fa8c..210bd13 100644 --- a/ui/quiz/src/main/res/values/strings.xml +++ b/ui/quiz/src/main/res/values/strings.xml @@ -1,4 +1,5 @@ Quiz + Continue \ No newline at end of file