Tweak code
This commit is contained in:
@@ -41,10 +41,8 @@ inline fun <T : Innertube.Item> ArtistContent(
|
||||
crossinline bookmarkIconContent: @Composable () -> Unit,
|
||||
crossinline shareIconContent: @Composable () -> Unit,
|
||||
crossinline itemContent: @Composable LazyItemScope.(T) -> Unit,
|
||||
noinline itemShimmer: @Composable () -> Unit,
|
||||
noinline itemPlaceholderContent: @Composable () -> Unit,
|
||||
) {
|
||||
val (_, typography) = LocalAppearance.current
|
||||
|
||||
var items by rememberSaveable(stateSaver = stateSaver) {
|
||||
mutableStateOf(listOf())
|
||||
}
|
||||
@@ -124,7 +122,7 @@ inline fun <T : Innertube.Item> ArtistContent(
|
||||
if (hasMore || items.isEmpty()) {
|
||||
ShimmerHost {
|
||||
repeat(if (hasMore) 3 else 8) {
|
||||
itemShimmer()
|
||||
itemPlaceholderContent()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -147,7 +145,7 @@ inline fun <T : Innertube.Item> ArtistContent(
|
||||
HeaderPlaceholder()
|
||||
|
||||
repeat(5) {
|
||||
itemShimmer()
|
||||
itemPlaceholderContent()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,10 +47,10 @@ import it.vfsfitvnm.vimusic.ui.styling.Dimensions
|
||||
import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance
|
||||
import it.vfsfitvnm.vimusic.ui.styling.px
|
||||
import it.vfsfitvnm.vimusic.ui.styling.shimmer
|
||||
import it.vfsfitvnm.vimusic.ui.views.AlternativeAlbumItem
|
||||
import it.vfsfitvnm.vimusic.ui.views.AlternativeAlbumItemPlaceholder
|
||||
import it.vfsfitvnm.vimusic.ui.views.SmallSongItem
|
||||
import it.vfsfitvnm.vimusic.ui.views.SmallSongItemShimmer
|
||||
import it.vfsfitvnm.vimusic.ui.views.AlbumItem
|
||||
import it.vfsfitvnm.vimusic.ui.views.AlbumItemPlaceholder
|
||||
import it.vfsfitvnm.vimusic.ui.views.SongItem
|
||||
import it.vfsfitvnm.vimusic.ui.views.SongItemPlaceholder
|
||||
import it.vfsfitvnm.vimusic.utils.asMediaItem
|
||||
import it.vfsfitvnm.vimusic.utils.center
|
||||
import it.vfsfitvnm.vimusic.utils.forcePlay
|
||||
@@ -159,7 +159,7 @@ fun ArtistOverview(
|
||||
}
|
||||
|
||||
songs.forEach { song ->
|
||||
SmallSongItem(
|
||||
SongItem(
|
||||
song = song,
|
||||
thumbnailSizePx = songThumbnailSizePx,
|
||||
onClick = {
|
||||
@@ -209,10 +209,11 @@ fun ArtistOverview(
|
||||
items = albums,
|
||||
key = Innertube.AlbumItem::key
|
||||
) { album ->
|
||||
AlternativeAlbumItem(
|
||||
AlbumItem(
|
||||
album = album,
|
||||
thumbnailSizePx = albumThumbnailSizePx,
|
||||
thumbnailSizeDp = albumThumbnailSizeDp,
|
||||
alternative = true,
|
||||
modifier = Modifier
|
||||
.clickable(
|
||||
indication = rememberRipple(bounded = true),
|
||||
@@ -259,10 +260,11 @@ fun ArtistOverview(
|
||||
items = singles,
|
||||
key = Innertube.AlbumItem::key
|
||||
) { album ->
|
||||
AlternativeAlbumItem(
|
||||
AlbumItem(
|
||||
album = album,
|
||||
thumbnailSizePx = albumThumbnailSizePx,
|
||||
thumbnailSizeDp = albumThumbnailSizeDp,
|
||||
alternative = true,
|
||||
modifier = Modifier
|
||||
.clickable(
|
||||
indication = rememberRipple(bounded = true),
|
||||
@@ -279,7 +281,7 @@ fun ArtistOverview(
|
||||
TextPlaceholder(modifier = sectionTextModifier)
|
||||
|
||||
repeat(5) {
|
||||
SmallSongItemShimmer(
|
||||
SongItemPlaceholder(
|
||||
thumbnailSizeDp = songThumbnailSizeDp,
|
||||
)
|
||||
}
|
||||
@@ -289,7 +291,10 @@ fun ArtistOverview(
|
||||
|
||||
Row {
|
||||
repeat(2) {
|
||||
AlternativeAlbumItemPlaceholder(thumbnailSizeDp = albumThumbnailSizeDp)
|
||||
AlbumItemPlaceholder(
|
||||
thumbnailSizeDp = albumThumbnailSizeDp,
|
||||
alternative = true
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -312,7 +317,7 @@ fun ArtistOverview(
|
||||
TextPlaceholder(modifier = sectionTextModifier)
|
||||
|
||||
repeat(5) {
|
||||
SmallSongItemShimmer(
|
||||
SongItemPlaceholder(
|
||||
thumbnailSizeDp = songThumbnailSizeDp,
|
||||
)
|
||||
}
|
||||
@@ -322,7 +327,10 @@ fun ArtistOverview(
|
||||
|
||||
Row {
|
||||
repeat(2) {
|
||||
AlternativeAlbumItemPlaceholder(thumbnailSizeDp = albumThumbnailSizeDp)
|
||||
AlbumItemPlaceholder(
|
||||
thumbnailSizeDp = albumThumbnailSizeDp,
|
||||
alternative = true
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,9 +37,9 @@ import it.vfsfitvnm.vimusic.ui.styling.Dimensions
|
||||
import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance
|
||||
import it.vfsfitvnm.vimusic.ui.styling.px
|
||||
import it.vfsfitvnm.vimusic.ui.views.AlbumItem
|
||||
import it.vfsfitvnm.vimusic.ui.views.AlbumItemShimmer
|
||||
import it.vfsfitvnm.vimusic.ui.views.SmallSongItem
|
||||
import it.vfsfitvnm.vimusic.ui.views.SmallSongItemShimmer
|
||||
import it.vfsfitvnm.vimusic.ui.views.AlbumItemPlaceholder
|
||||
import it.vfsfitvnm.vimusic.ui.views.SongItem
|
||||
import it.vfsfitvnm.vimusic.ui.views.SongItemPlaceholder
|
||||
import it.vfsfitvnm.vimusic.utils.artistScreenTabIndexKey
|
||||
import it.vfsfitvnm.vimusic.utils.asMediaItem
|
||||
import it.vfsfitvnm.vimusic.utils.forcePlay
|
||||
@@ -242,7 +242,7 @@ fun ArtistScreen(browseId: String) {
|
||||
}
|
||||
},
|
||||
itemContent = { song ->
|
||||
SmallSongItem(
|
||||
SongItem(
|
||||
song = song,
|
||||
thumbnailSizePx = thumbnailSizePx,
|
||||
onClick = {
|
||||
@@ -252,8 +252,8 @@ fun ArtistScreen(browseId: String) {
|
||||
}
|
||||
)
|
||||
},
|
||||
itemShimmer = {
|
||||
SmallSongItemShimmer(thumbnailSizeDp = thumbnailSizeDp)
|
||||
itemPlaceholderContent = {
|
||||
SongItemPlaceholder(thumbnailSizeDp = thumbnailSizeDp)
|
||||
}
|
||||
)
|
||||
}
|
||||
@@ -299,8 +299,8 @@ fun ArtistScreen(browseId: String) {
|
||||
)
|
||||
)
|
||||
},
|
||||
itemShimmer = {
|
||||
AlbumItemShimmer(thumbnailSizeDp = thumbnailSizeDp)
|
||||
itemPlaceholderContent = {
|
||||
AlbumItemPlaceholder(thumbnailSizeDp = thumbnailSizeDp)
|
||||
}
|
||||
)
|
||||
}
|
||||
@@ -346,8 +346,8 @@ fun ArtistScreen(browseId: String) {
|
||||
)
|
||||
)
|
||||
},
|
||||
itemShimmer = {
|
||||
AlbumItemShimmer(thumbnailSizeDp = thumbnailSizeDp)
|
||||
itemPlaceholderContent = {
|
||||
AlbumItemPlaceholder(thumbnailSizeDp = thumbnailSizeDp)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
@@ -6,14 +6,17 @@ import androidx.compose.foundation.clickable
|
||||
import androidx.compose.foundation.interaction.MutableInteractionSource
|
||||
import androidx.compose.foundation.layout.BoxWithConstraints
|
||||
import androidx.compose.foundation.layout.Column
|
||||
import androidx.compose.foundation.layout.Row
|
||||
import androidx.compose.foundation.layout.fillMaxSize
|
||||
import androidx.compose.foundation.layout.fillMaxWidth
|
||||
import androidx.compose.foundation.layout.height
|
||||
import androidx.compose.foundation.layout.padding
|
||||
import androidx.compose.foundation.layout.width
|
||||
import androidx.compose.foundation.lazy.LazyRow
|
||||
import androidx.compose.foundation.lazy.grid.GridCells
|
||||
import androidx.compose.foundation.lazy.grid.LazyHorizontalGrid
|
||||
import androidx.compose.foundation.lazy.grid.items
|
||||
import androidx.compose.foundation.lazy.items
|
||||
import androidx.compose.foundation.rememberScrollState
|
||||
import androidx.compose.foundation.text.BasicText
|
||||
import androidx.compose.foundation.verticalScroll
|
||||
@@ -44,14 +47,13 @@ import it.vfsfitvnm.vimusic.ui.styling.Dimensions
|
||||
import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance
|
||||
import it.vfsfitvnm.vimusic.ui.styling.px
|
||||
import it.vfsfitvnm.vimusic.ui.views.AlbumItem
|
||||
import it.vfsfitvnm.vimusic.ui.views.AlbumItemShimmer
|
||||
import it.vfsfitvnm.vimusic.ui.views.AlbumItemPlaceholder
|
||||
import it.vfsfitvnm.vimusic.ui.views.ArtistItem
|
||||
import it.vfsfitvnm.vimusic.ui.views.ArtistItemShimmer
|
||||
import it.vfsfitvnm.vimusic.ui.views.ArtistItemPlaceholder
|
||||
import it.vfsfitvnm.vimusic.ui.views.PlaylistItem
|
||||
import it.vfsfitvnm.vimusic.ui.views.PlaylistItemShimmer
|
||||
import it.vfsfitvnm.vimusic.ui.views.SmallSongItem
|
||||
import it.vfsfitvnm.vimusic.ui.views.SmallSongItemShimmer
|
||||
import it.vfsfitvnm.vimusic.ui.views.PlaylistItemPlaceholder
|
||||
import it.vfsfitvnm.vimusic.ui.views.SongItem
|
||||
import it.vfsfitvnm.vimusic.ui.views.SongItemPlaceholder
|
||||
import it.vfsfitvnm.vimusic.utils.asMediaItem
|
||||
import it.vfsfitvnm.vimusic.utils.center
|
||||
import it.vfsfitvnm.vimusic.utils.forcePlay
|
||||
@@ -104,7 +106,7 @@ fun QuickPicks(
|
||||
val songThumbnailSizePx = songThumbnailSizeDp.px
|
||||
val albumThumbnailSizeDp = 108.dp
|
||||
val albumThumbnailSizePx = albumThumbnailSizeDp.px
|
||||
val artistThumbnailSizeDp = 64.dp
|
||||
val artistThumbnailSizeDp = 92.dp
|
||||
val artistThumbnailSizePx = artistThumbnailSizeDp.px
|
||||
val playlistThumbnailSizeDp = 108.dp
|
||||
val playlistThumbnailSizePx = playlistThumbnailSizeDp.px
|
||||
@@ -158,7 +160,7 @@ fun QuickPicks(
|
||||
items = related.songs ?: emptyList(),
|
||||
key = Innertube.SongItem::key
|
||||
) { song ->
|
||||
SmallSongItem(
|
||||
SongItem(
|
||||
song = song,
|
||||
thumbnailSizePx = songThumbnailSizePx,
|
||||
onClick = {
|
||||
@@ -181,12 +183,7 @@ fun QuickPicks(
|
||||
modifier = sectionTextModifier
|
||||
)
|
||||
|
||||
LazyHorizontalGrid(
|
||||
rows = GridCells.Fixed(2),
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.height((albumThumbnailSizeDp + Dimensions.itemsVerticalPadding * 2) * 2)
|
||||
) {
|
||||
LazyRow {
|
||||
items(
|
||||
items = related.albums ?: emptyList(),
|
||||
key = Innertube.AlbumItem::key
|
||||
@@ -195,13 +192,13 @@ fun QuickPicks(
|
||||
album = album,
|
||||
thumbnailSizePx = albumThumbnailSizePx,
|
||||
thumbnailSizeDp = albumThumbnailSizeDp,
|
||||
alternative = true,
|
||||
modifier = Modifier
|
||||
.clickable(
|
||||
indication = rememberRipple(bounded = true),
|
||||
interactionSource = remember { MutableInteractionSource() },
|
||||
onClick = { onAlbumClick(album.key) }
|
||||
)
|
||||
.width(itemInHorizontalGridWidth)
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -212,12 +209,7 @@ fun QuickPicks(
|
||||
modifier = sectionTextModifier
|
||||
)
|
||||
|
||||
LazyHorizontalGrid(
|
||||
rows = GridCells.Fixed(1),
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.height((artistThumbnailSizeDp + Dimensions.itemsVerticalPadding * 2))
|
||||
) {
|
||||
LazyRow {
|
||||
items(
|
||||
items = related.artists ?: emptyList(),
|
||||
key = Innertube.ArtistItem::key,
|
||||
@@ -226,13 +218,13 @@ fun QuickPicks(
|
||||
artist = artist,
|
||||
thumbnailSizePx = artistThumbnailSizePx,
|
||||
thumbnailSizeDp = artistThumbnailSizeDp,
|
||||
alternative = true,
|
||||
modifier = Modifier
|
||||
.clickable(
|
||||
indication = rememberRipple(bounded = true),
|
||||
interactionSource = remember { MutableInteractionSource() },
|
||||
onClick = { onArtistClick(artist.key) }
|
||||
)
|
||||
.width(itemInHorizontalGridWidth)
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -245,12 +237,7 @@ fun QuickPicks(
|
||||
.padding(top = 24.dp, bottom = 8.dp)
|
||||
)
|
||||
|
||||
LazyHorizontalGrid(
|
||||
rows = GridCells.Fixed(2),
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.height((playlistThumbnailSizeDp + Dimensions.itemsVerticalPadding * 2) * 2)
|
||||
) {
|
||||
LazyRow {
|
||||
items(
|
||||
items = related.playlists ?: emptyList(),
|
||||
key = Innertube.PlaylistItem::key,
|
||||
@@ -259,13 +246,13 @@ fun QuickPicks(
|
||||
playlist = playlist,
|
||||
thumbnailSizePx = playlistThumbnailSizePx,
|
||||
thumbnailSizeDp = playlistThumbnailSizeDp,
|
||||
alternative = true,
|
||||
modifier = Modifier
|
||||
.clickable(
|
||||
indication = rememberRipple(bounded = true),
|
||||
interactionSource = remember { MutableInteractionSource() },
|
||||
onClick = { onPlaylistClick(playlist.key) }
|
||||
)
|
||||
.width(itemInHorizontalGridWidth)
|
||||
)
|
||||
}
|
||||
}
|
||||
@@ -292,25 +279,42 @@ fun QuickPicks(
|
||||
}
|
||||
) {
|
||||
repeat(4) {
|
||||
SmallSongItemShimmer(
|
||||
SongItemPlaceholder(
|
||||
thumbnailSizeDp = songThumbnailSizeDp,
|
||||
)
|
||||
}
|
||||
|
||||
TextPlaceholder(modifier = sectionTextModifier)
|
||||
|
||||
repeat(2) {
|
||||
AlbumItemShimmer(thumbnailSizeDp = albumThumbnailSizeDp)
|
||||
Row {
|
||||
repeat(2) {
|
||||
AlbumItemPlaceholder(
|
||||
thumbnailSizeDp = albumThumbnailSizeDp,
|
||||
alternative = true
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
TextPlaceholder(modifier = sectionTextModifier)
|
||||
|
||||
ArtistItemShimmer(thumbnailSizeDp = artistThumbnailSizeDp)
|
||||
Row {
|
||||
repeat(2) {
|
||||
ArtistItemPlaceholder(
|
||||
thumbnailSizeDp = albumThumbnailSizeDp,
|
||||
alternative = true
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
TextPlaceholder(modifier = sectionTextModifier)
|
||||
|
||||
repeat(2) {
|
||||
PlaylistItemShimmer(thumbnailSizeDp = playlistThumbnailSizeDp)
|
||||
Row {
|
||||
repeat(2) {
|
||||
PlaylistItemPlaceholder(
|
||||
thumbnailSizeDp = albumThumbnailSizeDp,
|
||||
alternative = true
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -57,7 +57,7 @@ import it.vfsfitvnm.vimusic.ui.styling.Dimensions
|
||||
import it.vfsfitvnm.vimusic.ui.styling.LocalAppearance
|
||||
import it.vfsfitvnm.vimusic.ui.styling.onOverlay
|
||||
import it.vfsfitvnm.vimusic.ui.styling.px
|
||||
import it.vfsfitvnm.vimusic.ui.views.SmallSongItemShimmer
|
||||
import it.vfsfitvnm.vimusic.ui.views.SongItemPlaceholder
|
||||
import it.vfsfitvnm.vimusic.ui.views.SongItem
|
||||
import it.vfsfitvnm.vimusic.utils.medium
|
||||
import it.vfsfitvnm.vimusic.utils.rememberMediaItemIndex
|
||||
@@ -233,7 +233,7 @@ fun PlayerBottomSheet(
|
||||
.shimmer()
|
||||
) {
|
||||
repeat(3) { index ->
|
||||
SmallSongItemShimmer(
|
||||
SongItemPlaceholder(
|
||||
thumbnailSizeDp = Dimensions.thumbnails.song,
|
||||
modifier = Modifier
|
||||
.alpha(1f - index * 0.125f)
|
||||
|
||||
@@ -48,7 +48,7 @@ inline fun <T : Innertube.Item> SearchResult(
|
||||
noinline fromMusicShelfRendererContent: (MusicShelfRenderer.Content) -> T?,
|
||||
crossinline onSearchAgain: () -> Unit,
|
||||
crossinline itemContent: @Composable LazyItemScope.(T) -> Unit,
|
||||
noinline itemShimmer: @Composable BoxScope.() -> Unit,
|
||||
noinline itemPlaceholderContent: @Composable BoxScope.() -> Unit,
|
||||
) {
|
||||
val (_, typography) = LocalAppearance.current
|
||||
|
||||
@@ -163,7 +163,7 @@ inline fun <T : Innertube.Item> SearchResult(
|
||||
Box(
|
||||
modifier = Modifier
|
||||
.alpha(1f - index * 0.125f),
|
||||
content = itemShimmer
|
||||
content = itemPlaceholderContent
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,15 +26,15 @@ import it.vfsfitvnm.vimusic.ui.screens.playlistRoute
|
||||
import it.vfsfitvnm.vimusic.ui.styling.Dimensions
|
||||
import it.vfsfitvnm.vimusic.ui.styling.px
|
||||
import it.vfsfitvnm.vimusic.ui.views.AlbumItem
|
||||
import it.vfsfitvnm.vimusic.ui.views.AlbumItemShimmer
|
||||
import it.vfsfitvnm.vimusic.ui.views.AlbumItemPlaceholder
|
||||
import it.vfsfitvnm.vimusic.ui.views.ArtistItem
|
||||
import it.vfsfitvnm.vimusic.ui.views.ArtistItemShimmer
|
||||
import it.vfsfitvnm.vimusic.ui.views.ArtistItemPlaceholder
|
||||
import it.vfsfitvnm.vimusic.ui.views.PlaylistItem
|
||||
import it.vfsfitvnm.vimusic.ui.views.PlaylistItemShimmer
|
||||
import it.vfsfitvnm.vimusic.ui.views.SmallSongItem
|
||||
import it.vfsfitvnm.vimusic.ui.views.SmallSongItemShimmer
|
||||
import it.vfsfitvnm.vimusic.ui.views.PlaylistItemPlaceholder
|
||||
import it.vfsfitvnm.vimusic.ui.views.SongItem
|
||||
import it.vfsfitvnm.vimusic.ui.views.SongItemPlaceholder
|
||||
import it.vfsfitvnm.vimusic.ui.views.VideoItem
|
||||
import it.vfsfitvnm.vimusic.ui.views.VideoItemShimmer
|
||||
import it.vfsfitvnm.vimusic.ui.views.VideoItemPlaceholder
|
||||
import it.vfsfitvnm.vimusic.utils.asMediaItem
|
||||
import it.vfsfitvnm.vimusic.utils.forcePlay
|
||||
import it.vfsfitvnm.vimusic.utils.rememberPreference
|
||||
@@ -91,7 +91,7 @@ fun SearchResultScreen(query: String, onSearchAgain: () -> Unit) {
|
||||
stateSaver = InnertubeSongItemListSaver,
|
||||
fromMusicShelfRendererContent = Innertube.SongItem.Companion::from,
|
||||
itemContent = { song ->
|
||||
SmallSongItem(
|
||||
SongItem(
|
||||
song = song,
|
||||
thumbnailSizePx = thumbnailSizePx,
|
||||
onClick = {
|
||||
@@ -101,8 +101,8 @@ fun SearchResultScreen(query: String, onSearchAgain: () -> Unit) {
|
||||
}
|
||||
)
|
||||
},
|
||||
itemShimmer = {
|
||||
SmallSongItemShimmer(thumbnailSizeDp = thumbnailSizeDp)
|
||||
itemPlaceholderContent = {
|
||||
SongItemPlaceholder(thumbnailSizeDp = thumbnailSizeDp)
|
||||
}
|
||||
)
|
||||
}
|
||||
@@ -131,8 +131,8 @@ fun SearchResultScreen(query: String, onSearchAgain: () -> Unit) {
|
||||
)
|
||||
|
||||
},
|
||||
itemShimmer = {
|
||||
AlbumItemShimmer(thumbnailSizeDp = thumbnailSizeDp)
|
||||
itemPlaceholderContent = {
|
||||
AlbumItemPlaceholder(thumbnailSizeDp = thumbnailSizeDp)
|
||||
}
|
||||
)
|
||||
}
|
||||
@@ -160,8 +160,8 @@ fun SearchResultScreen(query: String, onSearchAgain: () -> Unit) {
|
||||
)
|
||||
)
|
||||
},
|
||||
itemShimmer = {
|
||||
ArtistItemShimmer(thumbnailSizeDp = thumbnailSizeDp)
|
||||
itemPlaceholderContent = {
|
||||
ArtistItemPlaceholder(thumbnailSizeDp = thumbnailSizeDp)
|
||||
}
|
||||
)
|
||||
}
|
||||
@@ -188,8 +188,8 @@ fun SearchResultScreen(query: String, onSearchAgain: () -> Unit) {
|
||||
}
|
||||
)
|
||||
},
|
||||
itemShimmer = {
|
||||
VideoItemShimmer(
|
||||
itemPlaceholderContent = {
|
||||
VideoItemPlaceholder(
|
||||
thumbnailHeightDp = thumbnailHeightDp,
|
||||
thumbnailWidthDp = thumbnailWidthDp
|
||||
)
|
||||
@@ -220,8 +220,8 @@ fun SearchResultScreen(query: String, onSearchAgain: () -> Unit) {
|
||||
)
|
||||
)
|
||||
},
|
||||
itemShimmer = {
|
||||
PlaylistItemShimmer(thumbnailSizeDp = thumbnailSizeDp)
|
||||
itemPlaceholderContent = {
|
||||
PlaylistItemPlaceholder(thumbnailSizeDp = thumbnailSizeDp)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user