Apply Handle + shape to all bottomsheet

This commit is contained in:
Thomas Andres Gomez 2023-04-07 16:14:18 +02:00
parent 7cc08cf300
commit 1f0c6de78d
6 changed files with 22 additions and 8 deletions

View file

@ -104,7 +104,7 @@ fun FilterBottomSheet(
skipHalfExpanded = true, skipHalfExpanded = true,
), ),
sheetState: FilterBottomSheetState = rememberFilterBottomSheetState(), sheetState: FilterBottomSheetState = rememberFilterBottomSheetState(),
sheetShape: Shape = MaterialTheme.bibLib.shapes.filterSheet, sheetShape: Shape = MaterialTheme.bibLib.shapes.sheet,
content: @Composable () -> Unit, content: @Composable () -> Unit,
) { ) {
CompositionLocalProvider( CompositionLocalProvider(

View file

@ -1,16 +1,15 @@
package com.pixelized.biblib.ui.composable.scaffold package com.pixelized.biblib.ui.composable.scaffold
import androidx.activity.compose.BackHandler import androidx.activity.compose.BackHandler
import androidx.compose.material.ExperimentalMaterialApi import androidx.compose.material.*
import androidx.compose.material.ModalBottomSheetLayout
import androidx.compose.material.ModalBottomSheetState
import androidx.compose.material.ModalBottomSheetValue.Hidden import androidx.compose.material.ModalBottomSheetValue.Hidden
import androidx.compose.material.rememberModalBottomSheetState
import androidx.compose.runtime.* import androidx.compose.runtime.*
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.Shape
import com.pixelized.biblib.model.search.SortType import com.pixelized.biblib.model.search.SortType
import com.pixelized.biblib.model.search.SortValue import com.pixelized.biblib.model.search.SortValue
import com.pixelized.biblib.ui.screen.home.sort.BookSortPage import com.pixelized.biblib.ui.screen.home.sort.BookSortPage
import com.pixelized.biblib.utils.extention.bibLib
import kotlinx.coroutines.CancellableContinuation import kotlinx.coroutines.CancellableContinuation
import kotlinx.coroutines.suspendCancellableCoroutine import kotlinx.coroutines.suspendCancellableCoroutine
import kotlinx.coroutines.sync.Mutex import kotlinx.coroutines.sync.Mutex
@ -82,6 +81,7 @@ fun SortBottomSheet(
initialValue = Hidden, initialValue = Hidden,
skipHalfExpanded = true, skipHalfExpanded = true,
), ),
sheetShape: Shape = MaterialTheme.bibLib.shapes.sheet,
sheetState: SortBottomSheetState = rememberSortBottomSheetState(), sheetState: SortBottomSheetState = rememberSortBottomSheetState(),
content: @Composable () -> Unit, content: @Composable () -> Unit,
) { ) {
@ -98,7 +98,7 @@ fun SortBottomSheet(
) )
// Check the state of the bottomSheetState and call for dismiss if needed. // Check the state of the bottomSheetState and call for dismiss if needed.
HandleBottomSheetDismiss( HandleBottomSheetDismiss(
bottomSheetState =bottomSheetState, bottomSheetState = bottomSheetState,
onDismiss = { currentBottomSheetData?.dismiss() } onDismiss = { currentBottomSheetData?.dismiss() }
) )
// Handle back event. // Handle back event.
@ -110,6 +110,7 @@ fun SortBottomSheet(
ModalBottomSheetLayout( ModalBottomSheetLayout(
sheetState = bottomSheetState, sheetState = bottomSheetState,
content = content, content = content,
sheetShape = sheetShape,
scrimColor = Color.Transparent, scrimColor = Color.Transparent,
sheetContent = { sheetContent = {
BookSortPage( BookSortPage(

View file

@ -18,6 +18,7 @@ import com.pixelized.biblib.ui.composable.scaffold.LocalDetailBottomSheetState
import com.pixelized.biblib.ui.screen.home.profile.ProfileViewModel import com.pixelized.biblib.ui.screen.home.profile.ProfileViewModel
import com.pixelized.biblib.ui.screen.home.profile.UserUio import com.pixelized.biblib.ui.screen.home.profile.UserUio
import com.pixelized.biblib.ui.theme.color.ShadowPalette import com.pixelized.biblib.ui.theme.color.ShadowPalette
import com.pixelized.biblib.utils.extention.bibLib
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@Stable @Stable
@ -73,6 +74,7 @@ fun DetailScreen(
ModalBottomSheetLayout( ModalBottomSheetLayout(
modifier = Modifier.fillMaxSize(), modifier = Modifier.fillMaxSize(),
sheetState = emailSheetState, sheetState = emailSheetState,
sheetShape = MaterialTheme.bibLib.shapes.sheet,
scrimColor = ShadowPalette.scrim, scrimColor = ShadowPalette.scrim,
sheetContent = { sheetContent = {
DetailScreenSendOption( DetailScreenSendOption(

View file

@ -15,6 +15,7 @@ import androidx.compose.material.RadioButton
import androidx.compose.material.Text import androidx.compose.material.Text
import androidx.compose.runtime.* import androidx.compose.runtime.*
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Alignment.Companion.CenterHorizontally
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.res.stringResource import androidx.compose.ui.res.stringResource
import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.AnnotatedString
@ -25,6 +26,7 @@ import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import androidx.hilt.navigation.compose.hiltViewModel import androidx.hilt.navigation.compose.hiltViewModel
import com.pixelized.biblib.R import com.pixelized.biblib.R
import com.pixelized.biblib.ui.composable.Handle
import com.pixelized.biblib.ui.theme.BibLibTheme import com.pixelized.biblib.ui.theme.BibLibTheme
import com.pixelized.biblib.utils.extention.* import com.pixelized.biblib.utils.extention.*
@ -87,6 +89,11 @@ fun DetailScreenSendOption(
.padding(top = 16.dp) .padding(top = 16.dp)
.padding(horizontal = 16.dp), .padding(horizontal = 16.dp),
) { ) {
Handle(
modifier = Modifier
.align(alignment = CenterHorizontally)
.padding(bottom = 16.dp),
)
Text( Text(
modifier = Modifier.padding(bottom = 16.dp), modifier = Modifier.padding(bottom = 16.dp),
style = MaterialTheme.typography.h6, style = MaterialTheme.typography.h6,
@ -95,7 +102,6 @@ fun DetailScreenSendOption(
) )
Text( Text(
modifier = Modifier.padding(bottom = 8.dp),
style = MaterialTheme.typography.caption, style = MaterialTheme.typography.caption,
color = MaterialTheme.bibLib.colors.typography.light, color = MaterialTheme.bibLib.colors.typography.light,
text = rememberDescription() text = rememberDescription()

View file

@ -26,6 +26,7 @@ import androidx.hilt.navigation.compose.hiltViewModel
import com.pixelized.biblib.R import com.pixelized.biblib.R
import com.pixelized.biblib.model.search.SortType import com.pixelized.biblib.model.search.SortType
import com.pixelized.biblib.model.search.SortValue import com.pixelized.biblib.model.search.SortValue
import com.pixelized.biblib.ui.composable.Handle
import com.pixelized.biblib.ui.theme.BibLibTheme import com.pixelized.biblib.ui.theme.BibLibTheme
import com.pixelized.biblib.utils.extention.bibLib import com.pixelized.biblib.utils.extention.bibLib
import org.burnoutcrew.reorderable.* import org.burnoutcrew.reorderable.*
@ -73,6 +74,10 @@ private fun BookSortPageContent(
modifier = modifier, modifier = modifier,
verticalArrangement = Arrangement.spacedBy(16.dp), verticalArrangement = Arrangement.spacedBy(16.dp),
) { ) {
Handle(
modifier = Modifier.align(Alignment.CenterHorizontally),
)
Text( Text(
modifier = Modifier.padding(horizontal = 16.dp), modifier = Modifier.padding(horizontal = 16.dp),
style = MaterialTheme.typography.h6, style = MaterialTheme.typography.h6,

View file

@ -17,5 +17,5 @@ data class BibLibShape(
), ),
val bookThumbnailCoverSmall: Shape = RoundedCornerShape(4.dp), val bookThumbnailCoverSmall: Shape = RoundedCornerShape(4.dp),
val bookThumbnailCoverLarge: Shape = RoundedCornerShape(4.dp), val bookThumbnailCoverLarge: Shape = RoundedCornerShape(4.dp),
val filterSheet: Shape = RoundedCornerShape(topEnd = 16.dp, topStart = 16.dp), val sheet: Shape = RoundedCornerShape(topEnd = 16.dp, topStart = 16.dp),
) )