diff --git a/android/app/src/main/java/fr/iut/sciencequest/ViewModels/KahootViewModel.kt b/android/app/src/main/java/fr/iut/sciencequest/ViewModels/KahootViewModel.kt new file mode 100644 index 0000000..84a8a17 --- /dev/null +++ b/android/app/src/main/java/fr/iut/sciencequest/ViewModels/KahootViewModel.kt @@ -0,0 +1,9 @@ +package fr.iut.sciencequest.ViewModels + +import androidx.lifecycle.ViewModel +import fr.iut.sciencequest.ViewModels.UiStates.KahootUIState +import kotlinx.coroutines.flow.MutableStateFlow + +class KahootViewModel: ViewModel() { + var uiState = MutableStateFlow(KahootUIState()) +} \ No newline at end of file diff --git a/android/app/src/main/java/fr/iut/sciencequest/ViewModels/UiStates/KahootUIState.kt b/android/app/src/main/java/fr/iut/sciencequest/ViewModels/UiStates/KahootUIState.kt new file mode 100644 index 0000000..72ebffa --- /dev/null +++ b/android/app/src/main/java/fr/iut/sciencequest/ViewModels/UiStates/KahootUIState.kt @@ -0,0 +1,9 @@ +package fr.iut.sciencequest.ViewModels.UiStates + +import fr.iut.sciencequest.model.dto.question.QuestionWithSimpleResponseDTO +import fr.iut.sciencequest.model.dto.reponse.ReponseSimpleDTO +import fr.iut.sciencequest.stub.StubQuestionWithReponses + +data class KahootUIState ( + val question: QuestionWithSimpleResponseDTO = StubQuestionWithReponses +) \ No newline at end of file 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 376ff10..4968078 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 @@ -24,7 +24,7 @@ fun NavHost(context: Context) { NavHost( modifier = Modifier.fillMaxSize(), navController = navController, - startDestination = "login" + startDestination = "kahoot" ) { composable(route = "home") { HomeScreen( @@ -83,8 +83,7 @@ fun NavHost(context: Context) { }, goToHome = { navController.navigate("home") - }, - StubQuestionWithReponses) + }) } composable(route = "listeScientifiques") { diff --git a/android/app/src/main/java/fr/iut/sciencequest/view/Login.kt b/android/app/src/main/java/fr/iut/sciencequest/view/Login.kt index 2661008..82cd26f 100644 --- a/android/app/src/main/java/fr/iut/sciencequest/view/Login.kt +++ b/android/app/src/main/java/fr/iut/sciencequest/view/Login.kt @@ -14,10 +14,6 @@ import androidx.compose.material3.Text import androidx.compose.material3.TextField import androidx.compose.runtime.Composable import androidx.compose.runtime.collectAsState -import androidx.compose.runtime.getValue -import androidx.compose.runtime.mutableStateOf -import androidx.compose.runtime.remember -import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext 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 e281464..2c8efbe 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.collectAsState import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext @@ -17,24 +18,29 @@ 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.lifecycle.viewmodel.compose.viewModel import fr.iut.sciencequest.R +import fr.iut.sciencequest.ViewModels.KahootViewModel 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 @Composable -fun KahootScreen(goToAccount: () -> Unit, goToHome: () -> Unit, question: QuestionWithSimpleResponseDTO) { +fun KahootScreen(viewModel: KahootViewModel = viewModel(), + goToAccount: () -> Unit, + goToHome: () -> Unit) { + val state = viewModel.uiState.collectAsState() Column(modifier = Modifier.fillMaxWidth()) { TopBar(goToAccount, goToHome, stringResource(id = R.string.kahoot)) - KahootPlayer(question) + KahootPlayer(state.value.question) } } @Preview @Composable fun KahootScreenPreview(){ - KahootScreen(goToAccount = {}, goToHome = {}, StubQuestionWithReponses) + KahootScreen(goToAccount = {}, goToHome = {}) }