From fe4e875c93eead82b63ec01fb22b6d0aaeb00a9b Mon Sep 17 00:00:00 2001 From: libreton Date: Tue, 2 Apr 2024 15:01:38 +0200 Subject: [PATCH] fix --- .../fr/iut/sciencequest/navigation/NavHost.kt | 13 ++++--- .../fr/iut/sciencequest/view/games/Kahoot.kt | 16 +++++--- .../fr/iut/sciencequest/view/games/Pendu.kt | 37 ++++++++++++++----- 3 files changed, 47 insertions(+), 19 deletions(-) diff --git a/android/app/src/main/java/fr/iut/sciencequest/navigation/NavHost.kt b/android/app/src/main/java/fr/iut/sciencequest/navigation/NavHost.kt index 6e266a8..dc66149 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/navigation/NavHost.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/navigation/NavHost.kt @@ -21,7 +21,7 @@ import fr.iut.sciencequest.view.scientifiques.scientifiqueListeScreen @Composable -fun NavHost(kahotVM: KahootViewModel = viewModel()) { +fun NavHost(kahootVM: KahootViewModel = viewModel()) { val navController = rememberNavController() NavHost( modifier = Modifier.fillMaxSize(), @@ -40,7 +40,7 @@ fun NavHost(kahotVM: KahootViewModel = viewModel()) { navController.navigate("pendu") }, goToKahoot = { - kahotVM.lancerPartie() + kahootVM.lancerPartie() navController.navigate("kahoot") } ) @@ -80,17 +80,20 @@ fun NavHost(kahotVM: KahootViewModel = viewModel()) { } composable(route= "kahoot"){ - KahootScreen( goToAccount = { + KahootScreen( + goToAccount = { navController.navigate("account") }, goToHome = { navController.navigate("home") }, - viewModel = kahotVM) + viewModel = kahootVM + ) } composable(route = "listeScientifiques") { - scientifiqueListeScreen(goToAccount = { + scientifiqueListeScreen( + goToAccount = { navController.navigate("account") }, goToHome = { diff --git a/android/app/src/main/java/fr/iut/sciencequest/view/games/Kahoot.kt b/android/app/src/main/java/fr/iut/sciencequest/view/games/Kahoot.kt index 8632270..3ab141e 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/view/games/Kahoot.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/view/games/Kahoot.kt @@ -4,6 +4,7 @@ import android.widget.Toast import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.PaddingValues +import androidx.compose.foundation.layout.fillMaxHeight import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.lazy.grid.GridCells import androidx.compose.foundation.lazy.grid.LazyVerticalGrid @@ -18,6 +19,7 @@ import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp import androidx.lifecycle.viewmodel.compose.viewModel import fr.iut.sciencequest.R import fr.iut.sciencequest.ViewModels.KahootViewModel @@ -25,7 +27,6 @@ import fr.iut.sciencequest.model.dto.question.QuestionWithSimpleResponseDTO import fr.iut.sciencequest.model.dto.reponse.ReponseSimpleDTO import fr.iut.sciencequest.stub.StubQuestionWithReponses import fr.iut.sciencequest.view.TopBar -import java.util.Timer @Composable fun KahootScreen(viewModel: KahootViewModel = viewModel(), @@ -34,6 +35,7 @@ fun KahootScreen(viewModel: KahootViewModel = viewModel(), val state = viewModel.uiState.collectAsState() Column(modifier = Modifier.fillMaxWidth()) { TopBar(goToAccount, goToHome, stringResource(id = R.string.kahoot)) + KahootPlayer(state.value.question) { viewModel.ajouterPoints(it) } @@ -57,13 +59,17 @@ fun KahootPlayerPreview(){ @Composable fun KahootPlayer(question: QuestionWithSimpleResponseDTO, - sendReponse: (Long) -> Unit){ + sendResponse: (Long) -> Unit){ val context = LocalContext.current; val currTime = System.currentTimeMillis() - Column (horizontalAlignment = Alignment.CenterHorizontally){ + Column ( + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.SpaceEvenly, + modifier = Modifier.fillMaxHeight() + ) { KahootQuestion(question = question.question) KahootReponses(reponses = question.reponses) { - sendReponse(currTime - System.currentTimeMillis()) + sendResponse(currTime - System.currentTimeMillis()) Toast.makeText(context, it.reponse, Toast.LENGTH_SHORT).show() } } @@ -88,5 +94,5 @@ fun KahootReponses(reponses : List, action: (ReponseSimpleDTO) @Composable fun KahootQuestion(question: String){ - Text(question, textAlign = TextAlign.Center) + Text(question, textAlign = TextAlign.Center, fontSize = 20.sp) } \ No newline at end of file diff --git a/android/app/src/main/java/fr/iut/sciencequest/view/games/Pendu.kt b/android/app/src/main/java/fr/iut/sciencequest/view/games/Pendu.kt index 0ead09d..30a3618 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/view/games/Pendu.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/view/games/Pendu.kt @@ -2,10 +2,16 @@ package fr.iut.sciencequest.view.games import android.content.Context import android.widget.Toast +import androidx.compose.foundation.interaction.MutableInteractionSource +import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.Row +import androidx.compose.foundation.layout.fillMaxHeight +import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.fillMaxWidth +import androidx.compose.foundation.layout.height import androidx.compose.foundation.layout.padding +import androidx.compose.foundation.text.KeyboardActions import androidx.compose.material3.Button import androidx.compose.material3.Text import androidx.compose.material3.TextField @@ -15,8 +21,11 @@ import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.stringResource +import androidx.compose.ui.text.input.VisualTransformation import androidx.compose.ui.tooling.preview.Preview +import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp +import androidx.compose.ui.unit.sp import androidx.lifecycle.viewmodel.compose.viewModel import fr.iut.sciencequest.R import fr.iut.sciencequest.ViewModels.PenduViewModel @@ -25,23 +34,33 @@ import fr.iut.sciencequest.view.TopBar @Composable fun PenduScreen(viewModel: PenduViewModel = viewModel(), goToAccount: () -> Unit, - goToHome: () -> Unit) { + goToHome: () -> Unit +) { val state = viewModel.uiState.collectAsState() val context = LocalContext.current; Column(modifier = Modifier.fillMaxWidth()) { TopBar(goToAccount, goToHome, stringResource(id = R.string.pendu)) //Text(text = stringResource(id = R.string.pendu), modifier = Modifier.padding(top=10.dp)) - Column(modifier = Modifier.align(Alignment.CenterHorizontally)) - { - Text(text = state.value.motATrou) - TextField(value = "", - onValueChange = { onLetterEntered(it, viewModel, context, goToHome) }, - modifier = Modifier.padding(20.dp)) - afficherVies(state.value.nbViesRestantes) + Column( + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.SpaceAround, + modifier = Modifier.fillMaxSize() + ) { + Text(text = state.value.motATrou, fontSize = 20.sp) + Column( + horizontalAlignment = Alignment.CenterHorizontally, + verticalArrangement = Arrangement.SpaceBetween, + ) { + TextField(value = "", + onValueChange = { onLetterEntered(it, viewModel, context, goToHome) }, + modifier = Modifier.padding(20.dp), + ) + afficherVies(state.value.nbViesRestantes) + Text("Lettres utilisées: " + state.value.lettresUtilises) + } Button(onClick = { viewModel.InitPartie() }) { Text(text = stringResource(id = R.string.reset_game)) } - Text("Lettres utilisées: " + state.value.lettresUtilises) } } }