fix(rn,lobby) use a header for the main lobby screen
It allows us to place the Cancel button there, and declutter the UI of buttons.
This commit is contained in:
parent
d78e8fba25
commit
1c79e6baa3
|
@ -12,6 +12,8 @@ import BaseTheme from '../../../base/ui/components/BaseTheme';
|
||||||
import InviteButton
|
import InviteButton
|
||||||
from '../../../invite/components/add-people-dialog/native/InviteButton';
|
from '../../../invite/components/add-people-dialog/native/InviteButton';
|
||||||
import { LargeVideo } from '../../../large-video/components';
|
import { LargeVideo } from '../../../large-video/components';
|
||||||
|
import HeaderNavigationButton
|
||||||
|
from '../../../mobile/navigation/components/HeaderNavigationButton';
|
||||||
import { navigate }
|
import { navigate }
|
||||||
from '../../../mobile/navigation/components/lobby/LobbyNavigationContainerRef';
|
from '../../../mobile/navigation/components/lobby/LobbyNavigationContainerRef';
|
||||||
import { screen } from '../../../mobile/navigation/routes';
|
import { screen } from '../../../mobile/navigation/routes';
|
||||||
|
@ -36,6 +38,25 @@ type Props = AbstractProps & {
|
||||||
* Implements a waiting screen that represents the participant being in the lobby.
|
* Implements a waiting screen that represents the participant being in the lobby.
|
||||||
*/
|
*/
|
||||||
class LobbyScreen extends AbstractLobbyScreen<Props> {
|
class LobbyScreen extends AbstractLobbyScreen<Props> {
|
||||||
|
/**
|
||||||
|
* Implements React's {@link Component#componentDidMount()}. Invoked
|
||||||
|
* immediately after this component is mounted.
|
||||||
|
*
|
||||||
|
* @inheritdoc
|
||||||
|
* @returns {void}
|
||||||
|
*/
|
||||||
|
componentDidMount() {
|
||||||
|
const { navigation, t } = this.props;
|
||||||
|
|
||||||
|
navigation.setOptions({
|
||||||
|
headerLeft: () => (
|
||||||
|
<HeaderNavigationButton
|
||||||
|
label = { t('dialog.Cancel') }
|
||||||
|
onPress = { this._onCancel } />
|
||||||
|
)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Implements {@code PureComponent#render}.
|
* Implements {@code PureComponent#render}.
|
||||||
*
|
*
|
||||||
|
@ -292,16 +313,6 @@ class LobbyScreen extends AbstractLobbyScreen<Props> {
|
||||||
{ t('lobby.enterPasswordButton') }
|
{ t('lobby.enterPasswordButton') }
|
||||||
</Text>
|
</Text>
|
||||||
</TouchableOpacity> }
|
</TouchableOpacity> }
|
||||||
<TouchableOpacity
|
|
||||||
onPress = { this._onCancel }
|
|
||||||
style = { [
|
|
||||||
styles.button,
|
|
||||||
styles.cancelButton
|
|
||||||
] }>
|
|
||||||
<Text style = { styles.cancelButtonText }>
|
|
||||||
{ t('dialog.Cancel') }
|
|
||||||
</Text>
|
|
||||||
</TouchableOpacity>
|
|
||||||
</View>
|
</View>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,7 +71,7 @@ export default {
|
||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
display: 'flex',
|
display: 'flex',
|
||||||
justifyContent: 'center',
|
justifyContent: 'center',
|
||||||
minHeight: '45%'
|
minHeight: '50%'
|
||||||
},
|
},
|
||||||
|
|
||||||
largeVideoContainerWide: {
|
largeVideoContainerWide: {
|
||||||
|
@ -214,18 +214,6 @@ export default {
|
||||||
textAlign: 'center'
|
textAlign: 'center'
|
||||||
},
|
},
|
||||||
|
|
||||||
cancelButton: {
|
|
||||||
alignItems: 'center',
|
|
||||||
backgroundColor: BaseTheme.palette.action02Disabled,
|
|
||||||
marginTop: BaseTheme.spacing[4]
|
|
||||||
},
|
|
||||||
|
|
||||||
cancelButtonText: {
|
|
||||||
...BaseTheme.typography.labelButtonLarge,
|
|
||||||
color: BaseTheme.palette.text01,
|
|
||||||
lineHeight: 30
|
|
||||||
},
|
|
||||||
|
|
||||||
// KnockingParticipantList
|
// KnockingParticipantList
|
||||||
|
|
||||||
knockingParticipantList: {
|
knockingParticipantList: {
|
||||||
|
|
|
@ -7,7 +7,8 @@ import { LobbyChatScreen, LobbyScreen } from '../../../../../lobby';
|
||||||
import { screen } from '../../../routes';
|
import { screen } from '../../../routes';
|
||||||
import {
|
import {
|
||||||
lobbyChatScreenOptions,
|
lobbyChatScreenOptions,
|
||||||
lobbyScreenOptions, navigationContainerTheme
|
lobbyScreenOptions,
|
||||||
|
navigationContainerTheme
|
||||||
} from '../../../screenOptions';
|
} from '../../../screenOptions';
|
||||||
import { lobbyNavigationContainerRef } from '../LobbyNavigationContainerRef';
|
import { lobbyNavigationContainerRef } from '../LobbyNavigationContainerRef';
|
||||||
|
|
||||||
|
|
|
@ -168,11 +168,6 @@ export const helpScreenOptions = {
|
||||||
*/
|
*/
|
||||||
export const conferenceScreenOptions = fullScreenOptions;
|
export const conferenceScreenOptions = fullScreenOptions;
|
||||||
|
|
||||||
/**
|
|
||||||
* Screen options for lobby modal.
|
|
||||||
*/
|
|
||||||
export const lobbyScreenOptions = fullScreenOptions;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tab bar options for chat screen.
|
* Tab bar options for chat screen.
|
||||||
*/
|
*/
|
||||||
|
@ -238,6 +233,11 @@ export const recordingScreenOptions = presentationScreenOptions;
|
||||||
*/
|
*/
|
||||||
export const liveStreamScreenOptions = presentationScreenOptions;
|
export const liveStreamScreenOptions = presentationScreenOptions;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Screen options for lobby modal.
|
||||||
|
*/
|
||||||
|
export const lobbyScreenOptions = presentationScreenOptions;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Screen options for lobby chat modal.
|
* Screen options for lobby chat modal.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue