feat(conference) UI updates for mobile navigation bar (#10437)
* feat(conference) updated native navigation bar and toolbox styles
This commit is contained in:
parent
4a5982da1f
commit
cc63ff1c3c
|
@ -34,6 +34,7 @@ export const colors = {
|
||||||
surface11: '#FFF',
|
surface11: '#FFF',
|
||||||
surface12: '#AAAAAA',
|
surface12: '#AAAAAA',
|
||||||
surface13: '#495258',
|
surface13: '#495258',
|
||||||
|
surface14: '#555555',
|
||||||
|
|
||||||
success04: '#189B55',
|
success04: '#189B55',
|
||||||
success05: '#1EC26A',
|
success05: '#1EC26A',
|
||||||
|
@ -67,6 +68,7 @@ export const colorMap = {
|
||||||
ui04: 'surface05',
|
ui04: 'surface05',
|
||||||
ui05: 'surface06',
|
ui05: 'surface06',
|
||||||
ui12: 'surface11',
|
ui12: 'surface11',
|
||||||
|
ui13: 'surface14',
|
||||||
|
|
||||||
// Primary buttons
|
// Primary buttons
|
||||||
action01: 'primary05',
|
action01: 'primary05',
|
||||||
|
@ -168,6 +170,9 @@ export const colorMap = {
|
||||||
// Tertiary color for disabled actions
|
// Tertiary color for disabled actions
|
||||||
icon03: 'surface07',
|
icon03: 'surface07',
|
||||||
|
|
||||||
|
// Quaternary color for disabled actions
|
||||||
|
icon04: 'surface14',
|
||||||
|
|
||||||
// Error message
|
// Error message
|
||||||
iconError: 'error06',
|
iconError: 'error06',
|
||||||
|
|
||||||
|
|
|
@ -254,7 +254,8 @@ class Conference extends AbstractConference<Props, *> {
|
||||||
_connecting,
|
_connecting,
|
||||||
_largeVideoParticipantId,
|
_largeVideoParticipantId,
|
||||||
_reducedUI,
|
_reducedUI,
|
||||||
_shouldDisplayTileView
|
_shouldDisplayTileView,
|
||||||
|
_toolboxVisible
|
||||||
} = this.props;
|
} = this.props;
|
||||||
|
|
||||||
if (_reducedUI) {
|
if (_reducedUI) {
|
||||||
|
@ -304,7 +305,10 @@ class Conference extends AbstractConference<Props, *> {
|
||||||
|
|
||||||
<SafeAreaView
|
<SafeAreaView
|
||||||
pointerEvents = 'box-none'
|
pointerEvents = 'box-none'
|
||||||
style = { styles.navBarSafeView }>
|
style = {
|
||||||
|
_toolboxVisible
|
||||||
|
? styles.navBarSafeViewColor
|
||||||
|
: styles.navBarSafeViewTransparent }>
|
||||||
<NavigationBar />
|
<NavigationBar />
|
||||||
{ this._renderNotificationsContainer() }
|
{ this._renderNotificationsContainer() }
|
||||||
<KnockingParticipantList />
|
<KnockingParticipantList />
|
||||||
|
|
|
@ -6,6 +6,17 @@ export const INSECURE_ROOM_NAME_LABEL_COLOR = BaseTheme.palette.warning03;
|
||||||
|
|
||||||
const NAVBAR_BUTTON_SIZE = 24;
|
const NAVBAR_BUTTON_SIZE = 24;
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The styles of the safe area view that contains the navigation bar.
|
||||||
|
*/
|
||||||
|
const navBarSafeView = {
|
||||||
|
left: 0,
|
||||||
|
position: 'absolute',
|
||||||
|
right: 0,
|
||||||
|
top: 0
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The styles of the feature conference.
|
* The styles of the feature conference.
|
||||||
*/
|
*/
|
||||||
|
@ -43,16 +54,21 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
inviteButtonContainer: {
|
inviteButtonContainer: {
|
||||||
|
borderRadius: 3,
|
||||||
|
height: BaseTheme.spacing[7],
|
||||||
position: 'absolute',
|
position: 'absolute',
|
||||||
|
marginTop: BaseTheme.spacing[1],
|
||||||
|
marginRight: BaseTheme.spacing[1],
|
||||||
top: 0,
|
top: 0,
|
||||||
right: 0,
|
right: 0,
|
||||||
zIndex: 1
|
zIndex: 1,
|
||||||
|
width: BaseTheme.spacing[7]
|
||||||
},
|
},
|
||||||
|
|
||||||
inviteButton: {
|
inviteButton: {
|
||||||
iconStyle: {
|
iconStyle: {
|
||||||
padding: 10,
|
|
||||||
color: BaseTheme.palette.icon01,
|
color: BaseTheme.palette.icon01,
|
||||||
|
padding: 12,
|
||||||
fontSize: NAVBAR_BUTTON_SIZE
|
fontSize: NAVBAR_BUTTON_SIZE
|
||||||
},
|
},
|
||||||
underlayColor: BaseTheme.spacing.underlay01
|
underlayColor: BaseTheme.spacing.underlay01
|
||||||
|
@ -82,35 +98,41 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
pipButtonContainer: {
|
pipButtonContainer: {
|
||||||
|
borderRadius: 3,
|
||||||
|
height: BaseTheme.spacing[7],
|
||||||
position: 'absolute',
|
position: 'absolute',
|
||||||
|
marginTop: BaseTheme.spacing[1],
|
||||||
|
marginLeft: BaseTheme.spacing[1],
|
||||||
top: 0,
|
top: 0,
|
||||||
left: 0,
|
left: 0,
|
||||||
zIndex: 1
|
zIndex: 1,
|
||||||
|
width: BaseTheme.spacing[7]
|
||||||
},
|
},
|
||||||
|
|
||||||
pipButton: {
|
pipButton: {
|
||||||
iconStyle: {
|
iconStyle: {
|
||||||
padding: 10,
|
|
||||||
color: BaseTheme.palette.icon01,
|
color: BaseTheme.palette.icon01,
|
||||||
|
padding: 12,
|
||||||
fontSize: NAVBAR_BUTTON_SIZE
|
fontSize: NAVBAR_BUTTON_SIZE
|
||||||
},
|
},
|
||||||
underlayColor: BaseTheme.palette.underlay01
|
underlayColor: BaseTheme.spacing.underlay01
|
||||||
},
|
},
|
||||||
|
|
||||||
navBarSafeView: {
|
navBarSafeViewColor: {
|
||||||
left: 0,
|
...navBarSafeView,
|
||||||
position: 'absolute',
|
backgroundColor: BaseTheme.palette.uiBackground
|
||||||
right: 0,
|
},
|
||||||
top: 0
|
|
||||||
|
navBarSafeViewTransparent: {
|
||||||
|
...navBarSafeView
|
||||||
},
|
},
|
||||||
|
|
||||||
navBarWrapper: {
|
navBarWrapper: {
|
||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
flexDirection: 'row',
|
flexDirection: 'row',
|
||||||
height: 44,
|
height: BaseTheme.spacing[8],
|
||||||
justifyContent: 'center',
|
justifyContent: 'center'
|
||||||
paddingHorizontal: 14
|
|
||||||
},
|
},
|
||||||
|
|
||||||
roomTimer: {
|
roomTimer: {
|
||||||
|
@ -121,9 +143,8 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
roomTimerView: {
|
roomTimerView: {
|
||||||
backgroundColor: 'rgba(0,0,0,0.8)',
|
backgroundColor: BaseTheme.palette.action02,
|
||||||
borderBottomRightRadius: 3,
|
borderRadius: 3,
|
||||||
borderTopRightRadius: 3,
|
|
||||||
height: 28,
|
height: 28,
|
||||||
justifyContent: 'center',
|
justifyContent: 'center',
|
||||||
minWidth: 50
|
minWidth: 50
|
||||||
|
@ -142,7 +163,8 @@ export default {
|
||||||
flexShrink: 1,
|
flexShrink: 1,
|
||||||
height: 28,
|
height: 28,
|
||||||
justifyContent: 'center',
|
justifyContent: 'center',
|
||||||
paddingHorizontal: 10
|
paddingHorizontal: 10,
|
||||||
|
maxWidth: 168
|
||||||
},
|
},
|
||||||
|
|
||||||
roomNameWrapper: {
|
roomNameWrapper: {
|
||||||
|
|
|
@ -4,7 +4,7 @@ import type { Dispatch } from 'redux';
|
||||||
|
|
||||||
import { getFeatureFlag, INVITE_ENABLED } from '../../../../base/flags';
|
import { getFeatureFlag, INVITE_ENABLED } from '../../../../base/flags';
|
||||||
import { translate } from '../../../../base/i18n';
|
import { translate } from '../../../../base/i18n';
|
||||||
import { IconAddPeople } from '../../../../base/icons';
|
import { IconInviteMore } from '../../../../base/icons';
|
||||||
import { connect } from '../../../../base/redux';
|
import { connect } from '../../../../base/redux';
|
||||||
import { AbstractButton, type AbstractButtonProps } from '../../../../base/toolbox/components';
|
import { AbstractButton, type AbstractButtonProps } from '../../../../base/toolbox/components';
|
||||||
import { doInvitePeople } from '../../../actions.native';
|
import { doInvitePeople } from '../../../actions.native';
|
||||||
|
@ -23,7 +23,7 @@ type Props = AbstractButtonProps & {
|
||||||
*/
|
*/
|
||||||
class InviteButton extends AbstractButton<Props, *> {
|
class InviteButton extends AbstractButton<Props, *> {
|
||||||
accessibilityLabel = 'toolbar.accessibilityLabel.shareRoom';
|
accessibilityLabel = 'toolbar.accessibilityLabel.shareRoom';
|
||||||
icon = IconAddPeople;
|
icon = IconInviteMore;
|
||||||
label = 'toolbar.shareRoom';
|
label = 'toolbar.shareRoom';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,7 +1,8 @@
|
||||||
// @flow
|
// @flow
|
||||||
|
|
||||||
import { ColorSchemeRegistry, schemeColor } from '../../../base/color-scheme';
|
import { ColorSchemeRegistry, schemeColor } from '../../../base/color-scheme';
|
||||||
import { BoxModel, ColorPalette } from '../../../base/styles';
|
import { BoxModel } from '../../../base/styles';
|
||||||
|
import BaseTheme from '../../../base/ui/components/BaseTheme';
|
||||||
|
|
||||||
const BUTTON_SIZE = 48;
|
const BUTTON_SIZE = 48;
|
||||||
|
|
||||||
|
@ -27,7 +28,7 @@ const toolbarButton = {
|
||||||
*/
|
*/
|
||||||
const toolbarButtonIcon = {
|
const toolbarButtonIcon = {
|
||||||
alignSelf: 'center',
|
alignSelf: 'center',
|
||||||
color: ColorPalette.darkGrey,
|
color: BaseTheme.palette.icon04,
|
||||||
fontSize: 24
|
fontSize: 24
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -37,7 +38,7 @@ const toolbarButtonIcon = {
|
||||||
*/
|
*/
|
||||||
const whiteToolbarButtonIcon = {
|
const whiteToolbarButtonIcon = {
|
||||||
...toolbarButtonIcon,
|
...toolbarButtonIcon,
|
||||||
color: ColorPalette.white
|
color: BaseTheme.palette.icon01
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -56,14 +57,14 @@ const reactionButton = {
|
||||||
*/
|
*/
|
||||||
const reactionEmoji = {
|
const reactionEmoji = {
|
||||||
fontSize: 20,
|
fontSize: 20,
|
||||||
color: ColorPalette.white
|
color: BaseTheme.palette.icon01
|
||||||
};
|
};
|
||||||
|
|
||||||
const reactionMenu = {
|
const reactionMenu = {
|
||||||
flexDirection: 'column',
|
flexDirection: 'column',
|
||||||
justifyContent: 'center',
|
justifyContent: 'center',
|
||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
backgroundColor: ColorPalette.black,
|
backgroundColor: BaseTheme.palette.bottomSheet,
|
||||||
padding: 16
|
padding: 16
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -82,7 +83,7 @@ const styles = {
|
||||||
*/
|
*/
|
||||||
toolbox: {
|
toolbox: {
|
||||||
alignItems: 'center',
|
alignItems: 'center',
|
||||||
backgroundColor: ColorPalette.darkBackground,
|
backgroundColor: BaseTheme.palette.uiBackground,
|
||||||
borderTopLeftRadius: 3,
|
borderTopLeftRadius: 3,
|
||||||
borderTopRightRadius: 3,
|
borderTopRightRadius: 3,
|
||||||
flexDirection: 'row',
|
flexDirection: 'row',
|
||||||
|
@ -128,7 +129,7 @@ ColorSchemeRegistry.register('Toolbox', {
|
||||||
},
|
},
|
||||||
|
|
||||||
backgroundToggle: {
|
backgroundToggle: {
|
||||||
backgroundColor: ColorPalette.toggled
|
backgroundColor: BaseTheme.palette.ui13
|
||||||
},
|
},
|
||||||
|
|
||||||
hangupButtonStyles: {
|
hangupButtonStyles: {
|
||||||
|
@ -137,7 +138,7 @@ ColorSchemeRegistry.register('Toolbox', {
|
||||||
...toolbarButton,
|
...toolbarButton,
|
||||||
backgroundColor: schemeColor('hangup')
|
backgroundColor: schemeColor('hangup')
|
||||||
},
|
},
|
||||||
underlayColor: ColorPalette.buttonUnderlay
|
underlayColor: BaseTheme.palette.underlay01
|
||||||
},
|
},
|
||||||
|
|
||||||
reactionDialog: {
|
reactionDialog: {
|
||||||
|
@ -165,21 +166,21 @@ ColorSchemeRegistry.register('Toolbox', {
|
||||||
|
|
||||||
reactionButton: {
|
reactionButton: {
|
||||||
style: reactionButton,
|
style: reactionButton,
|
||||||
underlayColor: ColorPalette.toggled,
|
underlayColor: BaseTheme.palette.ui13,
|
||||||
emoji: reactionEmoji
|
emoji: reactionEmoji
|
||||||
},
|
},
|
||||||
|
|
||||||
raiseHandButton: {
|
raiseHandButton: {
|
||||||
style: {
|
style: {
|
||||||
...reactionButton,
|
...reactionButton,
|
||||||
backgroundColor: ColorPalette.toggled,
|
backgroundColor: BaseTheme.palette.ui13,
|
||||||
width: '100%',
|
width: '100%',
|
||||||
borderRadius: 6
|
borderRadius: 6
|
||||||
},
|
},
|
||||||
underlayColor: ColorPalette.toggled,
|
underlayColor: BaseTheme.palette.ui13,
|
||||||
emoji: reactionEmoji,
|
emoji: reactionEmoji,
|
||||||
text: {
|
text: {
|
||||||
color: ColorPalette.white,
|
color: BaseTheme.palette.text01,
|
||||||
fontWeight: '600',
|
fontWeight: '600',
|
||||||
marginLeft: 8,
|
marginLeft: 8,
|
||||||
lineHeight: 24
|
lineHeight: 24
|
||||||
|
@ -192,7 +193,7 @@ ColorSchemeRegistry.register('Toolbox', {
|
||||||
},
|
},
|
||||||
|
|
||||||
emojiAnimation: {
|
emojiAnimation: {
|
||||||
color: ColorPalette.white,
|
color: BaseTheme.palette.icon01,
|
||||||
position: 'absolute',
|
position: 'absolute',
|
||||||
zIndex: 1001,
|
zIndex: 1001,
|
||||||
elevation: 2,
|
elevation: 2,
|
||||||
|
|
Loading…
Reference in New Issue