diff --git a/app/src/main/java/com/anytypeio/anytype/ui/settings/ProfileSettingsFragment.kt b/app/src/main/java/com/anytypeio/anytype/ui/settings/ProfileSettingsFragment.kt index d83c8f2f2b..cec0392bb3 100644 --- a/app/src/main/java/com/anytypeio/anytype/ui/settings/ProfileSettingsFragment.kt +++ b/app/src/main/java/com/anytypeio/anytype/ui/settings/ProfileSettingsFragment.kt @@ -136,7 +136,7 @@ class ProfileSettingsFragment : BaseBottomSheetComposeFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - setupBottomSheetBehavior(PADDING_TOP) + setupBottomSheetBehavior(DEFAULT_PADDING_TOP) } override fun onStart() { @@ -191,6 +191,4 @@ class ProfileSettingsFragment : BaseBottomSheetComposeFragment() { } } -private const val PADDING_TOP = 28 - private const val SELECT_IMAGE_CODE = 1 diff --git a/app/src/main/java/com/anytypeio/anytype/ui/spaces/SpaceListFragment.kt b/app/src/main/java/com/anytypeio/anytype/ui/spaces/SpaceListFragment.kt index bd5195277d..f864061c5b 100644 --- a/app/src/main/java/com/anytypeio/anytype/ui/spaces/SpaceListFragment.kt +++ b/app/src/main/java/com/anytypeio/anytype/ui/spaces/SpaceListFragment.kt @@ -10,6 +10,7 @@ import androidx.compose.ui.platform.ViewCompositionStrategy import androidx.fragment.app.viewModels import androidx.lifecycle.compose.collectAsStateWithLifecycle import com.anytypeio.anytype.core_ui.features.multiplayer.SpaceListScreen +import com.anytypeio.anytype.core_utils.ext.setupBottomSheetBehavior import com.anytypeio.anytype.core_utils.ui.BaseBottomSheetComposeFragment import com.anytypeio.anytype.di.common.componentManager import com.anytypeio.anytype.presentation.spaces.SpaceListViewModel @@ -38,6 +39,10 @@ class SpaceListFragment : BaseBottomSheetComposeFragment() { } } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { + super.onViewCreated(view, savedInstanceState) + setupBottomSheetBehavior(DEFAULT_PADDING_TOP) + } override fun injectDependencies() { componentManager().spaceListComponent.get().inject(this) diff --git a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/multiplayer/SpaceListScreen.kt b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/multiplayer/SpaceListScreen.kt index 79fd468f7c..14e48158e8 100644 --- a/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/multiplayer/SpaceListScreen.kt +++ b/core-ui/src/main/java/com/anytypeio/anytype/core_ui/features/multiplayer/SpaceListScreen.kt @@ -18,6 +18,8 @@ import androidx.compose.material.Text import androidx.compose.runtime.Composable import androidx.compose.ui.Alignment import androidx.compose.ui.Modifier +import androidx.compose.ui.input.nestedscroll.nestedScroll +import androidx.compose.ui.platform.rememberNestedScrollInteropConnection import androidx.compose.ui.res.colorResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.text.style.TextOverflow @@ -45,7 +47,9 @@ fun SpaceListScreen( state: ViewState> ) { Column( - modifier = Modifier.fillMaxSize() + modifier = Modifier + .fillMaxSize() + .nestedScroll(rememberNestedScrollInteropConnection()) ) { Dragger( modifier = Modifier @@ -53,12 +57,8 @@ fun SpaceListScreen( .align(Alignment.CenterHorizontally) ) Header(text = stringResource(id = R.string.multiplayer_spaces)) - if (state is ViewState.Success) { - LazyColumn( - modifier = Modifier - .fillMaxWidth() - .weight(1.0f) - ) { + LazyColumn { + if (state is ViewState.Success) { itemsIndexed( items = state.data, itemContent = { idx, item -> @@ -68,8 +68,10 @@ fun SpaceListScreen( permissions = item.permissions, spaceIcon = item.icon, modifier = Modifier.padding( - horizontal = 10.dp, - vertical = 7.dp + start = 10.dp, + end = 10.dp, + top = 7.dp, + bottom = if (idx == state.data.lastIndex) 24.dp else 7.dp ) ) }, diff --git a/core-utils/src/main/java/com/anytypeio/anytype/core_utils/ui/BaseBottomSheetComposeFragment.kt b/core-utils/src/main/java/com/anytypeio/anytype/core_utils/ui/BaseBottomSheetComposeFragment.kt index bdd83fad89..eb1ef7e1e7 100644 --- a/core-utils/src/main/java/com/anytypeio/anytype/core_utils/ui/BaseBottomSheetComposeFragment.kt +++ b/core-utils/src/main/java/com/anytypeio/anytype/core_utils/ui/BaseBottomSheetComposeFragment.kt @@ -105,6 +105,10 @@ abstract class BaseBottomSheetComposeFragment : BottomSheetDialogFragment() { open fun releaseDependencies() { // Inject nothing by default. Override to inject. } + + companion object { + const val DEFAULT_PADDING_TOP = 28 + } } fun Fragment.getNavigationId() = findNavController().currentDestination?.id