From 1f3ffee26fe7f94266caa296d3741463a0996872 Mon Sep 17 00:00:00 2001 From: Mattermost Build Date: Tue, 28 Jan 2020 03:57:46 +0100 Subject: [PATCH] iOS Slide open main sidebar from anywhere (#3866) Co-authored-by: Elias Nahum --- app/components/sidebars/drawer_layout.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/app/components/sidebars/drawer_layout.js b/app/components/sidebars/drawer_layout.js index 128e1d89c..ed52f804e 100644 --- a/app/components/sidebars/drawer_layout.js +++ b/app/components/sidebars/drawer_layout.js @@ -417,7 +417,11 @@ export default class DrawerLayout extends Component { return true; } } else { - if (moveX <= 35 && dx > 0) { + const filter = Platform.select({ + ios: moveX > 0 && dx > 35, + android: moveX <= 35 && dx > 0 + }); + if (filter) { this._isClosing = false; return true; } @@ -449,8 +453,9 @@ export default class DrawerLayout extends Component { this._emitStateChanged(DRAGGING); }; - _panResponderMove = (e: EventType, { moveX }: PanResponderEventType) => { - let openValue = this._getOpenValueForX(moveX); + _panResponderMove = (e: EventType, { moveX, dx }: PanResponderEventType) => { + const useDx = Platform.OS === 'ios' && this.getDrawerPosition() === 'left'; + let openValue = this._getOpenValueForX(useDx ? dx : moveX); if (this._isClosing) { openValue = 1 - (this._closingAnchorValue - openValue);