Skip to content

Commit

Permalink
Merge pull request #2050 from Expensify/beaman-focusComposeWhenNaviga…
Browse files Browse the repository at this point in the history
…teModalPages

Focus compose box when navigate away from RHN
  • Loading branch information
marcaaron authored Apr 7, 2021
2 parents 9194fd9 + 93ed2ea commit 68169d3
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions src/libs/Navigation/AppNavigator/AuthScreens.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import {fetchCountryCodeByRequestIP} from '../../actions/GeoLocation';
import KeyboardShortcut from '../../KeyboardShortcut';
import Navigation from '../Navigation';
import * as User from '../../actions/User';
import {setModalVisibility} from '../../actions/Modal';
import NameValuePair from '../../actions/NameValuePair';
import modalCardStyleInterpolator from './modalCardStyleInterpolator';
import createCustomModalStackNavigator from './createCustomModalStackNavigator';
Expand All @@ -42,6 +43,17 @@ import {

const RootStack = createCustomModalStackNavigator();

// When modal screen gets focused, update modal visibility in Onyx
// https://reactnavigation.org/docs/navigation-events/
const modalScreenListeners = {
focus: () => {
setModalVisibility(true);
},
beforeRemove: () => {
setModalVisibility(false);
},
};

const propTypes = {
network: PropTypes.shape({isOffline: PropTypes.bool}),
...windowDimensionsPropTypes,
Expand Down Expand Up @@ -147,36 +159,43 @@ class AuthScreens extends React.Component {
name="Settings"
options={modalScreenOptions}
component={SettingsModalStackNavigator}
listeners={modalScreenListeners}
/>
<RootStack.Screen
name="NewChat"
options={modalScreenOptions}
component={NewChatModalStackNavigator}
listeners={modalScreenListeners}
/>
<RootStack.Screen
name="NewGroup"
options={modalScreenOptions}
component={NewGroupModalStackNavigator}
listeners={modalScreenListeners}
/>
<RootStack.Screen
name="Search"
options={modalScreenOptions}
component={SearchModalStackNavigator}
listeners={modalScreenListeners}
/>
<RootStack.Screen
name="Details"
options={modalScreenOptions}
component={DetailsModalStackNavigator}
listeners={modalScreenListeners}
/>
<RootStack.Screen
name="IOU_Request"
options={modalScreenOptions}
component={IOURequestModalStackNavigator}
listeners={modalScreenListeners}
/>
<RootStack.Screen
name="IOU_Bill"
options={modalScreenOptions}
component={IOUBillStackNavigator}
listeners={modalScreenListeners}
/>
</RootStack.Navigator>
);
Expand Down

0 comments on commit 68169d3

Please sign in to comment.