correction navigation vers QuotePage en cliquant sur une quoteLittle

pull/45/head^2
brongniart 1 month ago
parent 1bf7a8ca0a
commit 54f2e1741e

@ -37,7 +37,7 @@ data class Quiz(val userIndex: Int, val idQuiz: Int)
data class QuizEnd(val userIndex: Int, val idQuiz: Int, val pts: Int) data class QuizEnd(val userIndex: Int, val idQuiz: Int, val pts: Int)
@Serializable @Serializable
data class Quote(val quoteId: Int, val userIndex: Int) data class OneQuote(val quoteId: Int, val userIndex: Int)
@Serializable @Serializable
data object Search data object Search
@ -76,7 +76,8 @@ fun AppNavigator() {
index = accueil.userIndex, index = accueil.userIndex,
navFavorite = { navController.navigate(Favorite(accueil.userIndex)) }, navFavorite = { navController.navigate(Favorite(accueil.userIndex)) },
navQuiz = { navController.navigate(QuizMenu(accueil.userIndex)) }, navQuiz = { navController.navigate(QuizMenu(accueil.userIndex)) },
navProfil = { navController.navigate(Profil(accueil.userIndex)) } navProfil = { navController.navigate(Profil(accueil.userIndex)) },
navQuote = { quoteId -> navController.navigate(OneQuote(quoteId,accueil.userIndex)) }
) )
} }
composable<Favorite> { composable<Favorite> {
@ -86,6 +87,7 @@ fun AppNavigator() {
navAccueil = { navController.navigate(Accueil(favorite.userIndex)) }, navAccueil = { navController.navigate(Accueil(favorite.userIndex)) },
navQuiz = { navController.navigate(QuizMenu(favorite.userIndex)) }, navQuiz = { navController.navigate(QuizMenu(favorite.userIndex)) },
navProfil = { navController.navigate(Profil(favorite.userIndex)) }, navProfil = { navController.navigate(Profil(favorite.userIndex)) },
navQuote = { quoteId -> navController.navigate(OneQuote(quoteId,favorite.userIndex)) },
services = services services = services
) )
} }
@ -104,8 +106,8 @@ fun AppNavigator() {
services = services services = services
) )
} }
composable<Quote> { composable<OneQuote> {
val quote: Quote = it.toRoute() val quote: OneQuote = it.toRoute()
QuotePage( QuotePage(
quoteId = quote.quoteId, quoteId = quote.quoteId,
index = quote.userIndex, index = quote.userIndex,

@ -1,6 +1,7 @@
package com.example.what_the_fantasy.ui.screens package com.example.what_the_fantasy.ui.screens
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.* import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.items
@ -25,7 +26,8 @@ fun AccueilPage(
index: Int, index: Int,
navFavorite: (Int) -> Unit, navFavorite: (Int) -> Unit,
navQuiz: (Int) -> Unit, navQuiz: (Int) -> Unit,
navProfil: (Int) -> Unit navProfil: (Int) -> Unit,
navQuote: (Int) -> Unit
) { ) {
var itemCount by remember { mutableStateOf(15) } var itemCount by remember { mutableStateOf(15) }
val dailyQuote = DailyQuoteStub.dailyQuote val dailyQuote = DailyQuoteStub.dailyQuote
@ -70,7 +72,11 @@ fun AccueilPage(
) )
} }
items(quotes) { quote -> items(quotes) { quote ->
QuoteLittle(quote) Column(Modifier.clickable {navQuote(quote.id)}
) {
QuoteLittle(quote)
Spacer(modifier = Modifier.height(16.dp))
}
} }
if (itemCount < QuoteStub.allQuotes.size) { if (itemCount < QuoteStub.allQuotes.size) {
item { item {

@ -1,6 +1,7 @@
package com.example.what_the_fantasy.ui.screens package com.example.what_the_fantasy.ui.screens
import androidx.compose.foundation.background import androidx.compose.foundation.background
import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.* import androidx.compose.foundation.layout.*
import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.items import androidx.compose.foundation.lazy.items
@ -16,6 +17,7 @@ import com.example.what_the_fantasy.data.local.FavoriteStub
import com.example.what_the_fantasy.data.services.IServices 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.NavBar
import com.example.what_the_fantasy.ui.components.QuoteLittle import com.example.what_the_fantasy.ui.components.QuoteLittle
import com.example.what_the_fantasy.ui.navigations.OneQuote
import com.example.what_the_fantasy.ui.theme.colorBackground import com.example.what_the_fantasy.ui.theme.colorBackground
@Composable @Composable
@ -24,6 +26,7 @@ fun FavoritePage(
navAccueil: (Int) -> Unit, navAccueil: (Int) -> Unit,
navQuiz: (Int) -> Unit, navQuiz: (Int) -> Unit,
navProfil: (Int) -> Unit, navProfil: (Int) -> Unit,
navQuote: (Int) -> Unit,
services: IServices services: IServices
) { ) {
val user = services.getUserById(index) ?: return val user = services.getUserById(index) ?: return
@ -55,7 +58,11 @@ fun FavoritePage(
) )
} }
items(quotes) { quote -> items(quotes) { quote ->
QuoteLittle(quote) Column (Modifier.clickable { navQuote( quote.id )} ){
QuoteLittle(quote)
Spacer(modifier = Modifier.height(16.dp))
}
} }
} }
} }

@ -44,8 +44,7 @@ fun QuizEndPage(
navProfil:(Int) -> Unit, navProfil:(Int) -> Unit,
navQuiz: (Int) -> Unit, navQuiz: (Int) -> Unit,
) { ) {
NavBar(onQuiz = true, NavBar(index = index,
index = index,
navControllerFavorite = navFavorite, navControllerFavorite = navFavorite,
navControllerAccueil = navAccueil, navControllerAccueil = navAccueil,
navControllerProfil = navProfil, navControllerProfil = navProfil,

@ -61,8 +61,7 @@ fun QuizPage(
if (idCurrentQuestion < questions.size - 1) idCurrentQuestion++ if (idCurrentQuestion < questions.size - 1) idCurrentQuestion++
else navControllerQuizEnd(idQuiz, pts) // Retour menu else navControllerQuizEnd(idQuiz, pts) // Retour menu
} }
NavBar(onQuiz = true, NavBar(index = index,
index = index,
navControllerFavorite = navFavorite, navControllerFavorite = navFavorite,
navControllerAccueil = navAccueil, navControllerAccueil = navAccueil,
navControllerProfil = navProfil, navControllerProfil = navProfil,

Loading…
Cancel
Save