|
@@ -1,10 +1,9 @@
|
1
|
1
|
// @flow
|
2
|
2
|
|
3
|
3
|
import React, { PureComponent } from 'react';
|
4
|
|
-import { View } from 'react-native';
|
|
4
|
+import { SafeAreaView, View } from 'react-native';
|
5
|
5
|
|
6
|
6
|
import { ColorSchemeRegistry } from '../../../base/color-scheme';
|
7
|
|
-import { Container } from '../../../base/react';
|
8
|
7
|
import { connect } from '../../../base/redux';
|
9
|
8
|
import { StyleType } from '../../../base/styles';
|
10
|
9
|
import { ChatButton } from '../../../chat';
|
|
@@ -48,12 +47,37 @@ class Toolbox extends PureComponent<Props> {
|
48
|
47
|
* @returns {ReactElement}
|
49
|
48
|
*/
|
50
|
49
|
render() {
|
|
50
|
+ if (!this.props._visible) {
|
|
51
|
+ return null;
|
|
52
|
+ }
|
|
53
|
+
|
|
54
|
+ const { _styles } = this.props;
|
|
55
|
+ const { buttonStylesBorderless, hangupButtonStyles, toggledButtonStyles } = _styles;
|
|
56
|
+
|
51
|
57
|
return (
|
52
|
|
- <Container
|
53
|
|
- style = { styles.toolbox }
|
54
|
|
- visible = { this.props._visible }>
|
55
|
|
- { this._renderToolbar() }
|
56
|
|
- </Container>
|
|
58
|
+ <View
|
|
59
|
+ pointerEvents = 'box-none'
|
|
60
|
+ style = { styles.toolboxContainer }>
|
|
61
|
+ <SafeAreaView
|
|
62
|
+ accessibilityRole = 'toolbar'
|
|
63
|
+ pointerEvents = 'box-none'
|
|
64
|
+ style = { styles.toolbox }>
|
|
65
|
+ <AudioMuteButton
|
|
66
|
+ styles = { buttonStylesBorderless }
|
|
67
|
+ toggledStyles = { toggledButtonStyles } />
|
|
68
|
+ <VideoMuteButton
|
|
69
|
+ styles = { buttonStylesBorderless }
|
|
70
|
+ toggledStyles = { toggledButtonStyles } />
|
|
71
|
+ <ChatButton
|
|
72
|
+ styles = { buttonStylesBorderless }
|
|
73
|
+ toggledStyles = { this._getChatButtonToggledStyle(toggledButtonStyles) } />
|
|
74
|
+ <OverflowMenuButton
|
|
75
|
+ styles = { buttonStylesBorderless }
|
|
76
|
+ toggledStyles = { toggledButtonStyles } />
|
|
77
|
+ <HangupButton
|
|
78
|
+ styles = { hangupButtonStyles } />
|
|
79
|
+ </SafeAreaView>
|
|
80
|
+ </View>
|
57
|
81
|
);
|
58
|
82
|
}
|
59
|
83
|
|
|
@@ -87,40 +111,6 @@ class Toolbox extends PureComponent<Props> {
|
87
|
111
|
]
|
88
|
112
|
};
|
89
|
113
|
}
|
90
|
|
-
|
91
|
|
- /**
|
92
|
|
- * Renders the toolbar. In order to avoid a weird visual effect in which the
|
93
|
|
- * toolbar is (visually) rendered and then visibly changes its size, it is
|
94
|
|
- * rendered only after we've figured out the width available to the toolbar.
|
95
|
|
- *
|
96
|
|
- * @returns {React$Node}
|
97
|
|
- */
|
98
|
|
- _renderToolbar() {
|
99
|
|
- const { _styles } = this.props;
|
100
|
|
- const { buttonStylesBorderless, hangupButtonStyles, toggledButtonStyles } = _styles;
|
101
|
|
-
|
102
|
|
- return (
|
103
|
|
- <View
|
104
|
|
- accessibilityRole = 'toolbar'
|
105
|
|
- pointerEvents = 'box-none'
|
106
|
|
- style = { styles.toolbar }>
|
107
|
|
- <AudioMuteButton
|
108
|
|
- styles = { buttonStylesBorderless }
|
109
|
|
- toggledStyles = { toggledButtonStyles } />
|
110
|
|
- <VideoMuteButton
|
111
|
|
- styles = { buttonStylesBorderless }
|
112
|
|
- toggledStyles = { toggledButtonStyles } />
|
113
|
|
- <ChatButton
|
114
|
|
- styles = { buttonStylesBorderless }
|
115
|
|
- toggledStyles = { this._getChatButtonToggledStyle(toggledButtonStyles) } />
|
116
|
|
- <OverflowMenuButton
|
117
|
|
- styles = { buttonStylesBorderless }
|
118
|
|
- toggledStyles = { toggledButtonStyles } />
|
119
|
|
- <HangupButton
|
120
|
|
- styles = { hangupButtonStyles } />
|
121
|
|
- </View>
|
122
|
|
- );
|
123
|
|
- }
|
124
|
114
|
}
|
125
|
115
|
|
126
|
116
|
/**
|