Package-level declarations

Types

Link copied to clipboard
Link copied to clipboard

Defines the available layout variations for movie info.

Link copied to clipboard
data class MovieItem(val id: String, val title: String, val imageSource: AppImageSource, val rating: Double? = null, val year: String = "", val duration: String = "", val contentRating: String = "", val genre: String = "", val type: String = "", val isPremium: Boolean = false, val primaryInfo: String? = null, val secondaryInfo: String? = null, val rank: Int? = null, val youtubeVideoId: String? = null)

Data class representing a movie or series item in the design system.

Link copied to clipboard

Defines the available layout variations for movie items.

Link copied to clipboard
data class WatchProvider(val name: String, val icon: AppImageSource, val priceInfo: String, val watchUrl: String? = null)

Data class representing a watch provider (streaming service).

Functions

Link copied to clipboard
fun AppMetadataItem(icon: ImageVector, text: String, modifier: Modifier = Modifier, iconSize: Dp = MetadataIconSize, textStyle: TextStyle = MaterialTheme.typography.bodySmall)

A small utility component to display an icon alongside a text metadata. Usually used for year, duration, or lists.

Link copied to clipboard
fun AppMovieActions(onPlayClick: () -> Unit, onAddToListClick: () -> Unit, onFavoriteClick: () -> Unit, providers: List<WatchProvider>, onProviderClick: (WatchProvider) -> Unit, modifier: Modifier = Modifier, playText: String = stringResource(Res.string.movie_action_play_trailer), isPlaying: Boolean = false, isFavorite: Boolean = false, isInList: Boolean = false)

A vertical action bar for movies that includes a play button, list/favorite buttons and watch providers.

Link copied to clipboard
Link copied to clipboard
fun AppMovieDetailHeader(movie: MovieItem, providers: List<WatchProvider>, onProviderClick: (WatchProvider) -> Unit, modifier: Modifier = Modifier, onPlayClick: () -> Unit = {}, onAddToListClick: () -> Unit = {}, onFavoriteClick: () -> Unit = {}, isFavorite: Boolean = false, isInList: Boolean = false)
Link copied to clipboard
Link copied to clipboard
fun AppMovieDetailInfo(year: String, duration: String, genre: String, rating: Double?, modifier: Modifier = Modifier)

A specialized component to display detailed movie metadata and rating. Used primarily in the detail screen header.

Link copied to clipboard
Link copied to clipboard
fun AppMovieInfo(title: String, year: String, duration: String, contentRating: String, genre: String, type: String, isPremium: Boolean, modifier: Modifier = Modifier, layoutType: AppMovieInfoType = AppMovieInfoType.HORIZONTAL)

A specialized component to display movie metadata and textual information. It automatically adjusts the density and arrangement of information based on the layoutType provided.

Link copied to clipboard
Link copied to clipboard
fun AppMovieItem(movie: MovieItem, onClick: () -> Unit, modifier: Modifier = Modifier, type: MovieItemType = MovieItemType.HORIZONTAL)

A comprehensive component to display a movie or series item. It automatically handles the layout based on the type provided and uses AppMoviePoster and AppMovieInfo internally.

Link copied to clipboard
Link copied to clipboard
fun AppMoviePoster(imageSource: AppImageSource, rating: Double? = null, modifier: Modifier = Modifier, width: Dp = 110.dp, height: Dp = 150.dp, primaryInfo: String? = null, secondaryInfo: String? = null)

A component to display a movie poster with specialized overlays. It handles the image rendering and displays a rating badge in the top-right corner. Additionally, it can display informational tags at the bottom.

Link copied to clipboard
Link copied to clipboard
fun AppWatchProviders(providers: List<WatchProvider>, onProviderClick: (WatchProvider) -> Unit, modifier: Modifier = Modifier, isExpanded: Boolean = false, onExpandClick: () -> Unit = {})

A component that displays a list of watch providers where a movie can be streamed. It features a collapsible design that shows a primary provider and a summary of others when collapsed, and a full list when expanded.

Link copied to clipboard