Selaa lähdekoodia

feat(rn,app) unified navigators

master
Calinteodor 3 vuotta sitten
vanhempi
commit
b9433368ee
No account linked to committer's email address
49 muutettua tiedostoa jossa 229 lisäystä ja 318 poistoa
  1. 0
    1
      react/features/app/actions.js
  2. 7
    31
      react/features/app/getRouteToRender.native.js
  3. 1
    1
      react/features/app/middleware.js
  4. 1
    0
      react/features/app/middlewares.native.js
  5. 2
    2
      react/features/chat/components/native/ChatButton.js
  6. 1
    1
      react/features/chat/components/native/MessageRecipient.js
  7. 2
    2
      react/features/chat/components/native/PrivateMessageButton.js
  8. 0
    1
      react/features/chat/components/native/index.js
  9. 3
    2
      react/features/conference/components/native/Conference.js
  10. 0
    1
      react/features/conference/components/native/index.js
  11. 2
    2
      react/features/etherpad/components/SharedDocumentButton.native.js
  12. 2
    2
      react/features/etherpad/components/native/SharedDocument.js
  13. 2
    2
      react/features/invite/actions.native.js
  14. 3
    2
      react/features/invite/components/dial-in-summary/native/DialInSummary.js
  15. 1
    2
      react/features/mobile/navigation/components/HeaderNavigationButton.js
  16. 17
    8
      react/features/mobile/navigation/components/RootNavigationContainer.js
  17. 7
    7
      react/features/mobile/navigation/components/chat/components/ChatAndPollsNavigationContainer.js
  18. 0
    0
      react/features/mobile/navigation/components/conference/ConferenceNavigationContainerRef.js
  19. 17
    16
      react/features/mobile/navigation/components/conference/components/ConferenceNavigationContainer.js
  20. 4
    5
      react/features/mobile/navigation/components/welcome/components/CustomDrawerContent.js
  21. 9
    8
      react/features/mobile/navigation/components/welcome/components/WelcomePageNavigationContainer.js
  22. 4
    4
      react/features/mobile/navigation/components/welcome/components/WelcomePageTabs.js
  23. 3
    3
      react/features/mobile/navigation/components/welcome/functions.js
  24. 46
    0
      react/features/mobile/navigation/middleware.js
  25. 1
    1
      react/features/mobile/navigation/rootNavigationContainerRef.js
  26. 2
    1
      react/features/mobile/navigation/routes.js
  27. 19
    4
      react/features/mobile/navigation/screenOptions.js
  28. 2
    2
      react/features/participants-pane/components/native/ParticipantsPaneButton.js
  29. 3
    3
      react/features/recent-list/components/ShowDialInInfoButton.native.js
  30. 4
    3
      react/features/security/components/security-dialog/native/SecurityDialog.js
  31. 2
    2
      react/features/security/components/security-dialog/native/SecurityDialogButton.js
  32. 2
    2
      react/features/speaker-stats/components/native/SpeakerStatsButton.js
  33. 0
    11
      react/features/welcome/components/AbstractWelcomePage.js
  34. 0
    80
      react/features/welcome/components/LocalVideoTrackUnderlay.native.js
  35. 0
    0
      react/features/welcome/components/LocalVideoTrackUnderlay.web.js
  36. 19
    10
      react/features/welcome/components/WelcomePage.native.js
  37. 0
    16
      react/features/welcome/components/constants.js
  38. 0
    12
      react/features/welcome/components/help/components/styles.js
  39. 8
    9
      react/features/welcome/components/native/HelpView.js
  40. 7
    7
      react/features/welcome/components/native/PrivacyView.js
  41. 7
    7
      react/features/welcome/components/native/TermsView.js
  42. 1
    1
      react/features/welcome/components/native/settings/components/FormRow.js
  43. 2
    2
      react/features/welcome/components/native/settings/components/FormSectionAccordion.js
  44. 8
    7
      react/features/welcome/components/native/settings/components/SettingsView.js
  45. 0
    0
      react/features/welcome/components/native/settings/components/index.js
  46. 1
    1
      react/features/welcome/components/native/settings/components/styles.js
  47. 0
    12
      react/features/welcome/components/privacy/components/styles.js
  48. 7
    10
      react/features/welcome/components/styles.js
  49. 0
    12
      react/features/welcome/components/terms/components/styles.js

+ 0
- 1
react/features/app/actions.js Näytä tiedosto

@@ -34,7 +34,6 @@ import {
34 34
 } from './functions';
35 35
 import logger from './logger';
36 36
 
37
-declare var APP: Object;
38 37
 declare var interfaceConfig: Object;
39 38
 
40 39
 

+ 7
- 31
react/features/app/getRouteToRender.native.js Näytä tiedosto

@@ -1,41 +1,17 @@
1 1
 
2
-import { isRoomValid } from '../base/conference';
3
-import { toState } from '../base/redux';
4
-import { ConferenceNavigationContainer } from '../conference';
5
-import RootNavigationContainer from '../welcome/components/RootNavigationContainer';
2
+import RootNavigationContainer from '../mobile/navigation/components/RootNavigationContainer';
3
+
4
+const route = {
5
+    component: RootNavigationContainer,
6
+    href: undefined
7
+};
6 8
 
7 9
 /**
8 10
  * Determines which route is to be rendered in order to depict a specific Redux
9 11
  * store.
10 12
  *
11
- * @param {(Function|Object)} stateful - THe redux store, state, or
12
- * {@code getState} function.
13 13
  * @returns {Promise<Object>}
14 14
  */
