@ -5,12 +5,13 @@ import androidx.compose.foundation.border
import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.fillMaxWidth
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.shape.RoundedCornerShape
import androidx.compose.material.icons.Icons
import androidx.compose.material.icons. filled.ArrowBack
import androidx.compose.material.icons. automirrored. filled.ArrowBack
import androidx.compose.material.icons.filled.Menu
import androidx.compose.material3.CenterAlignedTopAppBar
import androidx.compose.material3.DropdownMenu
@ -32,18 +33,25 @@ import androidx.compose.ui.text.TextStyle
import androidx.compose.ui.text.style.TextAlign
import androidx.compose.ui.unit.dp
import androidx.compose.ui.unit.sp
import androidx.navigation.compose.currentBackStackEntryAsState
import androidx.navigation.compose.rememberNavController
import com.example.veraxapplication.R
import com.example.veraxapplication.modele.articles.Article
import com.example.veraxapplication. ui.article.AffichageLesArticles
import com.example.veraxapplication. navigation.VeraxNavHost
import com.example.veraxapplication.ui.theme.Orange
@OptIn ( ExperimentalMaterial3Api :: class )
@Composable
fun TopBarVerax ( theme : List < String > , articles : List < Article > ) {
fun TopBarVerax ( theme : List < String > , articles : List < Article > , articlesStub : List < Article > ) {
var leMenu by remember {
mutableStateOf ( false )
}
Row ( ) {
val navController = rememberNavController ( )
val navBackStackEntry by navController . currentBackStackEntryAsState ( )
Row ( modifier = Modifier . background ( Color . Blue ) . fillMaxSize ( ) ) {
Scaffold (
topBar = {
CenterAlignedTopAppBar (
@ -58,14 +66,16 @@ fun TopBarVerax(theme: List<String>, articles: List<Article>) {
modifier = Modifier . fillMaxWidth ( )
)
} ,
navigationIcon = {
IconButton ( onClick = { /* action() */ } ) {
navigationIcon = { if ( navBackStackEntry ?. destination ?. route != " accueil " ) {
IconButton ( onClick = { navController . popBackStack ( ) } ) {
Icon (
imageVector = Icons . Filled. ArrowBack ,
imageVector = Icons . AutoMirrored. Filled. ArrowBack ,
contentDescription = " Retour " ,
Modifier . size ( 30. dp )
)
}
}
} ,
actions = {
IconButton ( onClick = { leMenu = ! leMenu } ) {
@ -78,7 +88,11 @@ fun TopBarVerax(theme: List<String>, articles: List<Article>) {
DropdownMenu (
expanded = leMenu , onDismissRequest = { leMenu = false } ,
modifier = Modifier
. border ( width = 1. dp , color = Color . Black , shape = RoundedCornerShape ( 10. dp ) )
. border (
width = 1. dp ,
color = Color . Black ,
shape = RoundedCornerShape ( 10. dp )
)
. background ( Orange )
) {
theme . sorted ( ) . forEach {
@ -125,8 +139,10 @@ fun TopBarVerax(theme: List<String>, articles: List<Article>) {
verticalArrangement = Arrangement . spacedBy ( 16. dp ) ,
) {
AffichageLesArticles ( articles = articles )
// AfficherArticle(articles.get(0));
// AffichageLesArticles(articles = articles)
// AfficherArticle(articles.get(0))
VeraxNavHost ( articles = articles , navController , articlesStub = articlesStub )
}