Skip to content

Commit bb18bdc

Browse files
committed
chore: add back keyboard handling to modal dismiss; increase modal height to 94%
Signed-off-by: Brandon McAnsh <git@bmcreations.dev>
1 parent d20e93c commit bb18bdc

3 files changed

Lines changed: 9 additions & 8 deletions

File tree

app/src/main/java/com/getcode/navigation/screens/Modals.kt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,8 @@ import cafe.adriel.voyager.core.screen.uniqueScreenKey
2525
import com.getcode.navigation.core.CodeNavigator
2626
import com.getcode.navigation.core.LocalCodeNavigator
2727
import com.getcode.theme.CodeTheme
28-
import com.getcode.theme.sheetHeight
29-
import com.getcode.util.keyboardAsState
3028
import com.getcode.view.components.SheetTitle
29+
import com.getcode.view.components.keyboardAsState
3130
import kotlinx.coroutines.delay
3231
import kotlinx.coroutines.launch
3332

@@ -79,7 +78,7 @@ internal fun Screen.ModalContainer(
7978
Column(
8079
modifier = Modifier
8180
.fillMaxWidth()
82-
.fillMaxHeight(sheetHeight)
81+
.fillMaxHeight(CodeTheme.dimens.modalHeightRatio)
8382
) {
8483
val lastItem by remember(navigator.lastModalItem) {
8584
derivedStateOf { navigator.lastModalItem }
@@ -93,13 +92,16 @@ internal fun Screen.ModalContainer(
9392
derivedStateOf { closeButton(lastItem) }
9493
}
9594

95+
val keyboardVisible by keyboardAsState()
9696
val keyboardController = LocalSoftwareKeyboardController.current
9797
val composeScope = rememberCoroutineScope()
9898

9999
val hideSheet = {
100100
composeScope.launch {
101-
keyboardController?.hide()
102-
delay(500)
101+
if (keyboardVisible) {
102+
keyboardController?.hide()
103+
delay(500)
104+
}
103105
navigator.hide()
104106
}
105107
}

app/src/main/java/com/getcode/theme/Dimens.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import androidx.compose.ui.unit.dp
1010
import com.getcode.BuildConfig
1111

1212
val topBarHeight = 56.dp
13-
const val sheetHeight = 0.9f
1413

1514
internal val LocalDimens = staticCompositionLocalOf<Dimensions> {
1615
error("No Dimensions provided")
@@ -166,6 +165,7 @@ class Dimensions(
166165
val none: Dp = 0.dp,
167166
val border: Dp = 1.dp,
168167
val thickBorder: Dp = 2.dp,
168+
val modalHeightRatio: Float = 0.95f,
169169
val inset: Dp,
170170
val screenWidth: Dp = Dp.Unspecified,
171171
val screenHeight: Dp = Dp.Unspecified,

app/src/main/java/com/getcode/view/main/invites/InvitesSheet.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@ import androidx.compose.ui.tooling.preview.Preview
1010
import androidx.hilt.navigation.compose.hiltViewModel
1111
import com.getcode.R
1212
import com.getcode.theme.CodeTheme
13-
import com.getcode.theme.sheetHeight
1413
import com.getcode.view.components.PermissionCheck
1514
import com.getcode.view.components.SheetTitle
1615
import com.getcode.view.components.getPermissionLauncher
@@ -38,7 +37,7 @@ fun InvitesSheet(upPress: () -> Unit = {}) {
3837
Box(
3938
modifier = Modifier
4039
.fillMaxWidth()
41-
.fillMaxHeight(sheetHeight)
40+
.fillMaxHeight(CodeTheme.dimens.modalHeightRatio)
4241
.padding(horizontal = CodeTheme.dimens.inset)
4342
) {
4443
Column {

0 commit comments

Comments
 (0)