15
-export function _getRouteToRender(stateful) {
16
-    const state = toState(stateful);
17
-
18
-    return _getMobileRoute(state);
19
-}
20
-
21
-/**
22
- * Returns the {@code Route} to display on the React Native app.
23
- *
24
- * @param {Object} state - The redux state.
25
- * @returns {Promise}
26
- */
27
-function _getMobileRoute(state) {
28
-    const route = {
29
-        component: null,
30
-        href: undefined
31
-    };
32
-
33
-    if (isRoomValid(state['features/base/conference'].room)) {
34
-        route.component = ConferenceNavigationContainer;
35
-    } else {
36
-        route.component = RootNavigationContainer;
37
-    }
38
-
15
+export function _getRouteToRender() {
39 16
     return Promise.resolve(route);
40 17
 }
41
-

+ 1
- 1
react/features/app/middleware.js Näytä tiedosto

@@ -50,7 +50,7 @@ function _connectionEstablished(store, next, action) {
50 50
     // In the Web app we explicitly do not want to display the hash and
51 51
     // query/search URL params. Unfortunately, window.location and, more
52 52
     // importantly, its params are used not only in jitsi-meet but also in
53
-    // lib-jitsi-meet. Consequenlty, the time to remove the params is
53
+    // lib-jitsi-meet. Consequently, the time to remove the params is
54 54
     // determined by when no one needs them anymore.
55 55
     const { history, location } = window;
56 56
 

+ 1
- 0
react/features/app/middlewares.native.js Näytä tiedosto

@@ -8,6 +8,7 @@ import '../mobile/call-integration/middleware';
8 8
 import '../mobile/external-api/middleware';
9 9
 import '../mobile/full-screen/middleware';
10 10
 import '../mobile/incoming-call/middleware';
11
+import '../mobile/navigation/middleware';
11 12
 import '../mobile/permissions/middleware';
12 13
 import '../mobile/proximity/middleware';
13 14
 import '../mobile/wake-lock/middleware';

+ 2
- 2
react/features/chat/components/native/ChatButton.js Näytä tiedosto

@@ -7,8 +7,8 @@ import {
7 7
     AbstractButton,
8 8
     type AbstractButtonProps
9 9
 } from '../../../base/toolbox/components';
10
-import { navigate } from '../../../conference/components/native/ConferenceNavigationContainerRef';
11
-import { screen } from '../../../conference/components/native/routes';
10
+import { navigate } from '../../../mobile/navigation/components/conference/ConferenceNavigationContainerRef';
11
+import { screen } from '../../../mobile/navigation/routes';
12 12
 import { getUnreadCount } from '../../functions';
13 13
 
14 14
 

+ 1
- 1
react/features/chat/components/native/MessageRecipient.js Näytä tiedosto

@@ -10,7 +10,7 @@ import { connect } from '../../../base/redux';
10 10
 import { type StyleType } from '../../../base/styles';
11 11
 import {
12 12
     setParams
13
-} from '../../../conference/components/native/ConferenceNavigationContainerRef';
13
+} from '../../../mobile/navigation/components/conference/ConferenceNavigationContainerRef';
14 14
 import { setPrivateMessageRecipient } from '../../actions.any';
15 15
 import AbstractMessageRecipient, {
16 16
     type Props as AbstractProps

+ 2
- 2
react/features/chat/components/native/PrivateMessageButton.js Näytä tiedosto

@@ -6,8 +6,8 @@ import { IconMessage, IconReply } from '../../../base/icons';
6 6
 import { getParticipantById } from '../../../base/participants';
7 7
 import { connect } from '../../../base/redux';
8 8
 import { AbstractButton, type AbstractButtonProps } from '../../../base/toolbox/components';
9
-import { navigate } from '../../../conference/components/native/ConferenceNavigationContainerRef';
10
-import { screen } from '../../../conference/components/native/routes';
9
+import { navigate } from '../../../mobile/navigation/components/conference/ConferenceNavigationContainerRef';
10
+import { screen } from '../../../mobile/navigation/routes';
11 11
 
12 12
 export type Props = AbstractButtonProps & {
13 13
 

+ 0
- 1
react/features/chat/components/native/index.js Näytä tiedosto

@@ -1,6 +1,5 @@
1 1
 // @flow
2 2
 
3 3
 export { default as Chat } from './Chat';
4
-export { default as ChatAndPolls } from './ChatAndPolls';
5 4
 export { default as ChatButton } from './ChatButton';
6 5
 export { default as ChatPrivacyDialog } from './ChatPrivacyDialog';

+ 3
- 2
react/features/conference/components/native/Conference.js Näytä tiedosto

@@ -23,6 +23,9 @@ import { LargeVideo } from '../../../large-video';
23 23
 import { KnockingParticipantList } from '../../../lobby/components/native';
24 24
 import { getIsLobbyVisible } from '../../../lobby/functions';
25 25
 import { BackButtonRegistry } from '../../../mobile/back-button';
26
+import { navigate }
27
+    from '../../../mobile/navigation/components/conference/ConferenceNavigationContainerRef';
28
+import { screen } from '../../../mobile/navigation/routes';
26 29
 import { Captions } from '../../../subtitles';
27 30
 import { setToolboxVisible } from '../../../toolbox/actions';
28 31
 import { Toolbox } from '../../../toolbox/components/native';
@@ -34,12 +37,10 @@ import {
34 37
 import type { AbstractProps } from '../AbstractConference';
35 38
 
36 39
 import AlwaysOnLabels from './AlwaysOnLabels';
37
-import { navigate } from './ConferenceNavigationContainerRef';
38 40
 import ExpandedLabelPopup from './ExpandedLabelPopup';
39 41
 import LonelyMeetingExperience from './LonelyMeetingExperience';
40 42
 import TitleBar from './TitleBar';
41 43
 import { EXPANDED_LABEL_TIMEOUT } from './constants';
42
-import { screen } from './routes';
43 44
 import styles from './styles';
44 45
 
45 46
 

+ 0
- 1
react/features/conference/components/native/index.js Näytä tiedosto

@@ -1,6 +1,5 @@
1 1
 // @flow
2 2
 
3 3
 export { default as Conference } from './Conference';
4
-export { default as ConferenceNavigationContainer } from './ConferenceNavigationContainer';
5 4
 export { default as renderConferenceTimer } from './ConferenceTimerDisplay';
6 5
 export { default as InsecureRoomNameLabel } from './InsecureRoomNameLabel';

+ 2
- 2
react/features/etherpad/components/SharedDocumentButton.native.js Näytä tiedosto

@@ -5,8 +5,8 @@ import { translate } from '../../base/i18n';
5 5
 import { IconShareDoc } from '../../base/icons';
6 6
 import { connect } from '../../base/redux';
7 7
 import { AbstractButton, type AbstractButtonProps } from '../../base/toolbox/components';
8
-import { navigate } from '../../conference/components/native/ConferenceNavigationContainerRef';
9
-import { screen } from '../../conference/components/native/routes';
8
+import { navigate } from '../../mobile/navigation/components/conference/ConferenceNavigationContainerRef';
9
+import { screen } from '../../mobile/navigation/routes';
10 10
 
11 11
 
12 12
 type Props = AbstractButtonProps;

+ 2
- 2
react/features/etherpad/components/native/SharedDocument.js Näytä tiedosto

@@ -10,9 +10,9 @@ import { IconArrowBack } from '../../../base/icons';
10 10
 import JitsiScreen from '../../../base/modal/components/JitsiScreen';
11 11
 import { LoadingIndicator } from '../../../base/react';
12 12
 import { connect } from '../../../base/redux';
13
-import { goBack } from '../../../conference/components/native/ConferenceNavigationContainerRef';
14 13
 import HeaderNavigationButton
15
-    from '../../../conference/components/native/HeaderNavigationButton';
14
+    from '../../../mobile/navigation/components/HeaderNavigationButton';
15
+import { goBack } from '../../../mobile/navigation/components/conference/ConferenceNavigationContainerRef';
16 16
 import { getSharedDocumentUrl } from '../../functions';
17 17
 
18 18
 import styles, { INDICATOR_COLOR } from './styles';

+ 2
- 2
react/features/invite/actions.native.js Näytä tiedosto

@@ -3,8 +3,8 @@
3 3
 import type { Dispatch } from 'redux';
4 4
 
5 5
 import { getFeatureFlag, ADD_PEOPLE_ENABLED } from '../base/flags';
6
-import { navigate } from '../conference/components/native/ConferenceNavigationContainerRef';
7
-import { screen } from '../conference/components/native/routes';
6
+import { navigate } from '../mobile/navigation/components/conference/ConferenceNavigationContainerRef';
7
+import { screen } from '../mobile/navigation/routes';
8 8
 import { beginShareRoom } from '../share-room';
9 9
 
10 10
 import { isAddPeopleEnabled, isDialOutEnabled } from './functions';

+ 3
- 2
react/features/invite/components/dial-in-summary/native/DialInSummary.js Näytä tiedosto

@@ -10,8 +10,9 @@ import { translate } from '../../../../base/i18n';
10 10
 import JitsiScreen from '../../../../base/modal/components/JitsiScreen';
11 11
 import { LoadingIndicator } from '../../../../base/react';
12 12
 import { connect } from '../../../../base/redux';
13
-import { screen } from '../../../../conference/components/native/routes';
14
-import { renderArrowBackButton } from '../../../../welcome/functions.native';
13
+import { renderArrowBackButton }
14
+    from '../../../../mobile/navigation/components/welcome/functions';
15
+import { screen } from '../../../../mobile/navigation/routes';
15 16
 import { getDialInfoPageURLForURIString } from '../../../functions';
16 17
 
17 18
 import DialInSummaryErrorDialog from './DialInSummaryErrorDialog';

react/features/conference/components/native/HeaderNavigationButton.js → react/features/mobile/navigation/components/HeaderNavigationButton.js Näytä tiedosto

@@ -4,8 +4,7 @@ import React from 'react';
4 4
 import { TouchableOpacity } from 'react-native-gesture-handler';
5 5
 
6 6
 import { Icon } from '../../../base/icons';
7
-
8
-import styles from './styles';
7
+import styles from '../../../conference/components/native/styles';
9 8
 
10 9
 type Props = {
11 10
 

react/features/welcome/components/RootNavigationContainer.js → react/features/mobile/navigation/components/RootNavigationContainer.js Näytä tiedosto

@@ -5,19 +5,21 @@ import { createStackNavigator } from '@react-navigation/stack';
5 5
 import React from 'react';
6 6
 import { SafeAreaProvider } from 'react-native-safe-area-context';
7 7
 
8
-import { connect } from '../../base/redux';
8
+import { connect } from '../../../base/redux';
9
+import { DialInSummary } from '../../../invite';
10
+import BlankPage from '../../../welcome/components/BlankPage';
11
+import { rootNavigationRef } from '../rootNavigationContainerRef';
12
+import { screen } from '../routes';
9 13
 import {
10 14
     dialInSummaryScreenOptions,
11 15
     drawerNavigatorScreenOptions,
12 16
     navigationContainerTheme
13
-} from '../../conference/components/native/ConferenceNavigatorScreenOptions';
14
-import { screen } from '../../conference/components/native/routes';
15
-import { DialInSummary } from '../../invite';
16
-import { isWelcomePageAppEnabled } from '../functions.native';
17
+} from '../screenOptions';
17 18
 
18
-import BlankPage from './BlankPage';
19
-import { rootNavigationRef } from './RootNavigationContainerRef';
20
-import WelcomePageNavigationContainer from './WelcomePageNavigationContainer';
19
+import ConferenceNavigationContainer
20
+    from './conference/components/ConferenceNavigationContainer';
21
+import WelcomePageNavigationContainer from './welcome/components/WelcomePageNavigationContainer';
22
+import { isWelcomePageAppEnabled } from './welcome/functions';
21 23
 
22 24
 const RootStack = createStackNavigator();
23 25
 
@@ -53,6 +55,13 @@ const RootNavigationContainer = ({ isWelcomePageAvailable }: Props) => (
53 55
                     component = { DialInSummary }
54 56
                     name = { screen.dialInSummary }
55 57
                     options = { dialInSummaryScreenOptions } />
58
+                <RootStack.Screen
59
+                    component = { ConferenceNavigationContainer }
60
+                    name = { screen.conference.root }
61
+                    options = {{
62
+                        gestureEnabled: false,
63
+                        headerShown: false
64
+                    }} />
56 65
             </RootStack.Navigator>
57 66
         </NavigationContainer>
58 67
     </SafeAreaProvider>

react/features/chat/components/native/ChatAndPolls.js → react/features/mobile/navigation/components/chat/components/ChatAndPollsNavigationContainer.js Näytä tiedosto

@@ -7,16 +7,16 @@ import { useSelector } from 'react-redux';
7 7
 import {
8 8
     getClientHeight,
9 9
     getClientWidth
10
-} from '../../../base/modal/components/functions.native';
11
-import { Chat } from '../../../chat';
12
-import { chatTabBarOptions } from '../../../conference/components/native/ConferenceNavigatorScreenOptions';
13
-import { screen } from '../../../conference/components/native/routes';
14
-import { PollsPane } from '../../../polls/components';
10
+} from '../../../../../base/modal/components/functions.native';
11
+import { Chat } from '../../../../../chat';
12
+import { PollsPane } from '../../../../../polls/components';
13
+import { screen } from '../../../routes';
14
+import { chatTabBarOptions } from '../../../screenOptions';
15 15
 
16 16
 const ChatTab = createMaterialTopTabNavigator();
17 17
 
18 18
 
19
-const ChatAndPolls = () => {
19
+const ChatAndPollsNavigationContainer = () => {
20 20
     const clientHeight = useSelector(getClientHeight);
21 21
     const clientWidth = useSelector(getClientWidth);
22 22
 
@@ -40,4 +40,4 @@ const ChatAndPolls = () => {
40 40
     );
41 41
 };
42 42
 
43
-export default ChatAndPolls;
43
+export default ChatAndPollsNavigationContainer;

react/features/conference/components/native/ConferenceNavigationContainerRef.js → react/features/mobile/navigation/components/conference/ConferenceNavigationContainerRef.js Näytä tiedosto


react/features/conference/components/native/ConferenceNavigationContainer.js → react/features/mobile/navigation/components/conference/components/ConferenceNavigationContainer.js Näytä tiedosto

@@ -7,22 +7,19 @@ import { useTranslation } from 'react-i18next';
7 7
 import { SafeAreaProvider } from 'react-native-safe-area-context';
8 8
 import { useSelector } from 'react-redux';
9 9
 
10
-import { Chat, ChatAndPolls } from '../../../chat';
11
-import { SharedDocument } from '../../../etherpad';
10
+import { Chat } from '../../../../../chat';
11
+import Conference from '../../../../../conference/components/native/Conference';
12
+import { getDisablePolls } from '../../../../../conference/functions';
13
+import { SharedDocument } from '../../../../../etherpad';
12 14
 import AddPeopleDialog
13
-    from '../../../invite/components/add-people-dialog/native/AddPeopleDialog';
14
-import LobbyScreen from '../../../lobby/components/native/LobbyScreen';
15
-import { ParticipantsPane } from '../../../participants-pane/components/native';
15
+    from '../../../../../invite/components/add-people-dialog/native/AddPeopleDialog';
16
+import LobbyScreen from '../../../../../lobby/components/native/LobbyScreen';
17
+import { ParticipantsPane } from '../../../../../participants-pane/components/native';
16 18
 import SecurityDialog
17
-    from '../../../security/components/security-dialog/native/SecurityDialog';
19
+    from '../../../../../security/components/security-dialog/native/SecurityDialog';
18 20
 import SpeakerStats
19
-    from '../../../speaker-stats/components/native/SpeakerStats';
20
-import { getDisablePolls } from '../../functions';
21
-
22
-import Conference from './Conference';
23
-import {
24
-    conferenceNavigationRef
25
-} from './ConferenceNavigationContainerRef';
21
+    from '../../../../../speaker-stats/components/native/SpeakerStats';
22
+import { screen } from '../../../routes';
26 23
 import {
27 24
     chatScreenOptions,
28 25
     conferenceScreenOptions,
@@ -33,8 +30,12 @@ import {
33 30
     securityScreenOptions,
34 31
     sharedDocumentScreenOptions,
35 32
     speakerStatsScreenOptions
36
-} from './ConferenceNavigatorScreenOptions';
37
-import { screen } from './routes';
33
+} from '../../../screenOptions';
34
+import ChatAndPollsNavigationContainer
35
+    from '../../chat/components/ChatAndPollsNavigationContainer';
36
+import {
37
+    conferenceNavigationRef
38
+} from '../ConferenceNavigationContainerRef';
38 39
 
39 40
 const ConferenceStack = createStackNavigator();
40 41
 
@@ -50,7 +51,7 @@ const ConferenceNavigationContainer = () => {
50 51
         chatScreenName = screen.conference.chat;
51 52
         chatTitleString = 'chat.title';
52 53
     } else {
53
-        ChatScreen = ChatAndPolls;
54
+        ChatScreen = ChatAndPollsNavigationContainer;
54 55
         chatScreenName = screen.conference.chatandpolls.main;
55 56
         chatTitleString = 'chat.titleWithPolls';
56 57
     }

react/features/welcome/components/CustomDrawerContent.js → react/features/mobile/navigation/components/welcome/components/CustomDrawerContent.js Näytä tiedosto

@@ -5,13 +5,12 @@ import React from 'react';
5 5
 import { ScrollView, Text, View } from 'react-native';
6 6
 import { SafeAreaView } from 'react-native-safe-area-context';
7 7
 
8
-import { Avatar } from '../../base/avatar';
8
+import { Avatar } from '../../../../../base/avatar';
9 9
 import {
10 10
     getLocalParticipant, getParticipantDisplayName
11
-} from '../../base/participants';
12
-import { connect } from '../../base/redux';
13
-
14
-import styles, { DRAWER_AVATAR_SIZE } from './styles';
11
+} from '../../../../../base/participants';
12
+import { connect } from '../../../../../base/redux';
13
+import styles, { DRAWER_AVATAR_SIZE } from '../../../../../welcome/components/styles';
15 14
 
16 15
 type Props = {
17 16
 

react/features/welcome/components/WelcomePageNavigationContainer.js → react/features/mobile/navigation/components/welcome/components/WelcomePageNavigationContainer.js Näytä tiedosto

@@ -4,21 +4,22 @@ import { createDrawerNavigator } from '@react-navigation/drawer';
4 4
 import React from 'react';
5 5
 import { useTranslation } from 'react-i18next';
6 6
 
7
+import WelcomePage from '../../../../../welcome/components/WelcomePage';
8
+import HelpView from '../../../../../welcome/components/native/HelpView';
9
+import PrivacyView from '../../../../../welcome/components/native/PrivacyView';
10
+import TermsView from '../../../../../welcome/components/native/TermsView';
11
+import SettingsView
12
+    from '../../../../../welcome/components/native/settings/components/SettingsView';
13
+import { screen } from '../../../routes';
7 14
 import {
15
+    drawerContentOptions,
8 16
     helpScreenOptions,
9 17
     settingsScreenOptions,
10 18
     termsAndPrivacyScreenOptions,
11 19
     welcomeScreenOptions
12
-} from '../../conference/components/native/ConferenceNavigatorScreenOptions';
13
-import { screen } from '../../conference/components/native/routes';
14
-import HelpView from '../components/help/components/HelpView';
15
-import PrivacyView from '../components/privacy/components/PrivacyView';
16
-import SettingsView from '../components/settings/components/SettingsView';
17
-import TermsView from '../components/terms/components/TermsView';
20
+} from '../../../screenOptions';
18 21
 
19 22
 import CustomDrawerContent from './CustomDrawerContent';
20
-import WelcomePage from './WelcomePage.native';
21
-import { drawerContentOptions } from './constants';
22 23
 
23 24
 
24 25
 const DrawerStack = createDrawerNavigator();

react/features/welcome/components/WelcomePageTabs.js → react/features/mobile/navigation/components/welcome/components/WelcomePageTabs.js Näytä tiedosto

@@ -4,14 +4,14 @@ import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
4 4
 import React, { useCallback } from 'react';
5 5
 import { useSelector } from 'react-redux';
6 6
 
7
-import { CalendarList, isCalendarEnabled } from '../../calendar-sync';
8
-import { screen } from '../../conference/components/native/routes';
9
-import { RecentList } from '../../recent-list';
7
+import { CalendarList, isCalendarEnabled } from '../../../../../calendar-sync';
8
+import { RecentList } from '../../../../../recent-list';
10 9
 import {
11 10
     calendarListTabBarOptions,
12 11
     recentListTabBarOptions,
13 12
     tabBarOptions
14
-} from '../constants';
13
+} from '../../../../../welcome/constants';
14
+import { screen } from '../../../routes';
15 15
 
16 16
 const WelcomePage = createBottomTabNavigator();
17 17
 

react/features/welcome/functions.native.js → react/features/mobile/navigation/components/welcome/functions.js Näytä tiedosto

@@ -2,10 +2,10 @@
2 2
 
3 3
 import React from 'react';
4 4
 
5
-import { getFeatureFlag, WELCOME_PAGE_ENABLED } from '../base/flags';
6
-import { IconArrowBack } from '../base/icons';
5
+import { getFeatureFlag, WELCOME_PAGE_ENABLED } from '../../../../base/flags';
6
+import { IconArrowBack } from '../../../../base/icons';
7 7
 import HeaderNavigationButton
8
-    from '../conference/components/native/HeaderNavigationButton';
8
+    from '../HeaderNavigationButton';
9 9
 
10 10
 /**
11 11
  * Determines whether the {@code WelcomePage} is enabled by the app itself

+ 46
- 0
react/features/mobile/navigation/middleware.js Näytä tiedosto

@@ -0,0 +1,46 @@
1
+// @flow
2
+
3
+import { SET_ROOM } from '../../base/conference/actionTypes';
4
+import { MiddlewareRegistry } from '../../base/redux';
5
+
6
+import { navigateRoot } from './rootNavigationContainerRef';
7
+import { screen } from './routes';
8
+
9
+
10
+MiddlewareRegistry.register(store => next => action => {
11
+    switch (action.type) {
12
+    case SET_ROOM:
13
+        return _setRoom(store, next, action);
14
+    }
15
+
16
+    return next(action);
17
+});
18
+
19
+
20
+/**
21
+ * Notifies the feature base/conference that the action
22
+ * {@code SET_ROOM} is being dispatched within a specific
23
+ *  redux store.
24
+ *
25
+ * @param {Store} store - The redux store in which the specified {@code action}
26
+ * is being dispatched.
27
+ * @param {Dispatch} next - The redux {@code dispatch} function to dispatch the
28
+ * specified {@code action} to the specified {@code store}.
29
+ * @param {Action} action - The redux action {@code SET_ROOM}
30
+ * which is being dispatched in the specified {@code store}.
31
+ * @private
32
+ * @returns {Object} The value returned by {@code next(action)}.
33
+ */
34
+function _setRoom(store, next, action) {
35
+    const { room: oldRoom } = store.getState()['features/base/conference'];
36
+    const result = next(action);
37
+    const { room: newRoom } = store.getState()['features/base/conference'];
38
+
39
+    if (!oldRoom && newRoom) {
40
+        navigateRoot(screen.conference.root);
41
+    } else if (oldRoom && !newRoom) {
42
+        navigateRoot(screen.root);
43
+    }
44
+
45
+    return result;
46
+}

react/features/welcome/components/RootNavigationContainerRef.js → react/features/mobile/navigation/rootNavigationContainerRef.js Näytä tiedosto

@@ -12,7 +12,7 @@ export const rootNavigationRef = React.createRef();
12 12
  * @param {Object} params - Params to pass to the destination route.
13 13
  * @returns {Function}
14 14
  */
15
-export function navigate(name: string, params: Object) {
15
+export function navigateRoot(name: string, params: Object) {
16 16
     // $FlowExpectedError
17 17
     return rootNavigationRef.current?.navigate(name, params);
18 18
 }

react/features/conference/components/native/routes.js → react/features/mobile/navigation/routes.js Näytä tiedosto

@@ -1,5 +1,5 @@
1 1
 export const screen = {
2
-    root: 'Root',
2
+    root: 'Main root',
3 3
     welcome: {
4 4
         main: 'Home',
5 5
         tabs: {
@@ -13,6 +13,7 @@ export const screen = {
13 13
     },
14 14
     dialInSummary: 'Dial-In Info',
15 15
     conference: {
16
+        root: 'Conference root',
16 17
         main: 'Conference',
17 18
         chat: 'Chat',
18 19
         chatandpolls: {

react/features/conference/components/native/ConferenceNavigatorScreenOptions.js → react/features/mobile/navigation/screenOptions.js Näytä tiedosto

@@ -12,11 +12,11 @@ import {
12 12
     IconHome,
13 13
     IconInfo,
14 14
     IconSettings
15
-} from '../../../base/icons';
16
-import BaseTheme from '../../../base/ui/components/BaseTheme';
15
+} from '../../base/icons';
16
+import BaseTheme from '../../base/ui/components/BaseTheme';
17 17
 
18
-import { goBack } from './ConferenceNavigationContainerRef';
19
-import HeaderNavigationButton from './HeaderNavigationButton';
18
+import HeaderNavigationButton from './components/HeaderNavigationButton';
19
+import { goBack } from './components/conference/ConferenceNavigationContainerRef';
20 20
 
21 21
 /**
22 22
  * Navigation container theme.
@@ -82,6 +82,21 @@ export const drawerScreenOptions = {
82 82
     }
83 83
 };
84 84
 
85
+/**
86
+ * Drawer content options.
87
+ */
88
+export const drawerContentOptions = {
89
+    drawerActiveBackgroundColor: BaseTheme.palette.ui12,
90
+    drawerActiveTintColor: BaseTheme.palette.screen01Header,
91
+    drawerLabelStyle: {
92
+        marginLeft: BaseTheme.spacing[2]
93
+    },
94
+    drawerStyle: {
95
+        backgroundColor: BaseTheme.palette.ui12,
96
+        width: '54%'
97
+    }
98
+};
99
+
85 100
 /**
86 101
  * Screen options for welcome page.
87 102
  */

+ 2
- 2
react/features/participants-pane/components/native/ParticipantsPaneButton.js Näytä tiedosto

@@ -7,8 +7,8 @@ import { IconParticipants } from '../../../base/icons';
7 7
 import { connect } from '../../../base/redux';
8 8
 import { AbstractButton, type AbstractButtonProps } from '../../../base/toolbox/components';
9 9
 import { navigate }
10
-    from '../../../conference/components/native/ConferenceNavigationContainerRef';
11
-import { screen } from '../../../conference/components/native/routes';
10
+    from '../../../mobile/navigation/components/conference/ConferenceNavigationContainerRef';
11
+import { screen } from '../../../mobile/navigation/routes';
12 12
 
13 13
 type Props = AbstractButtonProps & {
14 14
 

+ 3
- 3
react/features/recent-list/components/ShowDialInInfoButton.native.js Näytä tiedosto

@@ -4,8 +4,8 @@ import { translate } from '../../base/i18n';
4 4
 import { IconInfo } from '../../base/icons';
5 5
 import { connect } from '../../base/redux';
6 6
 import { AbstractButton, type AbstractButtonProps } from '../../base/toolbox/components';
7
-import { screen } from '../../conference/components/native/routes';
8
-import { navigate } from '../../welcome/components/RootNavigationContainerRef';
7
+import { navigateRoot } from '../../mobile/navigation/rootNavigationContainerRef';
8
+import { screen } from '../../mobile/navigation/routes';
9 9
 
10 10
 export type Props = AbstractButtonProps & {
11 11
 
@@ -42,7 +42,7 @@ class ShowDialInInfoButton extends AbstractButton<Props, *> {
42 42
     _handleClick() {
43 43
         const { itemId } = this.props;
44 44
 
45
-        navigate(screen.dialInSummary, {
45
+        navigateRoot(screen.dialInSummary, {
46 46
             summaryUrl: itemId.url
47 47
         });
48 48
     }

+ 4
- 3
react/features/security/components/security-dialog/native/SecurityDialog.js Näytä tiedosto

@@ -21,12 +21,13 @@ import { connect } from '../../../../base/redux';
21 21
 import { StyleType } from '../../../../base/styles';
22 22
 import BaseTheme from '../../../../base/ui/components/BaseTheme';
23 23
 import { isInBreakoutRoom } from '../../../../breakout-rooms/functions';
24
-import { goBack } from '../../../../conference/components/native/ConferenceNavigationContainerRef';
25
-import HeaderNavigationButton
26
-    from '../../../../conference/components/native/HeaderNavigationButton';
27 24
 import { toggleLobbyMode } from '../../../../lobby/actions.any';
28 25
 import LobbyModeSwitch
29 26
     from '../../../../lobby/components/native/LobbyModeSwitch';
27
+import HeaderNavigationButton
28
+    from '../../../../mobile/navigation/components/HeaderNavigationButton';
29
+import { goBack }
30
+    from '../../../../mobile/navigation/components/conference/ConferenceNavigationContainerRef';
30 31
 import { LOCKED_LOCALLY, LOCKED_REMOTELY } from '../../../../room-lock';
31 32
 import {
32 33
     endRoomLockRequest,

+ 2
- 2
react/features/security/components/security-dialog/native/SecurityDialogButton.js Näytä tiedosto

@@ -2,8 +2,8 @@
2 2
 
3 3
 import { translate } from '../../../../base/i18n';
4 4
 import { connect } from '../../../../base/redux';
5
-import { navigate } from '../../../../conference/components/native/ConferenceNavigationContainerRef';
6
-import { screen } from '../../../../conference/components/native/routes';
5
+import { navigate } from '../../../../mobile/navigation/components/conference/ConferenceNavigationContainerRef';
6
+import { screen } from '../../../../mobile/navigation/routes';
7 7
 import AbstractSecurityDialogButton, {
8 8
     _mapStateToProps as _abstractMapStateToProps,
9 9
     type Props as AbstractSecurityDialogButtonProps

+ 2
- 2
react/features/speaker-stats/components/native/SpeakerStatsButton.js Näytä tiedosto

@@ -4,8 +4,8 @@ import { createToolbarEvent, sendAnalytics } from '../../../analytics';
4 4
 import { getFeatureFlag, SPEAKERSTATS_ENABLED } from '../../../base/flags';
5 5
 import { translate } from '../../../base/i18n';
6 6
 import { connect } from '../../../base/redux';
7
-import { navigate } from '../../../conference/components/native/ConferenceNavigationContainerRef';
8
-import { screen } from '../../../conference/components/native/routes';
7
+import { navigate } from '../../../mobile/navigation/components/conference/ConferenceNavigationContainerRef';
8
+import { screen } from '../../../mobile/navigation/routes';
9 9
 import AbstractSpeakerStatsButton from '../AbstractSpeakerStatsButton';
10 10
 
11 11
 /**

+ 0
- 11
react/features/welcome/components/AbstractWelcomePage.js Näytä tiedosto

@@ -59,17 +59,6 @@ export type Props = {
59 59
 export class AbstractWelcomePage<P: Props> extends Component<P, *> {
60 60
     _mounted: ?boolean;
61 61
 
62
-    /**
63
-     * Implements React's {@link Component#getDerivedStateFromProps()}.
64
-     *
65
-     * @inheritdoc
66
-     */
67
-    static getDerivedStateFromProps(props: P, state: Object) {
68
-        return {
69
-            room: props._room || state.room
70
-        };
71
-    }
72
-
73 62
     /**
74 63
      * Save room name into component's local state.
75 64
      *

+ 0
- 80
react/features/welcome/components/LocalVideoTrackUnderlay.native.js Näytä tiedosto

@@ -1,80 +0,0 @@
1
-// @flow
2
-
3
-import React, { Component } from 'react';
4
-import { View } from 'react-native';
5
-
6
-import { VideoTrack } from '../../base/media';
7
-import { TintedView } from '../../base/react';
8
-import { connect } from '../../base/redux';
9
-import { getLocalVideoTrack } from '../../base/tracks';
10
-
11
-import styles from './styles';
12
-
13
-/**
14
- * The type of the React {@code Component} props of
15
- * {@link LocalVideoTrackUnderlay}.
16
- */
17
-type Props = {
18
-
19
-    /**
20
-     * The redux representation of the local participant's video track.
21
-     */
22
-    _localVideoTrack: Object,
23
-
24
-    /**
25
-     * React Elements to display within the component.
26
-     */
27
-    children: React$Node,
28
-
29
-    /**
30
-     * The style, if any, to apply to {@link LocalVideoTrackUnderlay} in
31
-     * addition to its default style.
32
-     */
33
-    style: Object
34
-};
35
-
36
-/**
37
- * Implements a React {@code Component} which underlays the local video track,
38
- * if any, underneath its children.
39
- */
40
-class LocalVideoTrackUnderlay extends Component<Props> {
41
-    /**
42
-     * Implements React's {@link Component#render()}.
43
-     *
44
-     * @inheritdoc
45
-     * @override
46
-     * @returns {ReactElement}
47
-     */
48
-    render() {
49
-        return (
50
-            <View
51
-                style = { [
52
-                    styles.localVideoTrackUnderlay,
53
-                    this.props.style
54
-                ] }>
55
-                <VideoTrack videoTrack = { this.props._localVideoTrack } />
56
-                <TintedView>
57
-                    { this.props.children }
58
-                </TintedView>
59
-            </View>
60
-        );
61
-    }
62
-}
63
-
64
-/**
65
- * Maps (parts of) the redux state to the React {@code Component} props of
66
- * {@code LocalVideoTrackUnderlay}.
67
- *
68
- * @param {Object} state - The redux state.
69
- * @private
70
- * @returns {{
71
- *     _localVideoTrack: (Track|undefined)
72
- * }}
73
- */
74
-function _mapStateToProps(state) {
75
-    return {
76
-        _localVideoTrack: getLocalVideoTrack(state['features/base/tracks'])
77
-    };
78
-}
79
-
80
-export default connect(_mapStateToProps)(LocalVideoTrackUnderlay);

+ 0
- 0
react/features/welcome/components/LocalVideoTrackUnderlay.web.js Näytä tiedosto


+ 19
- 10
react/features/welcome/components/WelcomePage.native.js Näytä tiedosto

@@ -18,7 +18,9 @@ import { Icon, IconMenu, IconWarning } from '../../base/icons';
18 18
 import JitsiStatusBar from '../../base/modal/components/JitsiStatusBar';
19 19
 import { LoadingIndicator, Text } from '../../base/react';
20 20
 import { connect } from '../../base/redux';
21
-import BaseTheme from '../../base/ui/components/BaseTheme.native';
21
+import BaseTheme from '../../base/ui/components/BaseTheme';
22
+import WelcomePageTabs
23
+    from '../../mobile/navigation/components/welcome/components/WelcomePageTabs';
22 24
 
23 25
 import {
24 26
     AbstractWelcomePage,
@@ -26,7 +28,6 @@ import {
26 28
     type Props as AbstractProps
27 29
 } from './AbstractWelcomePage';
28 30
 import VideoSwitch from './VideoSwitch';
29
-import WelcomePageTabs from './WelcomePageTabs';
30 31
 import styles, { PLACEHOLDER_TEXT_COLOR } from './styles';
31 32
 
32 33
 
@@ -42,11 +43,6 @@ type Props = AbstractProps & {
42 43
      */
43 44
     navigation: Object,
44 45
 
45
-    /**
46
-     * Default prop for navigating between screen components(React Navigation).
47
-     */
48
-    route: Object,
49
-
50 46
     /**
51 47
      * The translate function.
52 48
      */
@@ -103,8 +99,6 @@ class WelcomePage extends AbstractWelcomePage<*> {
103 99
     componentDidMount() {
104 100
         super.componentDidMount();
105 101
 
106
-        this._updateRoomname();
107
-
108 102
         const {
109 103
             _headerStyles,
110 104
             navigation
@@ -115,7 +109,8 @@ class WelcomePage extends AbstractWelcomePage<*> {
115 109
                 <TouchableOpacity
116 110
                     /* eslint-disable-next-line react/jsx-no-bind */
117 111
                     onPress = { () =>
118
-                        navigation.dispatch(DrawerActions.openDrawer()) }
112
+                        navigation.dispatch(DrawerActions.openDrawer())
113
+                    }
119 114
                     style = { styles.drawerNavigationIcon }>
120 115
                     <Icon
121 116
                         size = { 20 }
@@ -127,6 +122,20 @@ class WelcomePage extends AbstractWelcomePage<*> {
127 122
             headerRight: () =>
128 123
                 <VideoSwitch />
129 124
         });
125
+
126
+        navigation.addListener('focus', () => {
127
+            this._updateRoomname();
128
+        });
129
+
130
+        navigation.addListener('blur', () => {
131
+            this._clearTimeouts();
132
+
133
+            this.setState({
134
+                generatedRoomname: '',
135
+                insecureRoomName: false,
136
+                room: ''
137
+            });
138
+        });
130 139
     }
131 140
 
132 141
     /**

+ 0
- 16
react/features/welcome/components/constants.js Näytä tiedosto

@@ -1,16 +0,0 @@
1
-// @flow
2
-
3
-import BaseTheme from '../../base/ui/components/BaseTheme';
4
-
5
-
6
-export const drawerContentOptions = {
7
-    drawerActiveBackgroundColor: BaseTheme.palette.ui12,
8
-    drawerActiveTintColor: BaseTheme.palette.screen01Header,
9
-    drawerLabelStyle: {
10
-        marginLeft: BaseTheme.spacing[2]
11
-    },
12
-    drawerStyle: {
13
-        backgroundColor: BaseTheme.palette.ui12,
14
-        width: '54%'
15
-    }
16
-};

+ 0
- 12
react/features/welcome/components/help/components/styles.js Näytä tiedosto

@@ -1,12 +0,0 @@
1
-/**
2
- * The styles of the native components of the feature {@code settings}.
3
- */
4
-export default {
5
-
6
-    /**
7
-     * Style for screen container.
8
-     */
9
-    helpViewContainer: {
10
-        flex: 1
11
-    }
12
-};

react/features/welcome/components/help/components/HelpView.js → react/features/welcome/components/native/HelpView.js Näytä tiedosto

@@ -2,14 +2,13 @@
2 2
 
3 3
 import React, { PureComponent } from 'react';
4 4
 
5
-import JitsiScreenWebView from '../../../../base/modal/components/JitsiScreenWebView';
6
-import JitsiStatusBar from '../../../../base/modal/components/JitsiStatusBar';
7
-import { connect } from '../../../../base/redux';
8
-import { screen } from '../../../../conference/components/native/routes';
9
-import { renderArrowBackButton } from '../../../../welcome/functions.native';
10
-
11
-
12
-import styles from './styles';
5
+import JitsiScreenWebView from '../../../base/modal/components/JitsiScreenWebView';
6
+import JitsiStatusBar from '../../../base/modal/components/JitsiStatusBar';
7
+import { connect } from '../../../base/redux';
8
+import { renderArrowBackButton }
9
+    from '../../../mobile/navigation/components/welcome/functions';
10
+import { screen } from '../../../mobile/navigation/routes';
11
+import styles from '../styles';
13 12
 
14 13
 
15 14
 const DEFAULT_HELP_CENTRE_URL = 'https://web-cdn.jitsi.net/faq/meet-faq.html';
@@ -62,7 +61,7 @@ class HelpView extends PureComponent<Props> {
62 61
                 <JitsiStatusBar />
63 62
                 <JitsiScreenWebView
64 63
                     source = { this.props._url }
65
-                    style = { styles.helpViewContainer } />
64
+                    style = { styles.screenContainer } />
66 65
             </>
67 66
         );
68 67
     }

react/features/welcome/components/privacy/components/PrivacyView.js → react/features/welcome/components/native/PrivacyView.js Näytä tiedosto

@@ -2,12 +2,12 @@
2 2
 
3 3
 import React, { useEffect } from 'react';
4 4
 
5
-import JitsiScreenWebView from '../../../../base/modal/components/JitsiScreenWebView';
6
-import JitsiStatusBar from '../../../../base/modal/components/JitsiStatusBar';
7
-import { screen } from '../../../../conference/components/native/routes';
8
-import { renderArrowBackButton } from '../../../../welcome/functions.native';
9
-
10
-import styles from './styles';
5
+import JitsiScreenWebView from '../../../base/modal/components/JitsiScreenWebView';
6
+import JitsiStatusBar from '../../../base/modal/components/JitsiStatusBar';
7
+import { renderArrowBackButton }
8
+    from '../../../mobile/navigation/components/welcome/functions';
9
+import { screen } from '../../../mobile/navigation/routes';
10
+import styles from '../styles';
11 11
 
12 12
 
13 13
 type Props = {
@@ -38,7 +38,7 @@ const PrivacyView = ({ navigation }: Props) => {
38 38
             <JitsiStatusBar />
39 39
             <JitsiScreenWebView
40 40
                 source = { PRIVACY_URL }
41
-                style = { styles.privacyViewContainer } />
41
+                style = { styles.screenContainer } />
42 42
         </>
43 43
     );
44 44
 };

react/features/welcome/components/terms/components/TermsView.js → react/features/welcome/components/native/TermsView.js Näytä tiedosto

@@ -2,12 +2,12 @@
2 2
 
3 3
 import React, { useEffect } from 'react';
4 4
 
5
-import JitsiScreenWebView from '../../../../base/modal/components/JitsiScreenWebView';
6
-import JitsiStatusBar from '../../../../base/modal/components/JitsiStatusBar';
7
-import { screen } from '../../../../conference/components/native/routes';
8
-import { renderArrowBackButton } from '../../../../welcome/functions.native';
9
-
10
-import styles from './styles';
5
+import JitsiScreenWebView from '../../../base/modal/components/JitsiScreenWebView';
6
+import JitsiStatusBar from '../../../base/modal/components/JitsiStatusBar';
7
+import { renderArrowBackButton }
8
+    from '../../../mobile/navigation/components/welcome/functions';
9
+import { screen } from '../../../mobile/navigation/routes';
10
+import styles from '../styles';
11 11
 
12 12
 
13 13
 type Props = {
@@ -38,7 +38,7 @@ const TermsView = ({ navigation }: Props) => {
38 38
             <JitsiStatusBar />
39 39
             <JitsiScreenWebView
40 40
                 source = { TERMS_URL }
41
-                style = { styles.termsViewContainer } />
41
+                style = { styles.screenContainer } />
42 42
         </>
43 43
     );
44 44
 };

react/features/welcome/components/settings/components/FormRow.js → react/features/welcome/components/native/settings/components/FormRow.js Näytä tiedosto

@@ -3,7 +3,7 @@
3 3
 import React, { Component } from 'react';
4 4
 import { Text, View } from 'react-native';
5 5
 
6
-import { translate } from '../../../../base/i18n';
6
+import { translate } from '../../../../../base/i18n';
7 7
 
8 8
 import styles, { ANDROID_UNDERLINE_COLOR, PLACEHOLDER_COLOR } from './styles';
9 9
 

react/features/welcome/components/settings/components/FormSectionAccordion.js → react/features/welcome/components/native/settings/components/FormSectionAccordion.js Näytä tiedosto

@@ -3,8 +3,8 @@
3 3
 import React, { useCallback, useState } from 'react';
4 4
 import { List } from 'react-native-paper';
5 5
 
6
-import { translate } from '../../../../base/i18n';
7
-import { Icon, IconArrowDown, IconArrowUp } from '../../../../base/icons';
6
+import { translate } from '../../../../../base/i18n';
7
+import { Icon, IconArrowDown, IconArrowUp } from '../../../../../base/icons';
8 8
 
9 9
 import styles from './styles';
10 10
 

react/features/welcome/components/settings/components/SettingsView.js → react/features/welcome/components/native/settings/components/SettingsView.js Näytä tiedosto

@@ -10,17 +10,18 @@ import {
10 10
 } from 'react-native';
11 11
 import { Divider, Switch, TextInput, withTheme } from 'react-native-paper';
12 12
 
13
-import { translate } from '../../../../base/i18n';
14
-import JitsiScreen from '../../../../base/modal/components/JitsiScreen';
15
-import { connect } from '../../../../base/redux';
16
-import { screen } from '../../../../conference/components/native/routes';
13
+import { translate } from '../../../../../base/i18n';
14
+import JitsiScreen from '../../../../../base/modal/components/JitsiScreen';
15
+import { connect } from '../../../../../base/redux';
16
+import { renderArrowBackButton }
17
+    from '../../../../../mobile/navigation/components/welcome/functions';
18
+import { screen } from '../../../../../mobile/navigation/routes';
17 19
 import {
18 20
     AbstractSettingsView,
19 21
     _mapStateToProps as _abstractMapStateToProps,
20 22
     type Props as AbstractProps
21
-} from '../../../../settings/components/AbstractSettingsView';
22
-import { normalizeUserInputURL, isServerURLChangeEnabled } from '../../../../settings/functions';
23
-import { renderArrowBackButton } from '../../../../welcome/functions.native';
23
+} from '../../../../../settings/components/AbstractSettingsView';
24
+import { normalizeUserInputURL, isServerURLChangeEnabled } from '../../../../../settings/functions';
24 25
 
25 26
 import FormRow from './FormRow';
26 27
 import FormSectionAccordion from './FormSectionAccordion';

react/features/welcome/components/settings/components/index.js → react/features/welcome/components/native/settings/components/index.js Näytä tiedosto


react/features/welcome/components/settings/components/styles.js → react/features/welcome/components/native/settings/components/styles.js Näytä tiedosto

@@ -1,4 +1,4 @@
1
-import BaseTheme from '../../../../base/ui/components/BaseTheme.native';
1
+import BaseTheme from '../../../../../base/ui/components/BaseTheme';
2 2
 export const ANDROID_UNDERLINE_COLOR = 'transparent';
3 3
 export const PLACEHOLDER_COLOR = BaseTheme.palette.action02Focus;
4 4
 export const THUMB_COLOR = BaseTheme.palette.field02;

+ 0
- 12
react/features/welcome/components/privacy/components/styles.js Näytä tiedosto

@@ -1,12 +0,0 @@
1
-/**
2
- * The styles of the native components of the feature {@code privacy}.
3
- */
4
-export default {
5
-
6
-    /**
7
-     * Style for screen container.
8
-     */
9
-    privacyViewContainer: {
10
-        flex: 1
11
-    }
12
-};

+ 7
- 10
react/features/welcome/components/styles.js Näytä tiedosto

@@ -152,16 +152,6 @@ export default {
152 152
         paddingVertical: 2 * BoxModel.padding
153 153
     },
154 154
 
155
-    /**
156
-     * The style of the top-level container/{@code View} of
157
-     * {@code LocalVideoTrackUnderlay}.
158
-     */
159
-    localVideoTrackUnderlay: {
160
-        alignSelf: 'stretch',
161
-        backgroundColor: 'transparent',
162
-        flex: 1
163
-    },
164
-
165 155
     /**
166 156
      * Top-level screen style.
167 157
      */
@@ -280,5 +270,12 @@ export default {
280 270
         flex: 1,
281 271
         opacity: 0.8,
282 272
         overflow: 'hidden'
273
+    },
274
+
275
+    /**
276
+     * Style for screen container.
277
+     */
278
+    screenContainer: {
279
+        flex: 1
283 280
     }
284 281
 };

+ 0
- 12
react/features/welcome/components/terms/components/styles.js Näytä tiedosto

@@ -1,12 +0,0 @@
1
-/**
2
- * The styles of the native components of the feature {@code terms}.
3
- */
4
-export default {
5
-
6
-    /**
7
-     * Style for screen container.
8
-     */
9
-    termsViewContainer: {
10
-        flex: 1
11
-    }
12
-};

Loading…
Peruuta
Tallenna