PublicationEvent

sealed interface PublicationEvent

What the user did on PublicationScreen. The screen never navigates on its own — handle these to decide where each interaction leads.

Inheritors

Types

Link copied to clipboard
data class ClickOnArticle(val article: ArticleShort, val articles: List<ArticleShort>, val index: Int, val context: Map<String, Any> = emptyMap()) : PublicationEvent

An article was tapped. Open it in the reader.

Link copied to clipboard
data class ClickOnIssue(val issue: IssueShort, val page: Int = 1, val context: Map<String, Any> = emptyMap()) : PublicationEvent

An issue was tapped. Download it if it is not on the device yet, then open it.

Link copied to clipboard
data class ClickOnSeeAllArchives(val publication: Publication, val context: Map<String, Any> = emptyMap()) : PublicationEvent

The archives section's "see all" was tapped. Navigate to ArchivesScreen with publication.id to list every archived issue year by year.

Link copied to clipboard
data class ClickOnSeeAllArticles(val context: Map<String, Any> = emptyMap()) : PublicationEvent

The articles section's "see all" was tapped. Navigate to ArticleListScreen with the same publication id to list every article it has.