Skip to content

Commit

Permalink
Hide dialogs on back pressed. And padding fix
Browse files Browse the repository at this point in the history
  • Loading branch information
terrakok committed Mar 14, 2023
1 parent f7aabf2 commit cba5559
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,18 @@ internal fun App() = AppTheme {
.asPaddingValues()
)
) {
Navigator(MainScreen()) { navigator ->
val globalDialogState = LocalMutableFullScreenState.current
Navigator(
screen = MainScreen(),
onBackPressed = {
if (globalDialogState.state.value == FullScreenState.Active) {
globalDialogState.state.value = FullScreenState.Inactive
return@Navigator false
} else {
return@Navigator true
}
}
) { navigator ->
Scaffold(
scaffoldState = scaffoldState,
snackbarHost = { hostState ->
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,19 +21,19 @@ import androidx.compose.ui.graphics.Color
* Main idea was found here: https://github.com/LucasAlfare/FullscreenComposable
*/

private enum class FullScreenState { Active, Inactive }
internal enum class FullScreenState { Active, Inactive }

private class MutableFullScreenState(
internal class MutableFullScreenState(
var state: MutableState<FullScreenState> = mutableStateOf(FullScreenState.Inactive)
)

private class FullScreenComposableRef(
internal class FullScreenComposableRef(
var composableReference: @Composable () -> Unit = {}
)

private val LocalMutableFullScreenState = compositionLocalOf { MutableFullScreenState() }
internal val LocalMutableFullScreenState = compositionLocalOf { MutableFullScreenState() }

private val LocalFullScreenComposableReference = compositionLocalOf { FullScreenComposableRef() }
internal val LocalFullScreenComposableReference = compositionLocalOf { FullScreenComposableRef() }

@Composable
internal fun CommonDialogHandleableApplication(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,9 @@ import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Row
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.WindowInsets
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.foundation.layout.size
import androidx.compose.foundation.layout.windowInsetsTopHeight
import androidx.compose.foundation.lazy.LazyColumn
import androidx.compose.foundation.lazy.itemsIndexed
import androidx.compose.material.FloatingActionButton
Expand Down Expand Up @@ -64,7 +62,6 @@ internal fun FeedItemList(
) {
LazyColumn {
itemsIndexed(feeds) { i, feed ->
if (i == 0) Spacer(modifier = Modifier.windowInsetsTopHeight(WindowInsets.statusBars))
FeedItem(feed) { onClick(feed) }
}
}
Expand Down

0 comments on commit cba5559

Please sign in to comment.