fix: do not show swipe to reply if drawer is present and open

Signed-off-by: Infi <infi@infi.sh>
This commit is contained in:
Infi 2025-04-25 21:49:34 +02:00
parent 3c5c7bc30a
commit a8ce409b54
3 changed files with 6 additions and 4 deletions

View File

@ -63,6 +63,7 @@ const val SWIPE_TO_REPLY_THRESHOLD = -450f
fun RegularMessage(
message: Message,
channel: Channel?,
drawerIsOpen: Boolean,
setDrawerGestureEnabled: (Boolean) -> Unit,
setDisableScroll: (Boolean) -> Unit,
showMessageBottomSheet: (String) -> Unit,
@ -76,6 +77,7 @@ fun RegularMessage(
var offsetX by remember { mutableFloatStateOf(0f) }
val animOffsetX by animateFloatAsState(
when {
drawerIsOpen -> 0f
offsetX > -20f -> 0f
else -> offsetX
},

View File

@ -941,7 +941,7 @@ fun ChannelNavigator(
useDrawer = useDrawer,
drawerGestureEnabled = drawerGestureEnabled,
setDrawerGestureEnabled = setDrawerGestureEnabled,
drawerState = drawerState,
drawerIsOpen = drawerState?.isOpen == true,
)
}

View File

@ -197,7 +197,7 @@ fun ChannelScreen(
useBackButton: Boolean = false,
drawerGestureEnabled: Boolean = true,
setDrawerGestureEnabled: (Boolean) -> Unit = {},
drawerState: DrawerState? = null,
drawerIsOpen: Boolean = false,
backButtonAction: (() -> Unit)? = null,
useChatUI: Boolean = false,
viewModel: ChannelScreenViewModel = hiltViewModel()
@ -205,7 +205,6 @@ fun ChannelScreen(
// <editor-fold desc="State and effects">
val scope = rememberCoroutineScope()
val context = LocalContext.current
val haptic = LocalHapticFeedback.current
val config = LocalConfiguration.current
LaunchedEffect(Unit) {
@ -255,7 +254,7 @@ fun ChannelScreen(
}
LaunchedEffect(Unit) {
if (context.resources.configuration.keyboard and Configuration.KEYBOARD_QWERTY != 0) {
if (config.keyboard and Configuration.KEYBOARD_QWERTY != 0) {
viewModel.usesPhysicalKeyboard()
}
}
@ -709,6 +708,7 @@ fun ChannelScreen(
RegularMessage(
item.message,
viewModel.channel,
drawerIsOpen = drawerIsOpen,
setDrawerGestureEnabled = {
setDrawerGestureEnabled(it)
},