From 03adaa3f815f7e0ea6141d0d92794c973cd61799 Mon Sep 17 00:00:00 2001
From: Diego Mello <diegolmello@gmail.com>
Date: Thu, 18 Apr 2019 10:43:44 -0300
Subject: [PATCH] Lock drawer when stack is not on root screen (#825)

---
 app/index.js | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/app/index.js b/app/index.js
index e86460e09..bf2b55fd4 100644
--- a/app/index.js
+++ b/app/index.js
@@ -129,18 +129,48 @@ const ChatsStack = createStackNavigator({
 	defaultNavigationOptions: defaultHeader
 });
 
+ChatsStack.navigationOptions = ({ navigation }) => {
+	let drawerLockMode = 'unlocked';
+	if (navigation.state.index > 0) {
+		drawerLockMode = 'locked-closed';
+	}
+	return {
+		drawerLockMode
+	};
+};
+
 const ProfileStack = createStackNavigator({
 	ProfileView
 }, {
 	defaultNavigationOptions: defaultHeader
 });
 
+ProfileView.navigationOptions = ({ navigation }) => {
+	let drawerLockMode = 'unlocked';
+	if (navigation.state.index > 0) {
+		drawerLockMode = 'locked-closed';
+	}
+	return {
+		drawerLockMode
+	};
+};
+
 const SettingsStack = createStackNavigator({
 	SettingsView
 }, {
 	defaultNavigationOptions: defaultHeader
 });
 
+SettingsStack.navigationOptions = ({ navigation }) => {
+	let drawerLockMode = 'unlocked';
+	if (navigation.state.index > 0) {
+		drawerLockMode = 'locked-closed';
+	}
+	return {
+		drawerLockMode
+	};
+};
+
 const ChatsDrawer = createDrawerNavigator({
 	ChatsStack,
 	ProfileStack,
-- 
GitLab