diff --git a/core/ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsFeed.kt b/core/ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsFeed.kt index 400cc1438..7a9b74f5f 100644 --- a/core/ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsFeed.kt +++ b/core/ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsFeed.kt @@ -18,6 +18,7 @@ package com.google.samples.apps.nowinandroid.core.ui import android.content.Intent import android.net.Uri +import android.util.Log import androidx.annotation.StringRes import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.wrapContentSize @@ -81,6 +82,7 @@ fun LazyGridScope.newsFeed( NewsResourceCardExpanded( newsResource = saveableNewsResource.newsResource, isBookmarked = saveableNewsResource.isSaved, + onTopicClicked = { Log.i("Caren", "Clicked on topic") }, onClick = { ContextCompat.startActivity(context, launchResourceIntent, null) }, onToggleBookmark = { onNewsResourcesCheckedChanged( diff --git a/core/ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCard.kt b/core/ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCard.kt index dac24c04c..cf9da058e 100644 --- a/core/ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCard.kt +++ b/core/ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCard.kt @@ -82,6 +82,7 @@ fun NewsResourceCardExpanded( newsResource: NewsResource, isBookmarked: Boolean, onToggleBookmark: () -> Unit, + onTopicClicked: (topicId: String) -> Unit, onClick: () -> Unit, modifier: Modifier = Modifier ) { @@ -123,7 +124,7 @@ fun NewsResourceCardExpanded( Spacer(modifier = Modifier.height(12.dp)) NewsResourceShortDescription(newsResource.content) Spacer(modifier = Modifier.height(12.dp)) - NewsResourceTopics(newsResource.topics) + NewsResourceTopics(newsResource.topics, onTopicClicked) } } } @@ -267,12 +268,9 @@ fun NewsResourceShortDescription( @Composable fun NewsResourceTopics( topics: List, + onTopicClicked: (topicId: String) -> Unit, modifier: Modifier = Modifier ) { - // Store the ID of the Topic which has its "following" menu expanded, if any. - // To avoid UI confusion, only one topic can have an expanded menu at a time. - var expandedTopicId by remember { mutableStateOf(null) } - Row( modifier = modifier.horizontalScroll(rememberScrollState()), // causes narrow chips horizontalArrangement = Arrangement.spacedBy(4.dp), @@ -280,9 +278,7 @@ fun NewsResourceTopics( for (topic in topics) { NiaTopicTag( followed = true, // ToDo: Check if topic is followed - onClick = { - // Navigate to browse topic - }, + onClick = { onTopicClicked(topic.id) }, text = { Text(text = topic.name.uppercase(Locale.getDefault())) } ) } @@ -318,7 +314,8 @@ fun ExpandedNewsResourcePreview() { newsResource = previewNewsResources[0], isBookmarked = true, onToggleBookmark = {}, - onClick = {} + onClick = {}, + onTopicClicked = {} ) } } diff --git a/core/ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCardList.kt b/core/ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCardList.kt index 25a7bd2dc..26c51b8b6 100644 --- a/core/ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCardList.kt +++ b/core/ui/src/main/java/com/google/samples/apps/nowinandroid/core/ui/NewsResourceCardList.kt @@ -41,6 +41,7 @@ fun LazyListScope.newsResourceCardItems( isBookmarkedMapper: (item: T) -> Boolean, onToggleBookmark: (item: T) -> Unit, onItemClick: ((item: T) -> Unit)? = null, + onTopicClicked: (item: T) -> Unit, itemModifier: Modifier = Modifier, ) = items( items = items, @@ -61,7 +62,8 @@ fun LazyListScope.newsResourceCardItems( else -> onItemClick(item) } }, - modifier = itemModifier + modifier = itemModifier, + onTopicClicked = { } ) }, ) diff --git a/feature/author/src/main/java/com/google/samples/apps/nowinandroid/feature/author/AuthorScreen.kt b/feature/author/src/main/java/com/google/samples/apps/nowinandroid/feature/author/AuthorScreen.kt index 7cd32a64b..b318c3090 100644 --- a/feature/author/src/main/java/com/google/samples/apps/nowinandroid/feature/author/AuthorScreen.kt +++ b/feature/author/src/main/java/com/google/samples/apps/nowinandroid/feature/author/AuthorScreen.kt @@ -180,7 +180,8 @@ private fun LazyListScope.authorCards( newsResourceMapper = { it.newsResource }, isBookmarkedMapper = { it.isSaved }, onToggleBookmark = { onBookmarkChanged(it.newsResource.id, !it.isSaved) }, - itemModifier = Modifier.padding(24.dp) + itemModifier = Modifier.padding(24.dp), + onTopicClicked = { } ) } is NewsUiState.Loading -> item { diff --git a/feature/topic/src/main/java/com/google/samples/apps/nowinandroid/feature/topic/TopicScreen.kt b/feature/topic/src/main/java/com/google/samples/apps/nowinandroid/feature/topic/TopicScreen.kt index 942922720..6cb67050b 100644 --- a/feature/topic/src/main/java/com/google/samples/apps/nowinandroid/feature/topic/TopicScreen.kt +++ b/feature/topic/src/main/java/com/google/samples/apps/nowinandroid/feature/topic/TopicScreen.kt @@ -177,8 +177,9 @@ private fun LazyListScope.TopicCards( items = news.news, newsResourceMapper = { it.newsResource }, isBookmarkedMapper = { it.isSaved }, - onToggleBookmark = { onBookmarkChanged(it.newsResource.id, !it.isSaved) }, - itemModifier = Modifier.padding(24.dp) + onToggleBookmark = { /* TODO */ }, + itemModifier = Modifier.padding(24.dp), + onTopicClicked = { }, ) } is NewsUiState.Loading -> item {