stub et datamanager bien implémenté !

travailModele
Siwa12100 1 year ago
parent 90bd1b0e5b
commit 3b089e35f6

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

Loading…
Cancel
Save