From dd621d90a514cda88cd1fead5b5ca8bce278423e Mon Sep 17 00:00:00 2001 From: Harsh Shandilya Date: Mon, 15 Nov 2021 23:14:15 +0530 Subject: [PATCH] common: refactor comments page to accept modifiers --- .../msfjarvis/claw/android/ui/LobstersApp.kt | 4 ++-- .../claw/common/comments/Comments.kt | 24 +++++++++---------- 2 files changed, 13 insertions(+), 15 deletions(-) diff --git a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt index ac3d035b..0c7a9fec 100644 --- a/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt +++ b/android/src/main/kotlin/dev/msfjarvis/claw/android/ui/LobstersApp.kt @@ -120,7 +120,7 @@ fun LobstersApp( modifier = Modifier.navigationBarsPadding(), ) }, - ) { paddingValues -> + ) { NavHost(navController, startDestination = Destinations.Hottest) { composable(Destinations.Hottest) { setWebUri("https://lobste.rs/") @@ -139,7 +139,7 @@ fun LobstersApp( CommentsPage( postId = postId, getDetails = viewModel::getPostComments, - paddingValues = paddingValues, + modifier = Modifier.navigationBarsPadding(), ) } } diff --git a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/comments/Comments.kt b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/comments/Comments.kt index 8240eecf..8b34c5e1 100644 --- a/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/comments/Comments.kt +++ b/common/src/commonMain/kotlin/dev/msfjarvis/claw/common/comments/Comments.kt @@ -1,11 +1,9 @@ package dev.msfjarvis.claw.common.comments import androidx.compose.foundation.layout.Box -import androidx.compose.foundation.layout.PaddingValues import androidx.compose.foundation.layout.Spacer import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.foundation.layout.height -import androidx.compose.foundation.layout.padding import androidx.compose.foundation.lazy.LazyColumn import androidx.compose.foundation.lazy.items import androidx.compose.material.CircularProgressIndicator @@ -20,7 +18,6 @@ import androidx.compose.runtime.setValue import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier import androidx.compose.ui.graphics.Color -import androidx.compose.ui.unit.Dp import androidx.compose.ui.unit.dp import dev.msfjarvis.claw.model.LobstersPostDetails import dev.msfjarvis.lobsters.ui.comments.NetworkState @@ -28,9 +25,9 @@ import dev.msfjarvis.lobsters.ui.comments.NetworkState @Composable private fun CommentsPageInternal( details: LobstersPostDetails, - bottomPadding: Dp, + modifier: Modifier = Modifier, ) { - LazyColumn(Modifier.padding(bottom = bottomPadding)) { + LazyColumn(modifier) { item { CommentsHeader(postDetails = details) } item { Spacer(modifier = Modifier.height(8.dp)) } @@ -46,7 +43,7 @@ private fun CommentsPageInternal( fun CommentsPage( postId: String, getDetails: suspend (String) -> LobstersPostDetails, - paddingValues: PaddingValues, + modifier: Modifier = Modifier, ) { var postDetails: NetworkState by remember { mutableStateOf(NetworkState.Loading) } @@ -56,18 +53,19 @@ fun CommentsPage( is NetworkState.Success<*> -> { CommentsPageInternal( (postDetails as NetworkState.Success).data, - paddingValues.calculateBottomPadding(), + modifier, ) } is NetworkState.Error -> TODO("Handle no network scenario") - NetworkState.Loading -> ProgressBar(paddingValues.calculateBottomPadding()) + NetworkState.Loading -> ProgressBar(modifier) } } @Composable -private fun ProgressBar(bottomPadding: Dp) { - Box( - modifier = Modifier.padding(bottom = bottomPadding).fillMaxSize(), - contentAlignment = Alignment.Center - ) { CircularProgressIndicator(color = MaterialTheme.colors.secondary) } +private fun ProgressBar( + modifier: Modifier, +) { + Box(modifier = modifier.fillMaxSize(), contentAlignment = Alignment.Center) { + CircularProgressIndicator(color = MaterialTheme.colors.secondary) + } }