pull/51/head
Leni BEAULATON 3 weeks ago
parent c813196555
commit 60ec8300f4

@ -103,16 +103,16 @@ fun AppNavigator() {
}
composable<Accueil> {
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<Favorite> {
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<Profil> {
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<SubmitQuote> {
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<RecapSubmit> {
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<QuizMenu> {
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<Quiz> {
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,
)

@ -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)

@ -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)

@ -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

@ -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(),

@ -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,

@ -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,

@ -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,

@ -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,

@ -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)
}
}
}

@ -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> = _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){

Loading…
Cancel
Save