@ -67,17 +67,11 @@ class MainActivity : ComponentActivity() {
// var article = listOf("Thinkerview", "thinkerview.jgp", "Thinkerview est une chaîne youtube d'interview-débat")
// var article = listOf("Thinkerview", "thinkerview.jgp", "Thinkerview est une chaîne youtube d'interview-débat")
// var articles = listOf( Article("Thinkerview", "This is a descrition", Author = "IAmAGreatAuthor", Image = "https://www.gstatic.com/webp/gallery/1.jpg", LectureTime = "12", Content = listOf(Paragraph("This is a paragraph"), Paragraph("This is another paragraph"), Paragraph("This is a third paragraph"))))
// var articles = listOf( Article("Thinkerview", "This is a descrition", Author = "IAmAGreatAuthor", Image = "https://www.gstatic.com/webp/gallery/1.jpg", LectureTime = "12", Content = listOf(Paragraph("This is a paragraph"), Paragraph("This is another paragraph"), Paragraph("This is a third paragraph"))))
var dataManager : IArticlesDataManager = StubArticles ( )
var dataManager : IArticlesDataManager = StubArticles ( )
var articles = dataManager . getDerniersArticles ( 4 )
var articles = dataManager . getDerniersArticles ( 4 )
var theme = listOf ( " Economique " , " Culture " , " Politique " , " Faits divers " )
var theme = listOf ( " Economique " , " Culture " , " Politique " , " Faits divers " )
var color = Color ( 0xFF00FF00 )
var color = Color ( 0xFF00FF00 )
override fun onCreate ( savedInstanceState : Bundle ? ) {
override fun onCreate ( savedInstanceState : Bundle ? ) {
@ -88,27 +82,14 @@ class MainActivity : ComponentActivity() {
articles ?. forEach ( { a ->
articles ?. forEach ( { a ->
Log . println ( Log . ASSERT , " debug articles " , a . toString ( ) )
Log . println ( Log . ASSERT , " debug articles " , a . toString ( ) )
} )
// if (a != null) {
// a.contenus.forEach({cont ->
//
// Log.println(Log.ASSERT, "contenus de l'article " + a.id, cont.toString())
// })
// }
// })
//TopBarVerax(theme = theme, article = articles)
// allez sur la doc de Scaffold sur Android Dev et si vous comprenez comment on doit faire bien ouej
}
}
}
}
}
// Il faudrait mettre ca dans un fichier appart mais je connais plus les conventions ...
// Il faudrait mettre ca dans un fichier appart mais je connais plus les conventions ...
@OptIn ( ExperimentalMaterial3Api :: class )
@OptIn ( ExperimentalMaterial3Api :: class )
@Composable
@Composable
fun TopBarVerax ( theme : List < String > , article : List < Article > ) {
fun TopBarVerax ( theme : List < String > , article : List < Article > ) {
var leMenu by remember {
var leMenu by remember {
mutableStateOf ( false )
mutableStateOf ( false )
}
}
@ -197,23 +178,27 @@ fun TopBarVerax(theme : List<String>, article : List<Article>) {
}
}
}
}
}
}
}
}
@Composable
@Composable
fun AffichageUnArticle ( article : List < Article > ) {
fun AffichageUnArticle ( article : List < Article > ) {
Column ( ) {
Column ( ) {
for ( e in article ) {
for ( e in article ) {
DisplayTitle ( title = e . Title )
DisplayTitle ( title = e . Title )
DisplayHeader ( author = e . Author , description = e . Description , lectureTime = e . LectureTime )
DisplayHeader (
author = e . Author ,
description = e . Description ,
lectureTime = e . LectureTime
)
DisplayImage ( image = e . Image )
DisplayImage ( image = e . Image )
DisplayContentArticle ( content = e . Content )
DisplayContentArticle ( content = e . Content )
}
}
}
}
}
}
@Composable
@Composable
fun DisplayImage ( image : String ) {
fun DisplayImage ( image : String ) {
Log . d ( " DisplayImage " , " Chargement de l'image à partir de l'URL : $image " )
Log . d ( " DisplayImage " , " Chargement de l'image à partir de l'URL : $image " )
val painter = rememberImagePainter (
val painter = rememberImagePainter (
@ -235,38 +220,49 @@ fun DisplayImage(image: String) {
modifier = Modifier . fillMaxSize ( ) ,
modifier = Modifier . fillMaxSize ( ) ,
)
)
}
}
}
}
@Composable
@Composable
fun DisplayHeader ( author : String , description : String , lectureTime : String ) {
fun DisplayHeader ( author : String , description : String , lectureTime : String ) {
Box ( modifier = Modifier
Box (
modifier = Modifier
. fillMaxWidth ( )
. fillMaxWidth ( )
. border ( width = 1. dp , color = Color . Black , shape = RoundedCornerShape ( 10. dp ) )
. border ( width = 1. dp , color = Color . Black , shape = RoundedCornerShape ( 10. dp ) )
. clip ( RoundedCornerShape ( 10. dp ) )
. clip ( RoundedCornerShape ( 10. dp ) )
. background ( Salmon )
. background ( Salmon )
. padding ( 10. dp ) ) {
. padding ( 10. dp )
Column ( ) {
) {
Column ( ) {
Text ( text = author )
Text ( text = author )
Text ( text = description )
Text ( text = description )
Text ( text = " Lecture Time: " + lectureTime + " minutes " )
Text ( text = " Lecture Time: " + lectureTime + " minutes " )
}
}
}
}
}
}
@Composable
@Composable
fun DisplayTitle ( title : String ) {
fun DisplayTitle ( title : String ) {
Column ( modifier = Modifier . fillMaxWidth ( ) , horizontalAlignment = Alignment . CenterHorizontally ) {
Column (
modifier = Modifier . fillMaxWidth ( ) ,
horizontalAlignment = Alignment . CenterHorizontally
) {
Text ( text = title , fontFamily = FontFamily . Serif , fontSize = 30. sp )
Text ( text = title , fontFamily = FontFamily . Serif , fontSize = 30. sp )
}
}
}
}
@Composable
@Composable
fun DisplayContentArticle ( content : List < Paragraph > ) {
fun DisplayContentArticle ( content : List < Paragraph > ) {
Column {
Column {
for ( e in content ) {
for ( e in content ) {
Text ( text = e . Content , fontSize = 15. sp , fontFamily = FontFamily . Serif , textAlign = TextAlign . Justify , modifier = Modifier . padding ( 10. dp ) )
Text (
text = e . Content ,
fontSize = 15. sp ,
fontFamily = FontFamily . Serif ,
textAlign = TextAlign . Justify ,
modifier = Modifier . padding ( 10. dp )
)
}
}
}
}
}
}
}