2022-07-07 15:05:58 +00:00
|
|
|
import { TransitionPresets } from '@react-navigation/stack';
|
2022-06-10 15:22:44 +00:00
|
|
|
import { Platform } from 'react-native';
|
2021-10-20 19:29:21 +00:00
|
|
|
|
2022-02-08 15:09:22 +00:00
|
|
|
import BaseTheme from '../../base/ui/components/BaseTheme.native';
|
2021-10-20 19:29:21 +00:00
|
|
|
|
2022-01-25 12:55:57 +00:00
|
|
|
import { goBack } from './components/conference/ConferenceNavigationContainerRef';
|
2022-04-26 10:15:31 +00:00
|
|
|
import { goBack as goBackToLobbyScreen } from './components/lobby/LobbyNavigationContainerRef';
|
2022-06-16 09:49:07 +00:00
|
|
|
import { lobbyScreenHeaderCloseButton, screenHeaderCloseButton } from './functions';
|
|
|
|
import { goBack as goBackToWelcomeScreen } from './rootNavigationContainerRef';
|
2021-10-20 19:29:21 +00:00
|
|
|
|
2022-02-08 15:09:22 +00:00
|
|
|
|
2022-07-07 15:05:58 +00:00
|
|
|
/**
|
|
|
|
* Default modal transition for the current platform.
|
|
|
|
*/
|
|
|
|
export const modalPresentation = Platform.select({
|
|
|
|
ios: TransitionPresets.ModalPresentationIOS,
|
|
|
|
default: TransitionPresets.DefaultTransition
|
|
|
|
});
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Screen options and transition types.
|
|
|
|
*/
|
|
|
|
export const fullScreenOptions = {
|
|
|
|
...TransitionPresets.ModalTransition,
|
|
|
|
gestureEnabled: false,
|
|
|
|
headerShown: false
|
|
|
|
};
|
|
|
|
|
2022-01-25 12:55:57 +00:00
|
|
|
/**
|
2022-07-28 07:28:29 +00:00
|
|
|
* Navigation container theme.
|
2022-01-25 12:55:57 +00:00
|
|
|
*/
|
2022-07-28 07:28:29 +00:00
|
|
|
export const navigationContainerTheme = {
|
|
|
|
colors: {
|
|
|
|
background: BaseTheme.palette.uiBackground
|
2022-01-25 12:55:57 +00:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2021-11-11 14:32:56 +00:00
|
|
|
/**
|
|
|
|
* Screen options for welcome page.
|
|
|
|
*/
|
|
|
|
export const welcomeScreenOptions = {
|
2022-07-28 07:28:29 +00:00
|
|
|
...TransitionPresets.ModalTransition,
|
|
|
|
gestureEnabled: false,
|
|
|
|
headerShown: true,
|
2022-05-02 09:15:37 +00:00
|
|
|
headerStyle: {
|
2022-11-09 10:59:17 +00:00
|
|
|
backgroundColor: BaseTheme.palette.screen02Header
|
2022-05-02 09:15:37 +00:00
|
|
|
},
|
2022-06-16 09:49:07 +00:00
|
|
|
headerTitleStyle: {
|
|
|
|
color: BaseTheme.palette.text01
|
|
|
|
}
|
2021-11-11 14:32:56 +00:00
|
|
|
};
|
|
|
|
|
2021-10-20 19:29:21 +00:00
|
|
|
/**
|
|
|
|
* Screen options for conference.
|
|
|
|
*/
|
2022-07-07 15:05:58 +00:00
|
|
|
export const conferenceScreenOptions = fullScreenOptions;
|
2021-10-20 19:29:21 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Tab bar options for chat screen.
|
|
|
|
*/
|
|
|
|
export const chatTabBarOptions = {
|
2022-11-18 12:46:54 +00:00
|
|
|
swipeEnabled: false,
|
2022-01-07 14:11:58 +00:00
|
|
|
tabBarIndicatorStyle: {
|
2022-11-18 12:46:54 +00:00
|
|
|
backgroundColor: BaseTheme.palette.link01Active
|
2022-06-27 13:53:52 +00:00
|
|
|
},
|
|
|
|
tabBarStyle: {
|
|
|
|
backgroundColor: BaseTheme.palette.ui01,
|
|
|
|
borderBottomColor: BaseTheme.palette.border05,
|
2022-11-18 12:46:54 +00:00
|
|
|
borderBottomWidth: 0.4
|
2021-10-20 19:29:21 +00:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Screen options for presentation type modals.
|
|
|
|
*/
|
|
|
|
export const presentationScreenOptions = {
|
2022-07-07 15:05:58 +00:00
|
|
|
...modalPresentation,
|
2021-10-20 19:29:21 +00:00
|
|
|
headerBackTitleVisible: false,
|
2022-04-26 10:15:31 +00:00
|
|
|
headerLeft: () => screenHeaderCloseButton(goBack),
|
2021-10-20 19:29:21 +00:00
|
|
|
headerStatusBarHeight: 0,
|
|
|
|
headerStyle: {
|
2022-05-02 09:15:37 +00:00
|
|
|
backgroundColor: BaseTheme.palette.screen02Header
|
2021-10-20 19:29:21 +00:00
|
|
|
},
|
|
|
|
headerTitleStyle: {
|
|
|
|
color: BaseTheme.palette.text01
|
2022-07-07 15:05:58 +00:00
|
|
|
}
|
2021-10-20 19:29:21 +00:00
|
|
|
};
|
|
|
|
|
2022-05-06 10:14:10 +00:00
|
|
|
/**
|
|
|
|
* Screen options for car mode.
|
|
|
|
*/
|
2022-07-07 15:05:58 +00:00
|
|
|
export const carmodeScreenOptions = presentationScreenOptions;
|
2022-05-06 10:14:10 +00:00
|
|
|
|
2021-10-20 19:29:21 +00:00
|
|
|
/**
|
|
|
|
* Screen options for chat.
|
|
|
|
*/
|
2022-04-26 10:15:31 +00:00
|
|
|
export const chatScreenOptions = presentationScreenOptions;
|
2021-10-20 19:29:21 +00:00
|
|
|
|
2022-05-03 08:47:15 +00:00
|
|
|
/**
|
|
|
|
* Dial-IN Info screen options and transition types.
|
|
|
|
*/
|
|
|
|
export const dialInSummaryScreenOptions = {
|
|
|
|
...presentationScreenOptions,
|
2022-06-16 09:49:07 +00:00
|
|
|
headerLeft: () => screenHeaderCloseButton(goBackToWelcomeScreen)
|
2022-05-03 08:47:15 +00:00
|
|
|
};
|
|
|
|
|
2021-10-20 19:29:21 +00:00
|
|
|
/**
|
|
|
|
* Screen options for invite modal.
|
|
|
|
*/
|
2022-04-26 10:15:31 +00:00
|
|
|
export const inviteScreenOptions = presentationScreenOptions;
|
2021-10-20 19:29:21 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Screen options for participants modal.
|
|
|
|
*/
|
2022-04-26 10:15:31 +00:00
|
|
|
export const participantsScreenOptions = presentationScreenOptions;
|
2021-10-20 19:29:21 +00:00
|
|
|
|
2021-11-10 17:49:53 +00:00
|
|
|
/**
|
|
|
|
* Screen options for speaker stats modal.
|
|
|
|
*/
|
2022-04-26 10:15:31 +00:00
|
|
|
export const speakerStatsScreenOptions = presentationScreenOptions;
|
2021-11-10 17:49:53 +00:00
|
|
|
|
2021-12-10 16:23:27 +00:00
|
|
|
/**
|
|
|
|
* Screen options for security options modal.
|
|
|
|
*/
|
2022-04-26 10:15:31 +00:00
|
|
|
export const securityScreenOptions = presentationScreenOptions;
|
2021-12-10 16:23:27 +00:00
|
|
|
|
2022-02-08 11:25:32 +00:00
|
|
|
/**
|
|
|
|
* Screen options for recording modal.
|
|
|
|
*/
|
2022-04-26 10:15:31 +00:00
|
|
|
export const recordingScreenOptions = presentationScreenOptions;
|
2022-02-08 11:25:32 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Screen options for live stream modal.
|
|
|
|
*/
|
2022-04-26 10:15:31 +00:00
|
|
|
export const liveStreamScreenOptions = presentationScreenOptions;
|
|
|
|
|
2022-05-02 11:00:31 +00:00
|
|
|
/**
|
|
|
|
* Screen options for lobby modal.
|
|
|
|
*/
|
2022-06-16 09:49:07 +00:00
|
|
|
export const lobbyScreenOptions = {
|
|
|
|
...presentationScreenOptions,
|
|
|
|
headerLeft: () => lobbyScreenHeaderCloseButton()
|
|
|
|
};
|
2022-05-02 11:00:31 +00:00
|
|
|
|
2022-04-26 10:15:31 +00:00
|
|
|
/**
|
|
|
|
* Screen options for lobby chat modal.
|
|
|
|
*/
|
|
|
|
export const lobbyChatScreenOptions = {
|
|
|
|
...presentationScreenOptions,
|
|
|
|
headerLeft: () => screenHeaderCloseButton(goBackToLobbyScreen)
|
2022-02-08 11:25:32 +00:00
|
|
|
};
|
|
|
|
|
2022-03-08 09:10:30 +00:00
|
|
|
/**
|
|
|
|
* Screen options for salesforce link modal.
|
|
|
|
*/
|
|
|
|
export const salesforceScreenOptions = presentationScreenOptions;
|
|
|
|
|
2022-03-30 13:54:03 +00:00
|
|
|
/**
|
|
|
|
* Screen options for GIPHY integration modal.
|
|
|
|
*/
|
|
|
|
export const gifsMenuOptions = presentationScreenOptions;
|
|
|
|
|
2021-10-20 19:29:21 +00:00
|
|
|
/**
|
|
|
|
* Screen options for shared document.
|
|
|
|
*/
|
2022-07-04 12:29:08 +00:00
|
|
|
export const sharedDocumentScreenOptions = presentationScreenOptions;
|
2022-06-16 09:49:07 +00:00
|
|
|
|
2022-07-28 07:28:29 +00:00
|
|
|
/**
|
|
|
|
* Screen options for settings modal.
|
|
|
|
*/
|
|
|
|
export const settingsScreenOptions = presentationScreenOptions;
|
|
|
|
|
2022-06-16 09:49:07 +00:00
|
|
|
/**
|
|
|
|
* Screen options for connecting screen.
|
|
|
|
*/
|
|
|
|
export const connectingScreenOptions = {
|
|
|
|
gestureEnabled: false,
|
|
|
|
headerShown: false
|
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Screen options for pre-join screen.
|
|
|
|
*/
|
|
|
|
export const preJoinScreenOptions = {
|
|
|
|
gestureEnabled: false,
|
|
|
|
headerStyle: {
|
|
|
|
backgroundColor: BaseTheme.palette.screen02Header
|
|
|
|
},
|
2022-10-12 12:43:11 +00:00
|
|
|
headerTitleStyle: {
|
|
|
|
color: BaseTheme.palette.text01
|
|
|
|
}
|
2022-06-16 09:49:07 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Screen options for conference navigation container screen.
|
|
|
|
*/
|
|
|
|
export const conferenceNavigationContainerScreenOptions = {
|
|
|
|
gestureEnabled: false,
|
|
|
|
headerShown: false
|
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Screen options for lobby navigation container screen.
|
|
|
|
*/
|
|
|
|
export const lobbyNavigationContainerScreenOptions = {
|
|
|
|
gestureEnabled: false,
|
|
|
|
headerShown: false
|
|
|
|
};
|
2022-07-28 07:28:29 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Screen options for settings navigation container screen.
|
|
|
|
*/
|
|
|
|
export const settingsNavigationContainerScreenOptions = {
|
|
|
|
gestureEnabled: true,
|
|
|
|
headerShown: false
|
|
|
|
};
|