From 2ab2ab06d5cec353e2c1ce3f3e00f2cc9d62a9a9 Mon Sep 17 00:00:00 2001 From: imashnake0 Date: Mon, 5 Feb 2024 04:39:26 -0500 Subject: [PATCH] Documentation and reorder params --- .../animite/features/home/HomeScreen.kt | 10 ++++---- .../animite/features/media/MediaPage.kt | 4 ++-- .../animite/core/ui/layouts/BannerLayout.kt | 23 ++++++++++++++----- 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/app/src/main/java/com/imashnake/animite/features/home/HomeScreen.kt b/app/src/main/java/com/imashnake/animite/features/home/HomeScreen.kt index 522e171d..fe14d53d 100644 --- a/app/src/main/java/com/imashnake/animite/features/home/HomeScreen.kt +++ b/app/src/main/java/com/imashnake/animite/features/home/HomeScreen.kt @@ -152,10 +152,6 @@ fun HomeScreen( } } }, - contentModifier = Modifier.padding( - top = LocalPaddings.current.large, - bottom = dimensionResource(R.dimen.navigation_bar_height) - ), content = { _ -> rows.fastForEach { row -> HomeRow( @@ -175,7 +171,11 @@ fun HomeScreen( } ) } - } + }, + contentModifier = Modifier.padding( + top = LocalPaddings.current.large, + bottom = dimensionResource(R.dimen.navigation_bar_height) + ) ) } } diff --git a/app/src/main/java/com/imashnake/animite/features/media/MediaPage.kt b/app/src/main/java/com/imashnake/animite/features/media/MediaPage.kt index f248eb02..9bcc79f8 100644 --- a/app/src/main/java/com/imashnake/animite/features/media/MediaPage.kt +++ b/app/src/main/java/com/imashnake/animite/features/media/MediaPage.kt @@ -112,7 +112,6 @@ fun MediaPage( modifier = bannerModifier.bannerParallax(scrollState) ) }, - contentModifier = Modifier.padding(top = LocalPaddings.current.medium), content = { MediaDetails( title = media.title.orEmpty(), @@ -169,7 +168,8 @@ fun MediaPage( .landscapeCutoutPadding() ) } - } + }, + contentModifier = Modifier.padding(top = LocalPaddings.current.medium) ) // TODO: https://developer.android.com/jetpack/compose/animation/quick-guide#concurrent-animations diff --git a/core/src/main/kotlin/com/imashnake/animite/core/ui/layouts/BannerLayout.kt b/core/src/main/kotlin/com/imashnake/animite/core/ui/layouts/BannerLayout.kt index 530aa96b..b50ce2ae 100644 --- a/core/src/main/kotlin/com/imashnake/animite/core/ui/layouts/BannerLayout.kt +++ b/core/src/main/kotlin/com/imashnake/animite/core/ui/layouts/BannerLayout.kt @@ -17,20 +17,31 @@ import androidx.compose.ui.unit.Dp import com.imashnake.animite.core.R import com.imashnake.animite.core.ui.LocalPaddings +/** + * Most screens and pages follow a banner-style layout in Animite. + * + * @param banner A banner [Composable] that is usually an image with + * [com.imashnake.animite.core.extensions.bannerParallax] and other components. + * @param content The content that appears in a [Column] below the banner. + * @param modifier Modifier for [BannerLayout]. + * @param bannerHeight The height of the banner in [Dp]s. + * @param bannerModifier Modifier for [banner]. Use this if a [Composable] in [banner] should have + * the dimensions of the banner. + * @param contentModifier Modifier for [content]. + */ @Composable fun BannerLayout( banner: @Composable (Modifier) -> Unit, content: @Composable (bannerHeight: Dp) -> Unit, modifier: Modifier = Modifier, + bannerHeight: Dp = dimensionResource(R.dimen.banner_height), + bannerModifier: Modifier = Modifier + .height(bannerHeight) + .fillMaxWidth(), contentModifier: Modifier = Modifier, - bannerHeight: Dp = dimensionResource(R.dimen.banner_height) ) { Box(modifier) { - banner( - Modifier - .height(bannerHeight) - .fillMaxWidth() - ) + banner(bannerModifier) Column( modifier = Modifier