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:
parent
3c5c7bc30a
commit
a8ce409b54
|
|
@ -63,6 +63,7 @@ const val SWIPE_TO_REPLY_THRESHOLD = -450f
|
||||||
fun RegularMessage(
|
fun RegularMessage(
|
||||||
message: Message,
|
message: Message,
|
||||||
channel: Channel?,
|
channel: Channel?,
|
||||||
|
drawerIsOpen: Boolean,
|
||||||
setDrawerGestureEnabled: (Boolean) -> Unit,
|
setDrawerGestureEnabled: (Boolean) -> Unit,
|
||||||
setDisableScroll: (Boolean) -> Unit,
|
setDisableScroll: (Boolean) -> Unit,
|
||||||
showMessageBottomSheet: (String) -> Unit,
|
showMessageBottomSheet: (String) -> Unit,
|
||||||
|
|
@ -76,6 +77,7 @@ fun RegularMessage(
|
||||||
var offsetX by remember { mutableFloatStateOf(0f) }
|
var offsetX by remember { mutableFloatStateOf(0f) }
|
||||||
val animOffsetX by animateFloatAsState(
|
val animOffsetX by animateFloatAsState(
|
||||||
when {
|
when {
|
||||||
|
drawerIsOpen -> 0f
|
||||||
offsetX > -20f -> 0f
|
offsetX > -20f -> 0f
|
||||||
else -> offsetX
|
else -> offsetX
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -941,7 +941,7 @@ fun ChannelNavigator(
|
||||||
useDrawer = useDrawer,
|
useDrawer = useDrawer,
|
||||||
drawerGestureEnabled = drawerGestureEnabled,
|
drawerGestureEnabled = drawerGestureEnabled,
|
||||||
setDrawerGestureEnabled = setDrawerGestureEnabled,
|
setDrawerGestureEnabled = setDrawerGestureEnabled,
|
||||||
drawerState = drawerState,
|
drawerIsOpen = drawerState?.isOpen == true,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -197,7 +197,7 @@ fun ChannelScreen(
|
||||||
useBackButton: Boolean = false,
|
useBackButton: Boolean = false,
|
||||||
drawerGestureEnabled: Boolean = true,
|
drawerGestureEnabled: Boolean = true,
|
||||||
setDrawerGestureEnabled: (Boolean) -> Unit = {},
|
setDrawerGestureEnabled: (Boolean) -> Unit = {},
|
||||||
drawerState: DrawerState? = null,
|
drawerIsOpen: Boolean = false,
|
||||||
backButtonAction: (() -> Unit)? = null,
|
backButtonAction: (() -> Unit)? = null,
|
||||||
useChatUI: Boolean = false,
|
useChatUI: Boolean = false,
|
||||||
viewModel: ChannelScreenViewModel = hiltViewModel()
|
viewModel: ChannelScreenViewModel = hiltViewModel()
|
||||||
|
|
@ -205,7 +205,6 @@ fun ChannelScreen(
|
||||||
// <editor-fold desc="State and effects">
|
// <editor-fold desc="State and effects">
|
||||||
val scope = rememberCoroutineScope()
|
val scope = rememberCoroutineScope()
|
||||||
val context = LocalContext.current
|
val context = LocalContext.current
|
||||||
val haptic = LocalHapticFeedback.current
|
|
||||||
val config = LocalConfiguration.current
|
val config = LocalConfiguration.current
|
||||||
|
|
||||||
LaunchedEffect(Unit) {
|
LaunchedEffect(Unit) {
|
||||||
|
|
@ -255,7 +254,7 @@ fun ChannelScreen(
|
||||||
}
|
}
|
||||||
|
|
||||||
LaunchedEffect(Unit) {
|
LaunchedEffect(Unit) {
|
||||||
if (context.resources.configuration.keyboard and Configuration.KEYBOARD_QWERTY != 0) {
|
if (config.keyboard and Configuration.KEYBOARD_QWERTY != 0) {
|
||||||
viewModel.usesPhysicalKeyboard()
|
viewModel.usesPhysicalKeyboard()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -709,6 +708,7 @@ fun ChannelScreen(
|
||||||
RegularMessage(
|
RegularMessage(
|
||||||
item.message,
|
item.message,
|
||||||
viewModel.channel,
|
viewModel.channel,
|
||||||
|
drawerIsOpen = drawerIsOpen,
|
||||||
setDrawerGestureEnabled = {
|
setDrawerGestureEnabled = {
|
||||||
setDrawerGestureEnabled(it)
|
setDrawerGestureEnabled(it)
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue