From a8ce409b549314590f277c13f88be49c7955382e Mon Sep 17 00:00:00 2001 From: Infi Date: Fri, 25 Apr 2025 21:49:34 +0200 Subject: [PATCH] fix: do not show swipe to reply if drawer is present and open Signed-off-by: Infi --- .../revolt/composables/screens/chat/atoms/RegularMessage.kt | 2 ++ .../main/java/chat/revolt/screens/chat/ChatRouterScreen.kt | 2 +- .../chat/revolt/screens/chat/views/channel/ChannelScreen.kt | 6 +++--- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/chat/revolt/composables/screens/chat/atoms/RegularMessage.kt b/app/src/main/java/chat/revolt/composables/screens/chat/atoms/RegularMessage.kt index 882b7ce1..325321a9 100644 --- a/app/src/main/java/chat/revolt/composables/screens/chat/atoms/RegularMessage.kt +++ b/app/src/main/java/chat/revolt/composables/screens/chat/atoms/RegularMessage.kt @@ -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 }, diff --git a/app/src/main/java/chat/revolt/screens/chat/ChatRouterScreen.kt b/app/src/main/java/chat/revolt/screens/chat/ChatRouterScreen.kt index 2e05f633..5d870cff 100644 --- a/app/src/main/java/chat/revolt/screens/chat/ChatRouterScreen.kt +++ b/app/src/main/java/chat/revolt/screens/chat/ChatRouterScreen.kt @@ -941,7 +941,7 @@ fun ChannelNavigator( useDrawer = useDrawer, drawerGestureEnabled = drawerGestureEnabled, setDrawerGestureEnabled = setDrawerGestureEnabled, - drawerState = drawerState, + drawerIsOpen = drawerState?.isOpen == true, ) } diff --git a/app/src/main/java/chat/revolt/screens/chat/views/channel/ChannelScreen.kt b/app/src/main/java/chat/revolt/screens/chat/views/channel/ChannelScreen.kt index 592d2fea..1825658e 100644 --- a/app/src/main/java/chat/revolt/screens/chat/views/channel/ChannelScreen.kt +++ b/app/src/main/java/chat/revolt/screens/chat/views/channel/ChannelScreen.kt @@ -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( // 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) },