Refactor(Scroll): Optimize scroll
This commit is contained in:
@@ -197,7 +197,8 @@ internal fun LibrariesScreen(
|
|||||||
LibrariesScreenUiState.Nothing -> {
|
LibrariesScreenUiState.Nothing -> {
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxSize(),
|
.fillMaxSize()
|
||||||
|
.verticalScroll(state = rememberScrollState()),
|
||||||
horizontalAlignment = Alignment.CenterHorizontally,
|
horizontalAlignment = Alignment.CenterHorizontally,
|
||||||
verticalArrangement = Arrangement.Center
|
verticalArrangement = Arrangement.Center
|
||||||
) {
|
) {
|
||||||
@@ -208,7 +209,8 @@ internal fun LibrariesScreen(
|
|||||||
LibrariesScreenUiState.NotFound -> {
|
LibrariesScreenUiState.NotFound -> {
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier
|
modifier = Modifier
|
||||||
.fillMaxSize(),
|
.fillMaxSize()
|
||||||
|
.verticalScroll(state = rememberScrollState()),
|
||||||
horizontalAlignment = Alignment.CenterHorizontally,
|
horizontalAlignment = Alignment.CenterHorizontally,
|
||||||
verticalArrangement = Arrangement.Center
|
verticalArrangement = Arrangement.Center
|
||||||
) {
|
) {
|
||||||
@@ -228,6 +230,8 @@ internal fun LibrariesScreen(
|
|||||||
}
|
}
|
||||||
|
|
||||||
LazyVerticalStaggeredGrid(
|
LazyVerticalStaggeredGrid(
|
||||||
|
modifier = Modifier
|
||||||
|
.fillMaxSize(),
|
||||||
columns = StaggeredGridCells.Adaptive(300.dp),
|
columns = StaggeredGridCells.Adaptive(300.dp),
|
||||||
contentPadding = PaddingValues(16.dp),
|
contentPadding = PaddingValues(16.dp),
|
||||||
horizontalArrangement = Arrangement.spacedBy(16.dp),
|
horizontalArrangement = Arrangement.spacedBy(16.dp),
|
||||||
|
|||||||
@@ -126,7 +126,9 @@ internal fun StarScreen(
|
|||||||
|
|
||||||
StarScreenUiState.Nothing -> {
|
StarScreenUiState.Nothing -> {
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier.fillMaxSize(),
|
modifier = Modifier
|
||||||
|
.fillMaxSize()
|
||||||
|
.verticalScroll(state = rememberScrollState()),
|
||||||
horizontalAlignment = Alignment.CenterHorizontally,
|
horizontalAlignment = Alignment.CenterHorizontally,
|
||||||
verticalArrangement = Arrangement.Center
|
verticalArrangement = Arrangement.Center
|
||||||
) {
|
) {
|
||||||
@@ -136,6 +138,8 @@ internal fun StarScreen(
|
|||||||
|
|
||||||
is StarScreenUiState.Success -> {
|
is StarScreenUiState.Success -> {
|
||||||
LazyVerticalStaggeredGrid(
|
LazyVerticalStaggeredGrid(
|
||||||
|
modifier = Modifier
|
||||||
|
.fillMaxSize(),
|
||||||
columns = StaggeredGridCells.Adaptive(160.dp),
|
columns = StaggeredGridCells.Adaptive(160.dp),
|
||||||
contentPadding = PaddingValues(16.dp),
|
contentPadding = PaddingValues(16.dp),
|
||||||
horizontalArrangement = Arrangement.spacedBy(16.dp),
|
horizontalArrangement = Arrangement.spacedBy(16.dp),
|
||||||
@@ -214,7 +218,7 @@ private fun ToolMenu(
|
|||||||
ModalBottomSheet(onDismissRequest = onDismiss, dragHandle = {}) {
|
ModalBottomSheet(onDismissRequest = onDismiss, dragHandle = {}) {
|
||||||
Column(
|
Column(
|
||||||
modifier = modifier.padding(16.dp)
|
modifier = modifier.padding(16.dp)
|
||||||
){
|
) {
|
||||||
DialogTitle(text = selectedTool.name)
|
DialogTitle(text = selectedTool.name)
|
||||||
HorizontalDivider()
|
HorizontalDivider()
|
||||||
Spacer(Modifier.height(4.dp))
|
Spacer(Modifier.height(4.dp))
|
||||||
|
|||||||
@@ -128,6 +128,8 @@ internal fun ToolStoreScreen(
|
|||||||
modifier.fillMaxSize()
|
modifier.fillMaxSize()
|
||||||
) {
|
) {
|
||||||
LazyVerticalStaggeredGrid(
|
LazyVerticalStaggeredGrid(
|
||||||
|
modifier = Modifier
|
||||||
|
.fillMaxSize(),
|
||||||
columns = StaggeredGridCells.Adaptive(160.dp),
|
columns = StaggeredGridCells.Adaptive(160.dp),
|
||||||
contentPadding = PaddingValues(16.dp),
|
contentPadding = PaddingValues(16.dp),
|
||||||
horizontalArrangement = Arrangement.spacedBy(16.dp),
|
horizontalArrangement = Arrangement.spacedBy(16.dp),
|
||||||
@@ -177,7 +179,9 @@ internal fun ToolStoreScreen(
|
|||||||
|
|
||||||
if (itemsAvailable == 0 && !isToolLoading) {
|
if (itemsAvailable == 0 && !isToolLoading) {
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier.fillMaxSize(),
|
modifier = Modifier
|
||||||
|
.fillMaxSize()
|
||||||
|
.verticalScroll(state = rememberScrollState()),
|
||||||
horizontalAlignment = Alignment.CenterHorizontally,
|
horizontalAlignment = Alignment.CenterHorizontally,
|
||||||
verticalArrangement = Arrangement.Center
|
verticalArrangement = Arrangement.Center
|
||||||
) {
|
) {
|
||||||
|
|||||||
@@ -33,9 +33,9 @@ class ToolStoreViewModel @Inject constructor(
|
|||||||
val storeData: Flow<PagingData<ToolEntity>> = combine(
|
val storeData: Flow<PagingData<ToolEntity>> = combine(
|
||||||
searchValue, currentPage, ::Pair
|
searchValue, currentPage, ::Pair
|
||||||
).flatMapLatest { (searchValue, currentPage) ->
|
).flatMapLatest { (searchValue, currentPage) ->
|
||||||
storeRepository.getStore(searchValue, currentPage).cachedIn(
|
storeRepository
|
||||||
scope = viewModelScope
|
.getStore(searchValue, currentPage)
|
||||||
)
|
.cachedIn(viewModelScope)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun onSearchValueChange(value: String) {
|
fun onSearchValueChange(value: String) {
|
||||||
|
|||||||
@@ -146,7 +146,9 @@ internal fun ToolsScreen(
|
|||||||
|
|
||||||
ToolsScreenUiState.Nothing -> {
|
ToolsScreenUiState.Nothing -> {
|
||||||
Column(
|
Column(
|
||||||
modifier = Modifier.fillMaxSize(),
|
modifier = Modifier
|
||||||
|
.fillMaxSize()
|
||||||
|
.verticalScroll(state = rememberScrollState()),
|
||||||
horizontalAlignment = Alignment.CenterHorizontally,
|
horizontalAlignment = Alignment.CenterHorizontally,
|
||||||
verticalArrangement = Arrangement.Center
|
verticalArrangement = Arrangement.Center
|
||||||
) {
|
) {
|
||||||
@@ -159,6 +161,8 @@ internal fun ToolsScreen(
|
|||||||
|
|
||||||
is ToolsScreenUiState.Success -> {
|
is ToolsScreenUiState.Success -> {
|
||||||
LazyVerticalStaggeredGrid(
|
LazyVerticalStaggeredGrid(
|
||||||
|
modifier = Modifier
|
||||||
|
.fillMaxSize(),
|
||||||
columns = StaggeredGridCells.Adaptive(160.dp),
|
columns = StaggeredGridCells.Adaptive(160.dp),
|
||||||
contentPadding = PaddingValues(16.dp),
|
contentPadding = PaddingValues(16.dp),
|
||||||
horizontalArrangement = Arrangement.spacedBy(16.dp),
|
horizontalArrangement = Arrangement.spacedBy(16.dp),
|
||||||
|
|||||||
Reference in New Issue
Block a user