@placetime/corptime-conference 0.0.6 → 0.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@placetime/corptime-conference",
3
- "version": "0.0.6",
3
+ "version": "0.0.7",
4
4
  "description": "React Native SDK from Corptime-Conference",
5
5
  "main": "index.tsx",
6
6
  "license": "Apache-2.0",
@@ -5,7 +5,8 @@ import {
5
5
  KeyboardAvoidingView,
6
6
  Platform,
7
7
  StatusBar,
8
- ViewStyle
8
+ View,
9
+ ViewStyle,
9
10
  } from 'react-native';
10
11
  import { useSafeAreaInsets } from 'react-native-safe-area-context';
11
12
 
@@ -47,6 +48,10 @@ interface IProps {
47
48
  * Additional style to be appended to the KeyboardAvoidingView.
48
49
  */
49
50
  style?: StyleType;
51
+ /**
52
+ * Prevent default avoiding keyboard behavior if use BottomSheet
53
+ */
54
+ useBottomSheet?: boolean;
50
55
  }
51
56
 
52
57
  const JitsiKeyboardAvoidingView = (
@@ -57,7 +62,8 @@ const JitsiKeyboardAvoidingView = (
57
62
  disableForcedKeyboardDismiss,
58
63
  hasBottomTextInput,
59
64
  hasExtraHeaderHeight,
60
- style
65
+ style,
66
+ useBottomSheet,
61
67
  }: IProps) => {
62
68
  const headerHeight = useHeaderHeight();
63
69
  const insets = useSafeAreaInsets();
@@ -84,6 +90,14 @@ const JitsiKeyboardAvoidingView = (
84
90
  const shouldSetResponse = useCallback(() => !disableForcedKeyboardDismiss, []);
85
91
  const onRelease = useCallback(() => Keyboard.dismiss(), []);
86
92
 
93
+ if (useBottomSheet) {
94
+ return (
95
+ <View style = { style as ViewStyle }>
96
+ { children }
97
+ </View>
98
+ );
99
+ }
100
+
87
101
  return (
88
102
  <KeyboardAvoidingView
89
103
  behavior = { Platform.OS === 'ios' ? 'padding' : 'height' }
@@ -53,6 +53,10 @@ interface IProps {
53
53
  * Additional style to be appended to the KeyboardAvoidingView containing the content of the modal.
54
54
  */
55
55
  style?: StyleType;
56
+ /**
57
+ * Prevent default avoiding keyboard behavior if use BottomSheet
58
+ */
59
+ useBottomSheet?: boolean;
56
60
  }
57
61
 
58
62
  const JitsiScreen = ({
@@ -64,10 +68,12 @@ const JitsiScreen = ({
64
68
  hasBottomTextInput = false,
65
69
  hasExtraHeaderHeight = false,
66
70
  safeAreaInsets = [ 'left', 'right' ],
67
- style
71
+ style,
72
+ useBottomSheet,
68
73
  }: IProps) => {
69
74
  const renderContent = () => (
70
75
  <JitsiKeyboardAvoidingView
76
+ useBottomSheet = { useBottomSheet }
71
77
  addBottomPadding = { addBottomPadding }
72
78
  contentContainerStyle = { contentContainerStyle }
73
79
  disableForcedKeyboardDismiss = { disableForcedKeyboardDismiss }
@@ -15,6 +15,7 @@ import {
15
15
  View,
16
16
  ViewStyle
17
17
  } from 'react-native';
18
+ import {BottomSheetTextInput} from '@gorhom/bottom-sheet';
18
19
 
19
20
  import Icon from '../../../icons/components/Icon';
20
21
  import { IconCloseCircle } from '../../../icons/svg';
@@ -51,6 +52,10 @@ interface IProps extends IInputProps {
51
52
  returnKeyType?: ReturnKeyTypeOptions | undefined;
52
53
  secureTextEntry?: boolean | undefined;
53
54
  textContentType?: any;
55
+ /**
56
+ * Use BottomSheetInput
57
+ */
58
+ useBottomSheetInput?: boolean;
54
59
  }
55
60
 
56
61
  interface ICustomStyles {
@@ -86,7 +91,8 @@ const Input = forwardRef<TextInput, IProps>(({
86
91
  returnKeyType,
87
92
  secureTextEntry,
88
93
  textContentType,
89
- value
94
+ value,
95
+ useBottomSheetInput,
90
96
  }: IProps, ref) => {
91
97
  const [ focused, setFocused ] = useState(false);
92
98
  const handleChange = useCallback((e: NativeSyntheticEvent<TextInputChangeEventData>) => {
@@ -119,6 +125,8 @@ const Input = forwardRef<TextInput, IProps>(({
119
125
  onSubmitEditing?.(text);
120
126
  }, [ onSubmitEditing ]);
121
127
 
128
+ const InputComponent = useBottomSheetInput ? BottomSheetTextInput : TextInput;
129
+
122
130
  return (<View style = { [ styles.inputContainer, customStyles?.container ] as StyleProp<ViewStyle> }>
123
131
  {label && <Text style = { styles.label }>{ label }</Text>}
124
132
  <View style = { styles.fieldContainer as StyleProp<ViewStyle> }>
@@ -126,7 +134,7 @@ const Input = forwardRef<TextInput, IProps>(({
126
134
  size = { 22 }
127
135
  src = { icon }
128
136
  style = { styles.icon } />}
129
- <TextInput
137
+ <InputComponent
130
138
  accessibilityLabel = { accessibilityLabel }
131
139
  autoCapitalize = { autoCapitalize }
132
140
  autoComplete = { 'off' }
@@ -75,11 +75,12 @@ class Chat extends Component<IProps> {
75
75
 
76
76
  return (
77
77
  <JitsiScreen
78
+ useBottomSheet={ true }
78
79
  disableForcedKeyboardDismiss = { true }
79
80
 
80
81
  /* eslint-disable react/jsx-no-bind */
81
82
  footerComponent = { () =>
82
- <ChatInputBar onSend = { this._onSendMessage } />
83
+ <ChatInputBar onSend = { this._onSendMessage } useBottomSheetInput={ true } />
83
84
  }
84
85
  hasBottomTextInput = { true }
85
86
  hasExtraHeaderHeight = { true }
@@ -36,6 +36,10 @@ interface IProps extends WithTranslation {
36
36
  * Callback to invoke on message send.
37
37
  */
38
38
  onSend: Function;
39
+ /**
40
+ * Use BottomSheetInput
41
+ */
42
+ useBottomSheetInput?: boolean;
39
43
  }
40
44
 
41
45
  interface IState {
@@ -110,10 +114,10 @@ class ChatInputBar extends Component<IProps, IState> {
110
114
  id = 'chat-input'
111
115
  style = { [
112
116
  inputBarStyles,
113
- this.state.addPadding ? styles.extraBarPadding : null
114
117
  ] as ViewStyle[] }>
115
118
  <Input
116
119
  blurOnSubmit = { false }
120
+ useBottomSheetInput={ this.props.useBottomSheetInput }
117
121
  customStyles = {{ container: styles.customInputContainer }}
118
122
  id = 'chat-input-messagebox'
119
123
  multiline = { false }
@@ -138,7 +138,7 @@ export default {
138
138
 
139
139
  inputBarNarrow: {
140
140
  ...inputBar,
141
- height: 112,
141
+ height: 98,
142
142
  marginHorizontal: BaseTheme.spacing[3]
143
143
  },
144
144
 
@@ -96,16 +96,6 @@ const TitleBar = (props: IProps) => {
96
96
  <ConferenceTimer textStyle = { styles.roomTimer } />
97
97
  </View>
98
98
  }
99
- {
100
- props._roomNameEnabled
101
- && <View style = { styles.roomNameView as ViewStyle }>
102
- <Text
103
- numberOfLines = { 1 }
104
- style = { styles.roomName }>
105
- { props._meetingName }
106
- </Text>
107
- </View>
108
- }
109
99
  {/* eslint-disable-next-line react/jsx-no-bind */}
110
100
  <Labels createOnPress = { props._createOnPress } />
111
101
  </View>
@@ -57,17 +57,17 @@ export default {
57
57
 
58
58
  titleBarButtonContainer: {
59
59
  borderRadius: 3,
60
- height: BaseTheme.spacing[7],
60
+ height: BaseTheme.spacing[6],
61
61
  marginTop: BaseTheme.spacing[1],
62
62
  marginRight: BaseTheme.spacing[1],
63
63
  zIndex: 1,
64
- width: BaseTheme.spacing[7]
64
+ width: BaseTheme.spacing[6]
65
65
  },
66
66
 
67
67
  titleBarButton: {
68
68
  iconStyle: {
69
69
  color: BaseTheme.palette.icon01,
70
- padding: 12,
70
+ padding: 8,
71
71
  fontSize: TITLE_BAR_BUTTON_SIZE
72
72
  },
73
73
  underlayColor: 'transparent'
@@ -169,10 +169,11 @@ export default {
169
169
 
170
170
  roomNameWrapper: {
171
171
  flexDirection: 'row',
172
- marginRight: 10,
173
- marginLeft: 8,
172
+ marginRight: 0,
173
+ marginLeft: 0,
174
174
  flexShrink: 1,
175
- flexGrow: 1
175
+ flexGrow: 1,
176
+ height: 32
176
177
  },
177
178
 
178
179
  /**
@@ -1,7 +1,8 @@
1
1
  import React, { PureComponent } from 'react';
2
- import { FlatList, ViewStyle, ViewToken } from 'react-native';
2
+ import { ViewStyle, ViewToken } from 'react-native';
3
3
  import { SafeAreaView, withSafeAreaInsets } from 'react-native-safe-area-context';
4
4
  import { connect } from 'react-redux';
5
+ import { FlatList } from 'react-native-gesture-handler';
5
6
 
6
7
  import { IReduxState, IStore } from '../../../app/types';
7
8
  import { getLocalParticipant } from '../../../base/participants/functions';
@@ -57,10 +57,7 @@ const SettingsView = ({ isInWelcomePage }: IProps) => {
57
57
  style = { styles.settingsViewContainer }>
58
58
  <ScrollView bounces = { scrollBounces }>
59
59
  <View style = { styles.profileContainerWrapper as ViewStyle }>
60
- <TouchableHighlight
61
-
62
- /* eslint-disable react/jsx-no-bind */
63
- onPress = { () => navigate(screen.settings.profile) }>
60
+ <View>
64
61
  <View
65
62
  style = { styles.profileContainer as ViewStyle }>
66
63
  <Avatar
@@ -69,12 +66,8 @@ const SettingsView = ({ isInWelcomePage }: IProps) => {
69
66
  <Text style = { styles.displayName as TextStyle }>
70
67
  { displayName }
71
68
  </Text>
72
- <Icon
73
- size = { 24 }
74
- src = { IconArrowRight }
75
- style = { styles.profileViewArrow } />
76
69
  </View>
77
- </TouchableHighlight>
70
+ </View>
78
71
  </View>
79
72
  <GeneralSection />
80
73
  { isInWelcomePage && <>