From 2765d1b06bf9c807d850fe14d9f052d307e2c1a5 Mon Sep 17 00:00:00 2001 From: Elias Nahum Date: Mon, 27 Jan 2020 23:53:16 -0300 Subject: [PATCH] iOS Slide open main sidebar from anywhere (#3859) --- 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);