feat: update FAB bottom padding logic in GroupSetupScreen to improve positioning with keyboard and emoji panel

This commit is contained in:
2026-03-03 00:02:27 +05:00
parent 9ddad8ec3c
commit 50b27fcbb3

View File

@@ -226,14 +226,15 @@ fun GroupSetupScreen(
val density = LocalDensity.current
val imeBottomPx = WindowInsets.ime.getBottom(density)
val imeBottomDp = with(density) { imeBottomPx.toDp() }
// FAB bottom padding: keep FAB at a consistent visual position above any keyboard.
// When emoji panel is shown → it's part of Scaffold bottomBar, paddingValues includes it,
// so we offset from the *content area* bottom which is already above the emoji panel.
// When IME is shown → paddingValues don't include IME, so we add imeBottomDp.
// When neither → just a small offset from the bottom.
val fabBottomPadding =
if (coordinator.isEmojiBoxVisible) {
// Emoji panel is shown as Scaffold bottomBar → paddingValues already
// reserves space for it, so FAB only needs a small offset above it.
14.dp
} else if (imeBottomDp > 0.dp) {
// System keyboard is open but NOT covered by paddingValues.
// Place FAB at the same visual position as with the emoji panel.
14.dp + imeBottomDp
} else {
18.dp