From d6f43b7579dec918f60db5496c44fa1b1318daab Mon Sep 17 00:00:00 2001 From: Owen LeJeune Date: Wed, 31 May 2023 17:36:26 -0400 Subject: [PATCH] some ui tweaks --- .../com/owenlejeune/tvtime/MainActivity.kt | 7 +++++-- .../owenlejeune/tvtime/ui/components/Cards.kt | 18 +++++++++--------- .../tvtime/ui/components/Posters.kt | 14 +++++++------- .../tvtime/ui/screens/main/DetailViewCommon.kt | 3 ++- .../tvtime/ui/screens/main/MediaDetailView.kt | 5 +---- 5 files changed, 24 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/com/owenlejeune/tvtime/MainActivity.kt b/app/src/main/java/com/owenlejeune/tvtime/MainActivity.kt index 536a19b..5abcf1b 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/MainActivity.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/MainActivity.kt @@ -163,8 +163,8 @@ class MainActivity : MonetCompatActivity() { scrolledContainerColor = MaterialTheme.colorScheme.background ), actions = { - defaultAppBarActions() appBarActions.value(this) + defaultAppBarActions() } ) } @@ -292,7 +292,7 @@ class MainActivity : MonetCompatActivity() { Row(modifier = Modifier.fillMaxSize()) { NavigationRail { Spacer(modifier = Modifier.weight(1f)) - BottomNavItem.SortedItems.forEach { item -> + BottomNavItem.SortedItems.forEachIndexed { index, item -> NavigationRailItem( icon = { Icon(painter = painterResource(id = item.icon), contentDescription = null) }, label = { if (preferences.showBottomTabLabels) Text(item.name) }, @@ -305,6 +305,9 @@ class MainActivity : MonetCompatActivity() { ) } ) + if (index < BottomNavItem.SortedItems.size - 1) { + Spacer(modifier = Modifier.height(20.dp)) + } } Spacer(modifier = Modifier.weight(1f)) } diff --git a/app/src/main/java/com/owenlejeune/tvtime/ui/components/Cards.kt b/app/src/main/java/com/owenlejeune/tvtime/ui/components/Cards.kt index 83fa836..b3ab8d4 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/ui/components/Cards.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/ui/components/Cards.kt @@ -83,8 +83,6 @@ fun ExpandableContentCard( Card( modifier = modifier - .fillMaxWidth() - .wrapContentHeight() .animateContentSize( animationSpec = tween( durationMillis = 300, @@ -95,7 +93,9 @@ fun ExpandableContentCard( elevation = CardDefaults.cardElevation(defaultElevation = 8.dp), colors = CardDefaults.cardColors(containerColor = backgroundColor) ) { - Column(modifier = Modifier.fillMaxSize()) { + Column( + modifier = Modifier.fillMaxSize() + ) { title() content(expandedState) Text( @@ -124,10 +124,10 @@ fun LazyListContentCard( content: LazyListScope.() -> Unit ) { Card( - modifier = modifier - .background(color = backgroundColor), + modifier = modifier, shape = RoundedCornerShape(10.dp), - elevation = CardDefaults.cardElevation(defaultElevation = 8.dp) + elevation = CardDefaults.cardElevation(defaultElevation = 8.dp), + colors = CardDefaults.cardColors(containerColor = backgroundColor) ) { Column( modifier = Modifier @@ -159,10 +159,10 @@ fun ListContentCard( content: @Composable ColumnScope.() -> Unit ) { Card( - modifier = modifier - .background(color = backgroundColor), + modifier = modifier, shape = RoundedCornerShape(10.dp), - elevation = CardDefaults.cardElevation(defaultElevation = 8.dp) + elevation = CardDefaults.cardElevation(defaultElevation = 8.dp), + colors = CardDefaults.cardColors(containerColor = backgroundColor) ) { Column( modifier = Modifier diff --git a/app/src/main/java/com/owenlejeune/tvtime/ui/components/Posters.kt b/app/src/main/java/com/owenlejeune/tvtime/ui/components/Posters.kt index 81c3fff..e854169 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/ui/components/Posters.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/ui/components/Posters.kt @@ -215,6 +215,7 @@ fun PosterItem( modifier: Modifier = Modifier, width: Dp = POSTER_WIDTH, onClick: () -> Unit = {}, + enabled: Boolean = true, noDataImage: Int = R.drawable.placeholder, placeholder: Int = R.drawable.placeholder, elevation: Dp = 8.dp, @@ -229,7 +230,12 @@ fun PosterItem( .wrapContentHeight(), shape = RoundedCornerShape(5.dp) ) { - Box { + Box( + modifier = Modifier.clickable( + enabled = true, + onClick = onClick + ) + ) { var sizeImage by remember { mutableStateOf(IntSize.Zero) } val gradient = Brush.verticalGradient( colors = listOf(Color.Transparent, Color.Black.copy(alpha = 0.7f)), @@ -243,9 +249,6 @@ fun PosterItem( .width(width = width) .wrapContentHeight() .clip(RoundedCornerShape(5.dp)) - .clickable( - onClick = onClick - ) .onGloballyPositioned { sizeImage = it.size }, onError = { Log.d("Poster", "Error loading: $url") }, error = rememberAsyncImagePainter(model = noDataImage), @@ -260,9 +263,6 @@ fun PosterItem( .width(width = width) .height(height = POSTER_HEIGHT) .clip(RoundedCornerShape(5.dp)) - .clickable( - onClick = onClick - ) .onGloballyPositioned { sizeImage = it.size }, painter = rememberAsyncImagePainter(model = noDataImage), contentDescription = title, diff --git a/app/src/main/java/com/owenlejeune/tvtime/ui/screens/main/DetailViewCommon.kt b/app/src/main/java/com/owenlejeune/tvtime/ui/screens/main/DetailViewCommon.kt index 1b0d165..cace922 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/ui/screens/main/DetailViewCommon.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/ui/screens/main/DetailViewCommon.kt @@ -75,7 +75,8 @@ fun DetailHeader( url = posterUrl, title = posterContentDescription, elevation = 20.dp, - overrideShowTitle = false + overrideShowTitle = false, + enabled = false ) rating?.let { diff --git a/app/src/main/java/com/owenlejeune/tvtime/ui/screens/main/MediaDetailView.kt b/app/src/main/java/com/owenlejeune/tvtime/ui/screens/main/MediaDetailView.kt index d99272c..777fd53 100644 --- a/app/src/main/java/com/owenlejeune/tvtime/ui/screens/main/MediaDetailView.kt +++ b/app/src/main/java/com/owenlejeune/tvtime/ui/screens/main/MediaDetailView.kt @@ -108,8 +108,7 @@ fun MediaDetailView( Box(modifier = Modifier.padding(innerPadding)) { Row( modifier = Modifier - .background(color = MaterialTheme.colorScheme.background) - .padding(bottom = 16.dp), + .background(color = MaterialTheme.colorScheme.background), horizontalArrangement = Arrangement.spacedBy(16.dp) ) { Column( @@ -169,7 +168,6 @@ fun MediaDetailView( modifier = Modifier .background(color = MaterialTheme.colorScheme.background) .weight(1f) - .padding(bottom = 16.dp) .verticalScroll(state = rememberScrollState()) ) { ReviewsCard(itemId = itemId, service = service) @@ -924,7 +922,6 @@ fun SimilarContentCard( } } -@OptIn(ExperimentalFoundationApi::class) @Composable fun VideosCard(itemId: Int?, service: DetailService, modifier: Modifier = Modifier) { val videoResponse = remember { mutableStateOf(null) }