diff --git a/app/index.js b/app/index.js index 0eb58053f..e98d0e133 100644 --- a/app/index.js +++ b/app/index.js @@ -10,37 +10,8 @@ import PropTypes from 'prop-types'; import { appInit } from './actions'; import { deepLinkingOpen } from './actions/deepLinking'; -import OnboardingView from './views/OnboardingView'; -import NewServerView from './views/NewServerView'; -import LoginSignupView from './views/LoginSignupView'; -import AuthLoadingView from './views/AuthLoadingView'; -import RoomsListView from './views/RoomsListView'; -import RoomView from './views/RoomView'; -import NewMessageView from './views/NewMessageView'; -import DirectoryView from './views/DirectoryView'; -import LoginView from './views/LoginView'; import Navigation from './lib/Navigation'; import Sidebar from './views/SidebarView'; -import ProfileView from './views/ProfileView'; -import SettingsView from './views/SettingsView'; -import LanguageView from './views/LanguageView'; -import AdminPanelView from './views/AdminPanelView'; -import RoomActionsView from './views/RoomActionsView'; -import RoomInfoView from './views/RoomInfoView'; -import RoomInfoEditView from './views/RoomInfoEditView'; -import RoomMembersView from './views/RoomMembersView'; -import SearchMessagesView from './views/SearchMessagesView'; -import ReadReceiptsView from './views/ReadReceiptView'; -import ThreadMessagesView from './views/ThreadMessagesView'; -import MessagesView from './views/MessagesView'; -import AutoTranslateView from './views/AutoTranslateView'; -import SelectedUsersView from './views/SelectedUsersView'; -import CreateChannelView from './views/CreateChannelView'; -import LegalView from './views/LegalView'; -import ForgotPasswordView from './views/ForgotPasswordView'; -import RegisterView from './views/RegisterView'; -import OAuthView from './views/OAuthView'; -import SetUsernameView from './views/SetUsernameView'; import { HEADER_BACKGROUND, HEADER_TITLE, HEADER_BACK } from './constants/colors'; import parseQuery from './lib/methods/helpers/parseQuery'; import { initializePushNotifications, onNotification } from './notifications/push'; @@ -77,21 +48,35 @@ const defaultHeader = { // Outside const OutsideStack = createStackNavigator({ OnboardingView: { - screen: OnboardingView, + getScreen: () => require('./views/OnboardingView').default, header: null }, - NewServerView, - LoginSignupView, - LoginView, - ForgotPasswordView, - RegisterView, - LegalView + NewServerView: { + getScreen: () => require('./views/NewServerView').default + }, + LoginSignupView: { + getScreen: () => require('./views/LoginSignupView').default + }, + LoginView: { + getScreen: () => require('./views/LoginView').default + }, + ForgotPasswordView: { + getScreen: () => require('./views/ForgotPasswordView').default + }, + RegisterView: { + getScreen: () => require('./views/RegisterView').default + }, + LegalView: { + getScreen: () => require('./views/LegalView').default + } }, { defaultNavigationOptions: defaultHeader }); const OAuthStack = createStackNavigator({ - OAuthView + OAuthView: { + getScreen: () => require('./views/OAuthView').default + } }, { defaultNavigationOptions: defaultHeader }); @@ -107,19 +92,45 @@ const OutsideStackModal = createStackNavigator({ // Inside const ChatsStack = createStackNavigator({ - RoomsListView, - RoomView, - RoomActionsView, - RoomInfoView, - RoomInfoEditView, - RoomMembersView, - SearchMessagesView, - SelectedUsersView, - ThreadMessagesView, - MessagesView, - AutoTranslateView, - ReadReceiptsView, - DirectoryView + RoomsListView: { + getScreen: () => require('./views/RoomsListView').default + }, + RoomView: { + getScreen: () => require('./views/RoomView').default + }, + RoomActionsView: { + getScreen: () => require('./views/RoomActionsView').default + }, + RoomInfoView: { + getScreen: () => require('./views/RoomInfoView').default + }, + RoomInfoEditView: { + getScreen: () => require('./views/RoomInfoEditView').default + }, + RoomMembersView: { + getScreen: () => require('./views/RoomMembersView').default + }, + SearchMessagesView: { + getScreen: () => require('./views/SearchMessagesView').default + }, + SelectedUsersView: { + getScreen: () => require('./views/SelectedUsersView').default + }, + ThreadMessagesView: { + getScreen: () => require('./views/ThreadMessagesView').default + }, + MessagesView: { + getScreen: () => require('./views/MessagesView').default + }, + AutoTranslateView: { + getScreen: () => require('./views/AutoTranslateView').default + }, + ReadReceiptsView: { + getScreen: () => require('./views/ReadReceiptView').default + }, + DirectoryView: { + getScreen: () => require('./views/DirectoryView').default + } }, { defaultNavigationOptions: defaultHeader }); @@ -135,7 +146,9 @@ ChatsStack.navigationOptions = ({ navigation }) => { }; const ProfileStack = createStackNavigator({ - ProfileView + ProfileView: { + getScreen: () => require('./views/ProfileView').default + } }, { defaultNavigationOptions: defaultHeader }); @@ -151,14 +164,20 @@ ProfileStack.navigationOptions = ({ navigation }) => { }; const SettingsStack = createStackNavigator({ - SettingsView, - LanguageView + SettingsView: { + getScreen: () => require('./views/SettingsView').default + }, + LanguageView: { + getScreen: () => require('./views/LanguageView').default + } }, { defaultNavigationOptions: defaultHeader }); const AdminPanelStack = createStackNavigator({ - AdminPanelView + AdminPanelView: { + getScreen: () => require('./views/AdminPanelView').default + } }, { defaultNavigationOptions: defaultHeader }); @@ -183,9 +202,15 @@ const ChatsDrawer = createDrawerNavigator({ }); const NewMessageStack = createStackNavigator({ - NewMessageView, - SelectedUsersViewCreateChannel: SelectedUsersView, - CreateChannelView + NewMessageView: { + getScreen: () => require('./views/NewMessageView').default + }, + SelectedUsersViewCreateChannel: { + getScreen: () => require('./views/SelectedUsersView').default + }, + CreateChannelView: { + getScreen: () => require('./views/CreateChannelView').default + } }, { defaultNavigationOptions: defaultHeader }); @@ -200,7 +225,9 @@ const InsideStackModal = createStackNavigator({ }); const SetUsernameStack = createStackNavigator({ - SetUsernameView + SetUsernameView: { + getScreen: () => require('./views/SetUsernameView').default + } }); class CustomInsideStack extends React.Component { @@ -225,7 +252,9 @@ const App = createAppContainer(createSwitchNavigator( { OutsideStack: OutsideStackModal, InsideStack: CustomInsideStack, - AuthLoading: AuthLoadingView, + AuthLoading: { + getScreen: () => require('./views/AuthLoadingView').default + }, SetUsernameStack }, { diff --git a/package.json b/package.json index 8c3769c37..e5e772af4 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "react-native-video": "^4.4.1", "react-native-video-controls": "^2.2.3", "react-native-webview": "5.8.1", - "react-navigation": "^3.9.1", + "react-navigation": "^3.11.1", "react-navigation-header-buttons": "^2.3.1", "react-redux": "^6.0.0", "reactotron-react-native": "2.2", diff --git a/yarn.lock b/yarn.lock index 64e00e41f..d6dfeba67 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1310,22 +1310,22 @@ xmldoc "^0.4.0" "@react-navigation/core@~3.4.1": - version "3.4.1" - resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-3.4.1.tgz#8c7e0e53cfb8ccaf87afb76a2733f5e5fde20cd8" - integrity sha512-slslu4FmjKQMO/EKGGqqGsfC6evQLdbJM2ROACcC2Xxf0+nPeZV5ND8HHukUZZucJRE6Bg/NI+zC1XSBYRjhnw== + version "3.4.2" + resolved "https://registry.yarnpkg.com/@react-navigation/core/-/core-3.4.2.tgz#bec563e94fde40fbab3730cdc97f22afbb2a1498" + integrity sha512-7G+iDzLSTeOUU4vVZeRZKJ+Bd7ds7ZxYNqZcB8i0KlBeQEQfR74Ounfu/p0KIEq2RiNnaE3QT7WVP3C87sebzw== dependencies: hoist-non-react-statics "^3.3.0" path-to-regexp "^1.7.0" query-string "^6.4.2" react-is "^16.8.6" -"@react-navigation/native@~3.4.0": - version "3.4.1" - resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-3.4.1.tgz#e1fbf334ac834a9f10dd7d9c3af3e36939486089" - integrity sha512-pMAPQfvwC4DvhQfsrXKAf+FiU+A5XAh216v17rEePSFcbeOEt7cvewmWxCxydN/vFjJChFiPV+xnjJyJBdPLOg== +"@react-navigation/native@~3.5.0": + version "3.5.0" + resolved "https://registry.yarnpkg.com/@react-navigation/native/-/native-3.5.0.tgz#f5d16e0845ac26d1147d1caa481f18a00740e7ae" + integrity sha512-TmGOis++ejEXG3sqNJhCSKqB0/qLu3FQgDtO959qpqif36R/diR8SQwJqeSdofoEiK3CepdhFlTCeHdS1/+MsQ== dependencies: hoist-non-react-statics "^3.0.1" - react-native-safe-area-view "^0.13.0" + react-native-safe-area-view "^0.14.1" react-native-screens "^1.0.0 || ^1.0.0-alpha" "@rocket.chat/sdk@1.0.0-alpha.28": @@ -4724,6 +4724,11 @@ date-now@^0.1.4: resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b" integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs= +debounce@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/debounce/-/debounce-1.2.0.tgz#44a540abc0ea9943018dc0eaa95cce87f65cd131" + integrity sha512-mYtLl1xfZLi1m4RtQYlZgJUNQjl4ZxVnHzIR8nLLgi4q1YT8o/WM+MK/f8yfcc9s5Ir5zRaPZyZU6xs1Syoocg== + debug@2.6.9, debug@^2.1.2, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.6, debug@^2.6.8, debug@^2.6.9: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -11242,9 +11247,9 @@ qs@^6.1.0, qs@^6.5.2: integrity sha512-KIJqT9jQJDQx5h5uAVPimw6yVg2SekOKu959OCtktD3FjzbpvaPr8i4zzg07DOMz+igA4W/aNM7OV8H37pFYfA== query-string@^6.4.2: - version "6.5.0" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.5.0.tgz#2e1a70125af01f6f04573692d02c09302a1d8bfc" - integrity sha512-TYC4hDjZSvVxLMEucDMySkuAS9UIzSbAiYGyA9GWCjLKB8fQpviFbjd20fD7uejCDxZS+ftSdBKE6DS+xucJFg== + version "6.8.1" + resolved "https://registry.yarnpkg.com/query-string/-/query-string-6.8.1.tgz#62c54a7ef37d01b538c8fd56f95740c81d438a26" + integrity sha512-g6y0Lbq10a5pPQpjlFuojfMfV1Pd2Jw9h75ypiYPPia3Gcq2rgkKiIwbkS6JxH7c5f5u/B/sB+d13PU+g1eu4Q== dependencies: decode-uri-component "^0.2.0" split-on-first "^1.0.0" @@ -11654,14 +11659,21 @@ react-native-responsive-ui@^1.1.1: dependencies: lodash "^4.17.4" -react-native-safe-area-view@^0.13.0: - version "0.13.1" - resolved "https://registry.yarnpkg.com/react-native-safe-area-view/-/react-native-safe-area-view-0.13.1.tgz#834bbb6d22f76a7ff07de56725ee5667ba1386b0" - integrity sha512-d/pu2866jApSwLtK/xWAvMXZkNTIQcFrjjbcTATBrmIfFNnu8TNFUcMRFpfJ+eOn5nmx7uGmDvs9B53Ft7JGpQ== +react-native-safe-area-view@^0.14.1: + version "0.14.6" + resolved "https://registry.yarnpkg.com/react-native-safe-area-view/-/react-native-safe-area-view-0.14.6.tgz#9a9d37d9f8f3887d60c4076eae7b5d2319539446" + integrity sha512-dbzuvaeHFV1VBpyMaC0gtJ2BqFt6ls/405A0t78YN1sXiTrVr3ki86Ysct8mzifWqLdvWzcWagE5wfMtdxnqoA== dependencies: hoist-non-react-statics "^2.3.1" -"react-native-screens@^1.0.0 || ^1.0.0-alpha", react-native-screens@^1.0.0-alpha.22: +"react-native-screens@^1.0.0 || ^1.0.0-alpha": + version "1.0.0-alpha.23" + resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-1.0.0-alpha.23.tgz#25d7ea4d11bda4fcde2d1da7ae50271c6aa636e0" + integrity sha512-tOxHGQUN83MTmQB4ghoQkibqOdGiX4JQEmeyEv96MKWO/x8T2PJv84ECUos9hD3blPRQwVwSpAid1PPPhrVEaw== + dependencies: + debounce "^1.2.0" + +react-native-screens@^1.0.0-alpha.22: version "1.0.0-alpha.22" resolved "https://registry.yarnpkg.com/react-native-screens/-/react-native-screens-1.0.0-alpha.22.tgz#7a120377b52aa9bbb94d0b8541a014026be9289b" integrity sha512-kSyAt0AeVU6N7ZonfV6dP6iZF8B7Bce+tk3eujXhzBGsLg0VSLnU7uE9VqJF0xdQrHR91ZjGgVMieo/8df9KTA== @@ -11697,17 +11709,10 @@ react-native-swipe-gestures@^1.0.2: resolved "https://registry.yarnpkg.com/react-native-swipe-gestures/-/react-native-swipe-gestures-1.0.3.tgz#4160f8d459627323f3a3d2770af4bcd82fd054f5" integrity sha512-KOouRzPB2fHFjVombsSdRfYo8SFeNVa4Ho4B5il87DuuF26sPNOtb3je+qaT/xVptedOsCzRPJGbWFMsaBApgg== -react-native-tab-view@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/react-native-tab-view/-/react-native-tab-view-1.3.2.tgz#c4e43a538dcacce151938745cea09176beeccbc3" - integrity sha512-2U+HxDQdjzExoC6gZ+wUhC8v8JjntppsFVU4v4pRvC/1dkN7DJv1k8UEy9+p7ucEaNrcAzu/j5N09Jf4qG36vw== - dependencies: - prop-types "^15.6.1" - -react-native-tab-view@^1.3.4: - version "1.3.4" - resolved "https://registry.yarnpkg.com/react-native-tab-view/-/react-native-tab-view-1.3.4.tgz#63fc3eb09652651d0ea0e016cff0f3a5e535f4de" - integrity sha512-iufNROTPr4+Z/IKijlp5faEANiDBWxhpgx9NSCg3esZ+HN5+UtFwB0xkn4XpNRqCvbzeBkgKMRJL3V6kr5NhWg== +react-native-tab-view@^1.2.0, react-native-tab-view@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/react-native-tab-view/-/react-native-tab-view-1.4.1.tgz#f113cd87485808f0c991abec937f70fa380478b9" + integrity sha512-Bke8KkDcDhvB/z0AS7MnQKMD2p6Kwfc1rSKlMOvg9CC5CnClQ2QEnhPSbwegKDYhUkBI92iH/BYy7hNSm5kbUQ== dependencies: prop-types "^15.6.1" @@ -11824,7 +11829,7 @@ react-native@0.59.8: xmldoc "^0.4.0" yargs "^9.0.0" -react-navigation-drawer@1.2.1: +react-navigation-drawer@~1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/react-navigation-drawer/-/react-navigation-drawer-1.2.1.tgz#7bd5efeee7d2f611d3ebb0933e0c8e8eb7cafe52" integrity sha512-T2kaBjY2c4/3I6noWFnaf/c18ntNH5DsST38i+pdc2NPxn5Yi5lkK+ZZTeKuHSFD4a7G0jWY9OGf1iRkHWLMAQ== @@ -11838,31 +11843,31 @@ react-navigation-header-buttons@^2.3.1: dependencies: react-native-platform-touchable "^1.1.1" -react-navigation-stack@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/react-navigation-stack/-/react-navigation-stack-1.3.0.tgz#34bbddb068c094c9ab843e36059b9fd92b728250" - integrity sha512-ouyD1GkRksJSGuvAuqrJnlJnZ5g2g/+/WB/MTa8BzjSBvyOgruD5TrmEkpViCOMr1R17C8D4Htln90H4D+NV3Q== +react-navigation-stack@~1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/react-navigation-stack/-/react-navigation-stack-1.4.0.tgz#69cdb029ea4ee5877d7e933b3117dc90bc841eb2" + integrity sha512-zEe9wCA0Ot8agarYb//0nSWYW1GM+1R0tY/nydUV0EizeJ27At0EklYVWvYEuYU6C48va6cu8OPL7QD/CcJACw== -react-navigation-tabs@1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/react-navigation-tabs/-/react-navigation-tabs-1.1.2.tgz#10b7501522d99960340a0d23a471d571b70aeb82" - integrity sha512-D4fecSwZfvNh5WHTURmUVrNSgy3tiNfID0n5eKTOhCz4Sls4EM2l27UTX833ngxXhQ1FqRtBxzQZ+Dp1FWJ1pw== +react-navigation-tabs@~1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/react-navigation-tabs/-/react-navigation-tabs-1.1.4.tgz#00a312250df3c519c60b7815a523ace5ee11163a" + integrity sha512-py2hLCRxPwXOzmY1W9XcY1rWXxdK6RGW/aXh56G9gIf8cpHNDhy/bJV4e46/JrVcse3ybFaN0liT09/DM/NdwQ== dependencies: hoist-non-react-statics "^2.5.0" prop-types "^15.6.1" react-lifecycles-compat "^3.0.4" - react-native-tab-view "^1.3.4" + react-native-tab-view "^1.4.1" -react-navigation@^3.9.1: - version "3.9.1" - resolved "https://registry.yarnpkg.com/react-navigation/-/react-navigation-3.9.1.tgz#2b2545f5c11905b534d96996c658d0691bc5f11f" - integrity sha512-4rUQXGT0yvLb9yX9NDuKdrXb/NcAPGUHDTlto8Fg4Tm23uuyBBSrDVStqC59rUM4JcoQnRqhenN2wXGvWE+WYA== +react-navigation@^3.11.1: + version "3.11.1" + resolved "https://registry.yarnpkg.com/react-navigation/-/react-navigation-3.11.1.tgz#ba696ad6b512088a97a20cc7e6a250c53dbddd26" + integrity sha512-n64HxLG5s5ucVFo1Gs+D9ujChhHDd98lpQ1p27wL7gq8V1PaRJMvsBEIsguhtc2rTIL/TWDynOesXQDG+Eg6FQ== dependencies: "@react-navigation/core" "~3.4.1" - "@react-navigation/native" "~3.4.0" - react-navigation-drawer "1.2.1" - react-navigation-stack "1.3.0" - react-navigation-tabs "1.1.2" + "@react-navigation/native" "~3.5.0" + react-navigation-drawer "~1.2.1" + react-navigation-stack "~1.4.0" + react-navigation-tabs "~1.1.4" react-proxy@^1.1.7: version "1.1.8"