diff --git a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/navigations/AppNavigator.kt b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/navigations/AppNavigator.kt index 8b4f148..5925767 100644 --- a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/navigations/AppNavigator.kt +++ b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/navigations/AppNavigator.kt @@ -103,16 +103,16 @@ fun AppNavigator() { } composable { - val accueil: Accueil = it.toRoute() + //val accueil: Accueil = it.toRoute() AccueilPage( - navFavorite = { navController.navigate(Favorite(accueil.userIndex)) }, - navQuiz = { navController.navigate(QuizMenu(accueil.userIndex)) }, - navProfil = { navController.navigate(Profil(accueil.userIndex)) }, + navFavorite = { navController.navigate(Favorite(currentUserState.id)) }, + navQuiz = { navController.navigate(QuizMenu(currentUserState.id)) }, + navProfil = { navController.navigate(Profil(currentUserState.id)) }, navQuote = { quoteId -> navController.navigate( OneQuote( quoteId, - accueil.userIndex + currentUserState.id ) ) }, @@ -122,17 +122,16 @@ fun AppNavigator() { ) } composable { - val favorite: Favorite = it.toRoute() + //val favorite: Favorite = it.toRoute() FavoritePage( - index = favorite.userIndex, - navAccueil = { navController.navigate(Accueil(favorite.userIndex)) }, - navQuiz = { navController.navigate(QuizMenu(favorite.userIndex)) }, - navProfil = { navController.navigate(Profil(favorite.userIndex)) }, + navAccueil = { navController.navigate(Accueil(currentUserState.id)) }, + navQuiz = { navController.navigate(QuizMenu(currentUserState.id)) }, + navProfil = { navController.navigate(Profil(currentUserState.id)) }, navQuote = { quoteId -> navController.navigate( OneQuote( quoteId, - favorite.userIndex + currentUserState.id ) ) }, @@ -144,10 +143,10 @@ fun AppNavigator() { composable { val profil: Profil = it.toRoute() ProfilPage( - navFavorite = { navController.navigate(Favorite(profil.userIndex)) }, - navAccueil = { navController.navigate(Accueil(profil.userIndex)) }, - navQuiz = { navController.navigate(QuizMenu(profil.userIndex)) }, - navSubmitQuote = { navController.navigate(SubmitQuote(profil.userIndex)) }, + navFavorite = { navController.navigate(Favorite(currentUserState.id)) }, + navAccueil = { navController.navigate(Accueil(currentUserState.id)) }, + navQuiz = { navController.navigate(QuizMenu(currentUserState.id)) }, + navSubmitQuote = { navController.navigate(SubmitQuote(currentUserState.id)) }, navUnLog = { navController.navigate(Login) { popUpTo(profil) { inclusive = true } @@ -161,11 +160,10 @@ fun AppNavigator() { val quote: OneQuote = it.toRoute() QuotePage( quoteId = quote.quoteId, - index = quote.userIndex, - navAccueil = { navController.navigate(Accueil(quote.userIndex)) }, - navQuiz = { navController.navigate(QuizMenu(quote.userIndex)) }, - navProfil = { navController.navigate(Profil(quote.userIndex)) }, - navFavorite = { navController.navigate(Favorite(quote.userIndex)) }, + navAccueil = { navController.navigate(Accueil(currentUserState.id)) }, + navQuiz = { navController.navigate(QuizMenu(currentUserState.id)) }, + navProfil = { navController.navigate(Profil(currentUserState.id)) }, + navFavorite = { navController.navigate(Favorite(currentUserState.id)) }, service = services, currentUserVM = currentUserVM, currentUserState = currentUserState, @@ -184,19 +182,18 @@ fun AppNavigator() { ) } composable { - val submitQuote: SubmitQuote = it.toRoute() + //val submitQuote: SubmitQuote = it.toRoute() SubmitQuotePage( - index = submitQuote.userIndex, - navAccueil = { navController.navigate(Accueil(submitQuote.userIndex)) }, - navFavorite = { navController.navigate(Favorite(submitQuote.userIndex)) }, - navProfil = { navController.navigate(Profil(submitQuote.userIndex)) }, + navAccueil = { navController.navigate(Accueil(currentUserState.id)) }, + navFavorite = { navController.navigate(Favorite(currentUserState.id)) }, + navProfil = { navController.navigate(Profil(currentUserState.id)) }, navControllerQuiz = { idQuiz -> - navController.navigate(Quiz(submitQuote.userIndex, idQuiz)) + navController.navigate(Quiz(currentUserState.id, idQuiz)) }, navRecap = { quoteContent, character, source -> navController.navigate( RecapSubmit( - submitQuote.userIndex, + currentUserState.id, quoteContent, character, source @@ -210,28 +207,27 @@ fun AppNavigator() { composable { val recapSubmit: RecapSubmit = it.toRoute() RecapSubmitPage( - index = recapSubmit.userIndex, quoteContent = recapSubmit.quoteContent, character = recapSubmit.character, source = recapSubmit.source, - navAccueil = { navController.navigate(Accueil(recapSubmit.userIndex)) }, - navFavorite = { navController.navigate(Favorite(recapSubmit.userIndex)) }, - navProfil = { navController.navigate(Profil(recapSubmit.userIndex)) }, + navAccueil = { navController.navigate(Accueil(currentUserState.id)) }, + navFavorite = { navController.navigate(Favorite(currentUserState.id)) }, + navProfil = { navController.navigate(Profil(currentUserState.id)) }, currentUserVM = currentUserVM, currentUserState = currentUserState, ) } composable { - val quizMenu: QuizMenu = it.toRoute() + //val quizMenu: QuizMenu = it.toRoute() QuizMenu( currentUserVM = currentUserVM, currentUserState = currentUserState, - navAccueil = { navController.navigate(Accueil(quizMenu.userIndex)) }, - navFavorite = { navController.navigate(Favorite(quizMenu.userIndex)) }, - navProfil = { navController.navigate(Profil(quizMenu.userIndex)) }, + navAccueil = { navController.navigate(Accueil(currentUserState.id)) }, + navFavorite = { navController.navigate(Favorite(currentUserState.id)) }, + navProfil = { navController.navigate(Profil(currentUserState.id)) }, navControllerQuiz = { idQuiz -> - navController.navigate(Quiz(quizMenu.userIndex, idQuiz)) + navController.navigate(Quiz(currentUserState.id, idQuiz)) }, ) @@ -239,13 +235,12 @@ fun AppNavigator() { composable { val quiz: Quiz = it.toRoute() QuizPage( - index = quiz.userIndex, - navAccueil = { navController.navigate(Accueil(quiz.userIndex)) }, - navFavorite = { navController.navigate(Favorite(quiz.userIndex)) }, - navProfil = { navController.navigate(Profil(quiz.userIndex)) }, - navQuiz = { navController.navigate(QuizMenu(quiz.userIndex)) }, + navAccueil = { navController.navigate(Accueil(currentUserState.id)) }, + navFavorite = { navController.navigate(Favorite(currentUserState.id)) }, + navProfil = { navController.navigate(Profil(currentUserState.id)) }, + navQuiz = { navController.navigate(QuizMenu(currentUserState.id)) }, navControllerQuizEnd = { idQuiz, pts -> - navController.navigate(QuizEnd(quiz.userIndex, idQuiz, pts)) + navController.navigate(QuizEnd(currentUserState.id, idQuiz, pts)) }, idQuiz = quiz.idQuiz, currentUserVM = currentUserVM, @@ -257,11 +252,10 @@ fun AppNavigator() { QuizEndPage( idQuiz = quizEnd.idQuiz, points = quizEnd.pts, - index = quizEnd.userIndex, - navAccueil = { navController.navigate(Accueil(quizEnd.userIndex)) }, - navFavorite = { navController.navigate(Favorite(quizEnd.userIndex)) }, - navProfil = { navController.navigate(Profil(quizEnd.userIndex)) }, - navQuiz = { navController.navigate(QuizMenu(quizEnd.userIndex)) }, + navAccueil = { navController.navigate(Accueil(currentUserState.id)) }, + navFavorite = { navController.navigate(Favorite(currentUserState.id)) }, + navProfil = { navController.navigate(Profil(currentUserState.id)) }, + navQuiz = { navController.navigate(QuizMenu(currentUserState.id)) }, currentUserVM = currentUserVM, currentUserState = currentUserState, ) diff --git a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/AccueilPage.kt b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/AccueilPage.kt index 0b7016c..779768d 100644 --- a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/AccueilPage.kt +++ b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/AccueilPage.kt @@ -11,7 +11,6 @@ import androidx.compose.material3.Text import androidx.compose.runtime.* import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier -import androidx.compose.ui.graphics.Color import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.unit.dp @@ -22,7 +21,6 @@ import com.example.what_the_fantasy.data.services.IServices import com.example.what_the_fantasy.ui.components.NavBar import com.example.what_the_fantasy.ui.components.QuoteLittle import com.example.what_the_fantasy.ui.states.CurrentUserState -import com.example.what_the_fantasy.ui.theme.colorBackground import com.example.what_the_fantasy.ui.viewModels.CurrentUserViewModel @Composable @@ -36,7 +34,7 @@ fun AccueilPage( currentUserState : CurrentUserState, ) { - var itemCount by remember { mutableStateOf(15) } + var itemCount by remember { mutableIntStateOf(15) } val dailyQuote = DailyQuoteStub.dailyQuote val quotes = services.getAllQuote().take(itemCount) diff --git a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/FavoritePage.kt b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/FavoritePage.kt index 2ec1e50..dab291e 100644 --- a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/FavoritePage.kt +++ b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/FavoritePage.kt @@ -27,7 +27,6 @@ import com.example.what_the_fantasy.ui.viewModels.CurrentUserViewModel @Composable fun FavoritePage( - index: Int, navAccueil: (Int) -> Unit, navQuiz: (Int) -> Unit, navProfil: (Int) -> Unit, @@ -36,7 +35,7 @@ fun FavoritePage( currentUserVM : CurrentUserViewModel, currentUserState : CurrentUserState, ) { - val user = services.getUserById(index) ?: return + val user = services.getUserById(currentUserState.id) ?: return val quotes = services.getFavorite(user) diff --git a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/LoginPage.kt b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/LoginPage.kt index e669129..266364f 100644 --- a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/LoginPage.kt +++ b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/LoginPage.kt @@ -53,8 +53,6 @@ fun LoginPage(navControllerSignUp: () -> Unit, authState : AuthUserState, initialierCurrentUser : (Int) -> Unit) { -// val authUserVM : AuthUserViewModel = viewModel() -// val authState by authUserVM.userState.collectAsState() Box( modifier = Modifier diff --git a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/ProfilPage.kt b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/ProfilPage.kt index a910941..792f0cc 100644 --- a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/ProfilPage.kt +++ b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/ProfilPage.kt @@ -113,7 +113,7 @@ fun ProfilPage(navFavorite: (Int) -> Unit, SpaceHeightComponent(16) ButtonLanguage(R.string.ButtonLanguageprofile, 18, MaterialTheme.colorScheme.background,currentUserVM, currentUserState) SpaceHeightComponent(16) - ButtonUnLog(R.string.ButtonUnlogprofile, 18, navUnLog) + ButtonUnLog(R.string.ButtonUnlogprofile, 18, navUnLog,currentUserVM) @@ -446,14 +446,16 @@ fun DisplayPassword(onEdit: () -> Unit) { } @Composable -fun ButtonUnLog(textResId : Int, size :Int,navController: () -> Unit){ +fun ButtonUnLog(textResId : Int, size :Int,navController: () -> Unit, currentUserVM: CurrentUserViewModel){ val text = stringResource(id = textResId) val logsUser = LogsUsers() //gestion des logs pour les utilisateurs Button( onClick = { + currentUserVM.clearCurrentUser() navController() logsUser.unlogInformationUserConnect("UserUnLog") + }, colors = ButtonDefaults.buttonColors(containerColor = MaterialTheme.colorScheme.background), modifier = Modifier.fillMaxWidth(), diff --git a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/QuizEndPage.kt b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/QuizEndPage.kt index fa27756..4f1fe82 100644 --- a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/QuizEndPage.kt +++ b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/QuizEndPage.kt @@ -30,7 +30,6 @@ val gradient = Brush.linearGradient( fun QuizEndPage( idQuiz: Int, points: Int, - index: Int, navFavorite: (Int) -> Unit, navAccueil: (Int) -> Unit, navProfil:(Int) -> Unit, diff --git a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/QuizPage.kt b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/QuizPage.kt index 2899fa2..0691a47 100644 --- a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/QuizPage.kt +++ b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/QuizPage.kt @@ -24,7 +24,6 @@ import com.example.what_the_fantasy.ui.viewModels.CurrentUserViewModel @Composable fun QuizPage( - index: Int, currentUserVM : CurrentUserViewModel, currentUserState : CurrentUserState, navFavorite: (Int) -> Unit, diff --git a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/QuotePage.kt b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/QuotePage.kt index 11ba5d3..5afde11 100644 --- a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/QuotePage.kt +++ b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/QuotePage.kt @@ -47,7 +47,6 @@ import com.example.what_the_fantasy.ui.viewModels.CurrentUserViewModel fun QuotePage( quoteId : Int, service : IServices, - index : Int, navAccueil: (Int) -> Unit, navFavorite:(Int) -> Unit, navQuiz: (Int) -> Unit, diff --git a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/RecapSubmitPage.kt b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/RecapSubmitPage.kt index fe3404a..a810c22 100644 --- a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/RecapSubmitPage.kt +++ b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/RecapSubmitPage.kt @@ -45,7 +45,6 @@ import com.example.what_the_fantasy.ui.viewModels.CurrentUserViewModel @Composable fun RecapSubmitPage( - index: Int, navFavorite: (Int) -> Unit, navAccueil: (Int) -> Unit, navProfil:(Int) -> Unit, diff --git a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/SubmitQuotePage.kt b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/SubmitQuotePage.kt index 48d9c06..6a532ee 100644 --- a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/SubmitQuotePage.kt +++ b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/screens/SubmitQuotePage.kt @@ -41,7 +41,6 @@ import com.example.what_the_fantasy.ui.viewModels.CurrentUserViewModel @Composable fun SubmitQuotePage( - index: Int, navFavorite: (Int) -> Unit, navAccueil: (Int) -> Unit, navProfil:(Int) -> Unit, @@ -89,7 +88,7 @@ fun SubmitQuotePage( navRecap ) SpaceHeightComponent(20) - BackButton(R.string.titleButtonBack, 12, Color.White,navProfil, index) + BackButton(R.string.titleButtonBack, 12, Color.White,navProfil, currentUserState.id) } } } diff --git a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/viewModels/CurrentUserViewModel.kt b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/viewModels/CurrentUserViewModel.kt index e4fa71b..2085ba2 100644 --- a/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/viewModels/CurrentUserViewModel.kt +++ b/What_The_Fantasy/app/src/main/java/com/example/what_the_fantasy/ui/viewModels/CurrentUserViewModel.kt @@ -2,7 +2,6 @@ package com.example.what_the_fantasy.ui.viewModels import android.util.Log import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope import com.example.what_the_fantasy.data.model.SrcLanguage import com.example.what_the_fantasy.data.services.ServicesStub import com.example.what_the_fantasy.ui.states.CurrentUserState @@ -10,25 +9,12 @@ import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.asStateFlow import kotlinx.coroutines.flow.update -import kotlinx.coroutines.launch class CurrentUserViewModel : ViewModel(){ private val services = ServicesStub() // faire repository qui gère les services Stub et API private val _currentUserState = MutableStateFlow(CurrentUserState()) var currentUserState : StateFlow = _currentUserState.asStateFlow() -// init{ -// viewModelScope.launch { -// services.getUserById(10)?.let { // A changer : renvoie le meme user pour le moment -// setId(it.id) -// setUsername(it.username) -// setEmail(it.email) -// setPassword(it.password) -// setLangue(it.langage) -// setImage(it.imgUrl) -// } -// } -// } fun initialiseCurrentUser(index : Int){ services.getUserById(index)?.let { @@ -39,7 +25,11 @@ class CurrentUserViewModel : ViewModel(){ setLangue(it.langage) setImage(it.imgUrl) } - Log.e("ProfilInit", "${currentUserState.value.id}") + + } + + fun clearCurrentUser(){ + _currentUserState.value = CurrentUserState() } fun setId(id : Int){ @@ -87,9 +77,6 @@ class CurrentUserViewModel : ViewModel(){ fun editPassword(password : String, index : Int){ services.EditPasswd(password, index) - _currentUserState.update { - it.copy(password = password) - } } fun editLangue(index : Int){