From b22cee99e94d3e7b89194bb18f05576788a84414 Mon Sep 17 00:00:00 2001 From: Renaud BEURET Date: Tue, 2 Apr 2024 15:15:12 +0200 Subject: [PATCH] [FIX] Vues utilisent correctement ViewModels avec repo --- .../java/fr/iut/sciencequest/view/games/Kahoot.kt | 15 +++++++++++---- .../java/fr/iut/sciencequest/view/games/Pendu.kt | 2 +- .../view/scientifiques/ScientifiqueListeScreen.kt | 2 +- 3 files changed, 13 insertions(+), 6 deletions(-) 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..faf4d9f 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 @@ -10,6 +10,7 @@ import androidx.compose.foundation.lazy.grid.LazyVerticalGrid import androidx.compose.material3.Button import androidx.compose.material3.Text import androidx.compose.runtime.Composable +import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.collectAsState import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier @@ -21,17 +22,23 @@ import androidx.compose.ui.unit.dp import androidx.lifecycle.viewmodel.compose.viewModel import fr.iut.sciencequest.R import fr.iut.sciencequest.ViewModels.KahootViewModel +import fr.iut.sciencequest.model.dto.extensions.ToModel import fr.iut.sciencequest.model.dto.question.QuestionWithSimpleResponseDTO import fr.iut.sciencequest.model.dto.reponse.ReponseSimpleDTO +import fr.iut.sciencequest.model.metier.question.QuestionWithSimpleReponse +import fr.iut.sciencequest.model.metier.reponse.ReponseSimple import fr.iut.sciencequest.stub.StubQuestionWithReponses import fr.iut.sciencequest.view.TopBar import java.util.Timer @Composable -fun KahootScreen(viewModel: KahootViewModel = viewModel(), +fun KahootScreen(viewModel: KahootViewModel = viewModel(factory = KahootViewModel.Factory), goToAccount: () -> Unit, goToHome: () -> Unit) { val state = viewModel.uiState.collectAsState() + LaunchedEffect(key1 = Unit) { + viewModel.lancerPartie() + } Column(modifier = Modifier.fillMaxWidth()) { TopBar(goToAccount, goToHome, stringResource(id = R.string.kahoot)) KahootPlayer(state.value.question) { @@ -51,12 +58,12 @@ fun KahootScreenPreview(){ @Composable fun KahootPlayerPreview(){ val i = 0 - KahootPlayer(question = StubQuestionWithReponses) {} + KahootPlayer(question = StubQuestionWithReponses.ToModel()) {} } @Composable -fun KahootPlayer(question: QuestionWithSimpleResponseDTO, +fun KahootPlayer(question: QuestionWithSimpleReponse, sendReponse: (Long) -> Unit){ val context = LocalContext.current; val currTime = System.currentTimeMillis() @@ -71,7 +78,7 @@ fun KahootPlayer(question: QuestionWithSimpleResponseDTO, @Composable -fun KahootReponses(reponses : List, action: (ReponseSimpleDTO)->Unit) { +fun KahootReponses(reponses : List, action: (ReponseSimple)->Unit) { LazyVerticalGrid(columns = GridCells.Fixed(2), contentPadding = PaddingValues(12.dp), verticalArrangement = Arrangement.spacedBy(10.dp), 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..975aad9 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 @@ -23,7 +23,7 @@ import fr.iut.sciencequest.ViewModels.PenduViewModel import fr.iut.sciencequest.view.TopBar @Composable -fun PenduScreen(viewModel: PenduViewModel = viewModel(), +fun PenduScreen(viewModel: PenduViewModel = viewModel(factory = PenduViewModel.Factory), goToAccount: () -> Unit, goToHome: () -> Unit) { val state = viewModel.uiState.collectAsState() diff --git a/android/app/src/main/java/fr/iut/sciencequest/view/scientifiques/ScientifiqueListeScreen.kt b/android/app/src/main/java/fr/iut/sciencequest/view/scientifiques/ScientifiqueListeScreen.kt index 9cec033..089fe0a 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/view/scientifiques/ScientifiqueListeScreen.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/view/scientifiques/ScientifiqueListeScreen.kt @@ -17,7 +17,7 @@ import fr.iut.sciencequest.stub.getScientifiqueListeStub import fr.iut.sciencequest.view.TopBar @Composable -fun scientifiqueListeScreen(viewModel: ScientifiquesDecouvertsVM = viewModel(), +fun scientifiqueListeScreen(viewModel: ScientifiquesDecouvertsVM = viewModel(factory = ScientifiquesDecouvertsVM.Factory), goToAccount: () -> Unit, goToHome: () -> Unit) { val liste by viewModel.listeScientifique.collectAsState()