diff --git a/app/src/main/java/com/capyreader/app/ui/articles/ArticleList.kt b/app/src/main/java/com/capyreader/app/ui/articles/ArticleList.kt index 873a4fec0..6c5a37709 100644 --- a/app/src/main/java/com/capyreader/app/ui/articles/ArticleList.kt +++ b/app/src/main/java/com/capyreader/app/ui/articles/ArticleList.kt @@ -49,9 +49,12 @@ fun ArticleList( refreshingAll: Boolean, enableMarkReadOnScroll: Boolean = false, dimReadArticles: Boolean = true, + showIcons: Boolean = true, ) { - val articleOptions = rememberArticleOptions().copy( + val options = rememberArticleOptions() + val articleOptions = options.copy( dim = dimReadArticles, + showIcon = options.showIcon && showIcons, ) val currentTime = rememberCurrentTime() val localDensity = LocalDensity.current diff --git a/app/src/main/java/com/capyreader/app/ui/articles/ArticleScreen.kt b/app/src/main/java/com/capyreader/app/ui/articles/ArticleScreen.kt index c84a1895e..dc345fd1e 100644 --- a/app/src/main/java/com/capyreader/app/ui/articles/ArticleScreen.kt +++ b/app/src/main/java/com/capyreader/app/ui/articles/ArticleScreen.kt @@ -76,11 +76,11 @@ import com.capyreader.app.ui.articles.media.ArticleMediaView import com.capyreader.app.ui.collectChangesWithCurrent import com.capyreader.app.ui.collectChangesWithDefault import com.capyreader.app.ui.components.ArticleSearch +import com.capyreader.app.ui.components.LocalSnackbarHost import com.capyreader.app.ui.components.SearchState import com.capyreader.app.ui.provideLinkOpener import com.capyreader.app.ui.rememberLazyListState import com.capyreader.app.ui.rememberLocalConnectivity -import com.capyreader.app.ui.components.LocalSnackbarHost import com.jocmp.capy.Article import com.jocmp.capy.ArticleFilter import com.jocmp.capy.Feed @@ -603,6 +603,7 @@ fun ArticleScreen( enableMarkReadOnScroll = enableMarkReadOnScroll, refreshingAll = viewModel.refreshingAll, dimReadArticles = filter !is ArticleFilter.Starred, + showIcons = !filter.isReadLaterFeed(readLaterFeed), onMarkAllRead = { range -> onMarkAllRead(range) }, diff --git a/app/src/main/java/com/capyreader/app/ui/articles/ArticleScreenViewModel.kt b/app/src/main/java/com/capyreader/app/ui/articles/ArticleScreenViewModel.kt index 8b7101c2c..114cdf409 100644 --- a/app/src/main/java/com/capyreader/app/ui/articles/ArticleScreenViewModel.kt +++ b/app/src/main/java/com/capyreader/app/ui/articles/ArticleScreenViewModel.kt @@ -141,11 +141,9 @@ class ArticleScreenViewModel( val readLaterFeed: Flow = combine( account.feeds, _counts, - filter, - ) { feeds, latestCounts, filter -> + ) { feeds, latestCounts -> feeds.find { it.isReadLater } ?.let { copyFeedCounts(it, latestCounts) } - ?.takeIf { it.count > 0 || filter.status != ArticleStatus.UNREAD } } private val nextFilterListener: Flow = diff --git a/capy/src/main/java/com/jocmp/capy/ArticleFilter.kt b/capy/src/main/java/com/jocmp/capy/ArticleFilter.kt index c2d7d816b..6ff1b5142 100644 --- a/capy/src/main/java/com/jocmp/capy/ArticleFilter.kt +++ b/capy/src/main/java/com/jocmp/capy/ArticleFilter.kt @@ -28,6 +28,10 @@ sealed class ArticleFilter(open val status: ArticleStatus) { return this is Starred } + fun isReadLaterFeed(feed: Feed?): Boolean { + return feed != null && isFeedSelected(feed) + } + fun withStatus(status: ArticleStatus): ArticleFilter { return when (this) { is Articles -> copy(articleStatus = status)