package it.vfsfitvnm.youtubemusic.models import kotlinx.serialization.ExperimentalSerializationApi import kotlinx.serialization.Serializable @OptIn(ExperimentalSerializationApi::class) @Serializable data class MusicShelfRenderer( val bottomEndpoint: NavigationEndpoint?, val contents: List, val continuations: List?, val title: Runs? ) { @Serializable data class Content( val musicResponsiveListItemRenderer: MusicResponsiveListItemRenderer, ) { val runs: Pair, List>> get() = (musicResponsiveListItemRenderer .flexColumns .firstOrNull() ?.musicResponsiveListItemFlexColumnRenderer ?.text ?.runs ?: emptyList()) to (musicResponsiveListItemRenderer .flexColumns .lastOrNull() ?.musicResponsiveListItemFlexColumnRenderer ?.text ?.splitBySeparator() ?: emptyList() ) val thumbnail: ThumbnailRenderer.MusicThumbnailRenderer.Thumbnail.Thumbnail? get() = musicResponsiveListItemRenderer .thumbnail ?.musicThumbnailRenderer ?.thumbnail ?.thumbnails ?.firstOrNull() } }