agora-appbuilder-core 3.0.10 → 3.0.11

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.
Files changed (248) hide show
  1. package/Readme.md +0 -6
  2. package/package.json +2 -2
  3. package/template/_package-lock.json +4719 -5862
  4. package/template/agora-rn-uikit/src/Contexts/LocalUserContext.tsx +0 -4
  5. package/template/agora-rn-uikit/src/Contexts/PropsContext.tsx +0 -18
  6. package/template/agora-rn-uikit/src/Contexts/RtcContext.tsx +0 -2
  7. package/template/agora-rn-uikit/src/Controls/BtnTemplate.tsx +26 -30
  8. package/template/agora-rn-uikit/src/Controls/Icons.ts +83 -30
  9. package/template/agora-rn-uikit/src/Controls/ImageIcon.tsx +6 -6
  10. package/template/agora-rn-uikit/src/Reducer/LocalMuteAudio.ts +0 -1
  11. package/template/agora-rn-uikit/src/Reducer/LocalMuteVideo.ts +0 -1
  12. package/template/agora-rn-uikit/src/Reducer/RemoteAudioStateChanged.ts +0 -1
  13. package/template/agora-rn-uikit/src/Reducer/RemoteVideoStateChanged.ts +0 -1
  14. package/template/agora-rn-uikit/src/Reducer/UpdateDualStreamMode.ts +0 -1
  15. package/template/agora-rn-uikit/src/Reducer/UserJoined.ts +0 -2
  16. package/template/agora-rn-uikit/src/Reducer/UserMuteRemoteAudio.ts +0 -1
  17. package/template/agora-rn-uikit/src/Reducer/UserMuteRemoteVideo.ts +0 -1
  18. package/template/agora-rn-uikit/src/Reducer/UserOffline.ts +0 -1
  19. package/template/agora-rn-uikit/src/Reducer/index.ts +0 -3
  20. package/template/agora-rn-uikit/src/Rtc/Create.tsx +1 -89
  21. package/template/agora-rn-uikit/src/RtcConfigure.tsx +2 -39
  22. package/template/agora-rn-uikit/src/Views/MaxVideoView.native.tsx +5 -15
  23. package/template/agora-rn-uikit/src/Views/MaxVideoView.tsx +9 -15
  24. package/template/agora-rn-uikit/src/index.ts +1 -3
  25. package/template/android/app/build.gradle +0 -1
  26. package/template/android/app/src/main/AndroidManifest.xml +15 -22
  27. package/template/android/app/src/main/java/com/helloworld/MainActivity.java +0 -50
  28. package/template/android/build.gradle +3 -3
  29. package/template/babel.config.js +0 -1
  30. package/template/bridge/rtc/webNg/RtcEngine.ts +17 -110
  31. package/template/customization-api/sub-components.ts +1 -1
  32. package/template/customization-api/typeDefinition.ts +1 -2
  33. package/template/electron/index.html +27 -27
  34. package/template/electron/renderer/index.js +0 -1
  35. package/template/global.d.ts +4 -25
  36. package/template/index.rsdk.tsx +0 -1
  37. package/template/index.web.js +1 -2
  38. package/template/index.wsdk.tsx +1 -1
  39. package/template/ios/HelloWorld/Info.plist +1 -14
  40. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +0 -17
  41. package/template/metro.config.js +1 -1
  42. package/template/package.json +7 -18
  43. package/template/react-native-toast-message/index.d.ts +43 -43
  44. package/template/react-native-toast-message/src/colors/index.js +2 -3
  45. package/template/react-native-toast-message/src/components/base/index.js +59 -46
  46. package/template/react-native-toast-message/src/components/base/styles.js +32 -16
  47. package/template/react-native-toast-message/src/components/error.js +2 -3
  48. package/template/react-native-toast-message/src/components/info.js +2 -3
  49. package/template/react-native-toast-message/src/components/success.js +2 -3
  50. package/template/react-native-toast-message/src/index.js +31 -122
  51. package/template/react-native-toast-message/src/index.sdk.tsx +35 -125
  52. package/template/react-native-toast-message/src/styles.js +4 -3
  53. package/template/react-native-toast-message/src/styles.sdk.ts +4 -3
  54. package/template/src/App.tsx +0 -6
  55. package/template/src/AppWrapper.tsx +28 -63
  56. package/template/src/assets/icons.ts +102 -0
  57. package/template/src/atoms/HorizontalRule.tsx +1 -3
  58. package/template/src/atoms/PrimaryButton.tsx +26 -51
  59. package/template/src/atoms/SecondaryButton.tsx +5 -8
  60. package/template/src/atoms/TextInput.tsx +14 -12
  61. package/template/src/components/Chat.tsx +214 -86
  62. package/template/src/components/ChatContext.ts +1 -8
  63. package/template/src/components/ColorConfigure.tsx +1 -1
  64. package/template/src/components/ColorContext.ts +1 -1
  65. package/template/src/components/{Controls1.native.tsx → Controls.native.tsx} +4 -6
  66. package/template/src/components/Controls.tsx +42 -342
  67. package/template/src/components/DeviceConfigure.tsx +101 -461
  68. package/template/src/components/DeviceContext.tsx +4 -8
  69. package/template/src/components/EventsConfigure.tsx +7 -144
  70. package/template/src/components/GraphQLProvider.tsx +1 -1
  71. package/template/src/components/GridVideo.tsx +44 -59
  72. package/template/src/components/HostControlView.tsx +35 -114
  73. package/template/src/components/Navbar.tsx +398 -216
  74. package/template/src/components/NetworkQualityContext.tsx +20 -20
  75. package/template/src/components/ParticipantsView.tsx +154 -177
  76. package/template/src/components/PinnedVideo.tsx +120 -207
  77. package/template/src/components/Precall.native.tsx +119 -358
  78. package/template/src/components/Precall.tsx +135 -269
  79. package/template/src/components/RTMConfigure.tsx +4 -27
  80. package/template/src/components/Router.electron.ts +0 -1
  81. package/template/src/components/Router.native.ts +0 -1
  82. package/template/src/components/Router.sdk.ts +0 -1
  83. package/template/src/components/Router.ts +0 -1
  84. package/template/src/components/Settings.tsx +95 -26
  85. package/template/src/components/SettingsView.tsx +56 -251
  86. package/template/src/components/Share.tsx +273 -302
  87. package/template/src/components/StorageContext.tsx +3 -30
  88. package/template/src/components/chat-messages/useChatMessages.tsx +23 -69
  89. package/template/src/components/chat-ui/useChatUIControl.tsx +0 -7
  90. package/template/src/components/common/Error.tsx +6 -20
  91. package/template/src/components/common/Logo.tsx +15 -16
  92. package/template/src/components/contexts/LiveStreamDataContext.tsx +5 -10
  93. package/template/src/components/contexts/VideoMeetingDataContext.tsx +7 -37
  94. package/template/src/components/livestream/LiveStreamContext.tsx +36 -270
  95. package/template/src/components/livestream/Types.ts +14 -39
  96. package/template/src/components/livestream/index.ts +0 -1
  97. package/template/src/components/livestream/views/LiveStreamControls.tsx +4 -12
  98. package/template/src/components/participants/AllAudienceParticipants.tsx +30 -101
  99. package/template/src/components/participants/AllHostParticipants.tsx +34 -103
  100. package/template/src/components/participants/MeParticipant.tsx +38 -0
  101. package/template/src/components/participants/ParticipantName.tsx +7 -13
  102. package/template/src/components/participants/ParticipantSectionTitle.tsx +10 -35
  103. package/template/src/components/participants/RemoteParticipants.tsx +71 -0
  104. package/template/src/components/participants/ScreenshareParticipants.tsx +12 -144
  105. package/template/src/components/precall/{LocalMute1.native.tsx → LocalMute.native.tsx} +5 -21
  106. package/template/src/components/precall/LocalMute.tsx +14 -84
  107. package/template/src/components/precall/VideoPreview.native.tsx +3 -48
  108. package/template/src/components/precall/VideoPreview.tsx +7 -163
  109. package/template/src/components/precall/joinCallBtn.tsx +2 -15
  110. package/template/src/components/precall/meetingTitle.tsx +12 -15
  111. package/template/src/components/precall/selectDevice.tsx +21 -1
  112. package/template/src/components/precall/textInput.tsx +4 -32
  113. package/template/src/components/precall/usePreCall.tsx +0 -16
  114. package/template/src/components/styles.ts +21 -42
  115. package/template/src/components/useShareLink.tsx +14 -12
  116. package/template/src/language/default-labels/precallScreenLabels.ts +3 -3
  117. package/template/src/pages/Authenticate.tsx +15 -5
  118. package/template/src/pages/Create.tsx +165 -293
  119. package/template/src/pages/Join.tsx +67 -93
  120. package/template/src/pages/VideoCall.tsx +64 -89
  121. package/template/src/pages/video-call/DefaultLayouts.ts +4 -4
  122. package/template/src/pages/video-call/NameWithMicIcon.tsx +44 -120
  123. package/template/src/pages/video-call/RenderComponent.tsx +2 -3
  124. package/template/src/pages/video-call/VideoCallScreen.tsx +9 -45
  125. package/template/src/pages/video-call/VideoComponent.tsx +3 -18
  126. package/template/src/pages/video-call/VideoRenderer.tsx +60 -218
  127. package/template/src/rtm-events/constants.ts +0 -2
  128. package/template/src/subComponents/ChatBubble.tsx +83 -123
  129. package/template/src/subComponents/ChatContainer.tsx +84 -257
  130. package/template/src/subComponents/ChatInput.tsx +46 -61
  131. package/template/src/subComponents/Checkbox.native.tsx +5 -16
  132. package/template/src/subComponents/Checkbox.tsx +2 -2
  133. package/template/src/subComponents/CopyJoinInfo.tsx +58 -36
  134. package/template/src/subComponents/FallbackLogo.tsx +40 -122
  135. package/template/src/subComponents/LanguageSelector.tsx +1 -1
  136. package/template/src/subComponents/{LayoutIconDropdown1.native.tsx → LayoutIconDropdown.native.tsx} +18 -4
  137. package/template/src/subComponents/LayoutIconDropdown.tsx +134 -131
  138. package/template/src/subComponents/LocalAudioMute.tsx +27 -119
  139. package/template/src/subComponents/LocalEndCall.tsx +33 -71
  140. package/template/src/subComponents/LocalSwitchCamera.tsx +30 -17
  141. package/template/src/subComponents/LocalVideoMute.tsx +27 -117
  142. package/template/src/subComponents/Logo.tsx +4 -3
  143. package/template/src/subComponents/LogoutButton.tsx +1 -1
  144. package/template/src/subComponents/NetworkQualityPill.tsx +63 -60
  145. package/template/src/subComponents/OpenInNativeButton.tsx +3 -3
  146. package/template/src/subComponents/Recording.tsx +29 -28
  147. package/template/src/subComponents/RemoteAudioMute.tsx +29 -83
  148. package/template/src/subComponents/RemoteEndCall.tsx +5 -8
  149. package/template/src/subComponents/RemoteVideoMute.tsx +21 -74
  150. package/template/src/subComponents/ScreenShareNotice.tsx +8 -83
  151. package/template/src/subComponents/SelectDevice.tsx +61 -404
  152. package/template/src/subComponents/SelectOAuth.tsx +8 -9
  153. package/template/src/subComponents/ToastConfig.tsx +10 -150
  154. package/template/src/subComponents/chat/ChatParticipants.tsx +78 -187
  155. package/template/src/subComponents/livestream/CurrentLiveStreamRequestsView.tsx +32 -95
  156. package/template/src/subComponents/livestream/controls/LocalRaiseHand.tsx +33 -29
  157. package/template/src/subComponents/livestream/controls/RemoteLiveStreamApprovedRequestRecall.tsx +6 -6
  158. package/template/src/subComponents/livestream/controls/RemoteLiveStreamRequestApprove.tsx +11 -24
  159. package/template/src/subComponents/livestream/controls/RemoteLiveStreamRequestReject.tsx +10 -17
  160. package/template/src/subComponents/recording/useRecording.tsx +27 -79
  161. package/template/src/subComponents/screenshare/ScreenshareButton.tsx +70 -52
  162. package/template/src/subComponents/screenshare/ScreenshareConfigure.native.tsx +2 -11
  163. package/template/src/subComponents/screenshare/ScreenshareConfigure.tsx +4 -26
  164. package/template/src/utils/common.tsx +1 -155
  165. package/template/src/utils/index.tsx +0 -19
  166. package/template/src/utils/isMobileOrTablet.ts +2 -7
  167. package/template/src/utils/useButtonTemplate.tsx +0 -1
  168. package/template/src/utils/useMuteToggleLocal.ts +3 -54
  169. package/template/web/index.html +0 -5
  170. package/template/webpack.commons.js +8 -13
  171. package/template/webpack.web.config.js +0 -1
  172. package/template/agora-rn-uikit/src/Reducer/ActiveSpeakerDetected.ts +0 -11
  173. package/template/agora-rn-uikit/src/Reducer/LocalPermissionState.ts +0 -24
  174. package/template/agora-rn-uikit/src/Reducer/UserPin.ts +0 -11
  175. package/template/android/app/src/main/assets/fonts/SourceSansPro-Regular.ttf +0 -0
  176. package/template/android/app/src/main/assets/fonts/icomoon.ttf +0 -0
  177. package/template/android/app/src/main/res/values/colors.xml +0 -7
  178. package/template/react-native-toast-message/src/components/checkbox.js +0 -178
  179. package/template/react-native.config.js +0 -7
  180. package/template/src/assets/font-styles.css +0 -329
  181. package/template/src/assets/fonts/SourceSansPro-Regular.ttf +0 -0
  182. package/template/src/assets/fonts/icomoon.ttf +0 -0
  183. package/template/src/assets/permission.png +0 -0
  184. package/template/src/assets/selection.json +0 -1
  185. package/template/src/atoms/ActionMenu.tsx +0 -236
  186. package/template/src/atoms/AnimatedActiveSpeaker.native.tsx +0 -71
  187. package/template/src/atoms/AnimatedActiveSpeaker.tsx +0 -84
  188. package/template/src/atoms/AnimatedRings.native.tsx +0 -68
  189. package/template/src/atoms/AnimatedRings.tsx +0 -70
  190. package/template/src/atoms/Card.tsx +0 -61
  191. package/template/src/atoms/CircularProgress.native.tsx +0 -121
  192. package/template/src/atoms/CircularProgress.tsx +0 -102
  193. package/template/src/atoms/CustomIcon.tsx +0 -88
  194. package/template/src/atoms/CustomSwitch.tsx +0 -287
  195. package/template/src/atoms/Dropdown.tsx +0 -306
  196. package/template/src/atoms/IconButton.tsx +0 -162
  197. package/template/src/atoms/ImageIcon.tsx +0 -98
  198. package/template/src/atoms/InfoBubble.tsx +0 -291
  199. package/template/src/atoms/Input.tsx +0 -87
  200. package/template/src/atoms/InviteInfo.tsx +0 -166
  201. package/template/src/atoms/LinkButton.tsx +0 -28
  202. package/template/src/atoms/OutlineButton.tsx +0 -61
  203. package/template/src/atoms/ParticipantsCount.tsx +0 -73
  204. package/template/src/atoms/Popup.tsx +0 -147
  205. package/template/src/atoms/RecordingInfo.tsx +0 -49
  206. package/template/src/atoms/Spacer.tsx +0 -22
  207. package/template/src/atoms/TertiaryButton.tsx +0 -78
  208. package/template/src/atoms/Toggle.tsx +0 -47
  209. package/template/src/atoms/Tooltip.native.tsx +0 -65
  210. package/template/src/atoms/Tooltip.tsx +0 -94
  211. package/template/src/atoms/UserAvatar.tsx +0 -60
  212. package/template/src/components/CommonStyles.ts +0 -44
  213. package/template/src/components/ToastComponent.tsx +0 -8
  214. package/template/src/components/participants/Participant.tsx +0 -302
  215. package/template/src/components/participants/UserActionMenuOptions.tsx +0 -398
  216. package/template/src/components/popups/InvitePopup.tsx +0 -115
  217. package/template/src/components/popups/StopRecordingPopup.tsx +0 -114
  218. package/template/src/components/precall/PermissionHelper.native.tsx +0 -5
  219. package/template/src/components/precall/PermissionHelper.tsx +0 -126
  220. package/template/src/components/precall/PreCallSettings.tsx +0 -52
  221. package/template/src/components/useToast.tsx +0 -41
  222. package/template/src/components/useVideoCall.tsx +0 -65
  223. package/template/src/pages/Endcall.tsx +0 -148
  224. package/template/src/pages/video-call/ActionSheet.native.tsx +0 -215
  225. package/template/src/pages/video-call/ActionSheet.tsx +0 -226
  226. package/template/src/pages/video-call/ActionSheetContent.tsx +0 -479
  227. package/template/src/pages/video-call/ActionSheetHandle.tsx +0 -38
  228. package/template/src/pages/video-call/ActionSheetStyles.css +0 -138
  229. package/template/src/pages/video-call/SidePanelHeader.tsx +0 -190
  230. package/template/src/pages/video-call/VideoCallMobileView.tsx +0 -139
  231. package/template/src/pages/video-call/VideoCallScreen.native.tsx +0 -37
  232. package/template/src/subComponents/ChatInput.ios.tsx +0 -237
  233. package/template/src/subComponents/EndcallPopup.tsx +0 -107
  234. package/template/src/subComponents/LayoutIconButton.tsx +0 -201
  235. package/template/src/subComponents/RemoteMutePopup.tsx +0 -193
  236. package/template/src/subComponents/RemoveMeetingPopup.tsx +0 -109
  237. package/template/src/subComponents/RemoveScreensharePopup.tsx +0 -109
  238. package/template/src/subComponents/SelectDeviceSettings.backup.tsx +0 -207
  239. package/template/src/subComponents/SidePanelHeader.tsx +0 -112
  240. package/template/src/theme/index.ts +0 -46
  241. package/template/src/utils/PlatformWrapper.tsx +0 -21
  242. package/template/src/utils/hexadecimalTransparency.ts +0 -108
  243. package/template/src/utils/pendingStateUpdateHelper.ts +0 -19
  244. package/template/src/utils/useFocus.tsx +0 -46
  245. package/template/src/utils/useIsActiveSpeaker.ts +0 -27
  246. package/template/src/utils/useIsHandRaised.ts +0 -13
  247. package/template/src/utils/useRemoteEndScreenshare.ts +0 -26
  248. package/template/src/utils/useRemoteRequest.ts +0 -84
@@ -10,20 +10,20 @@
10
10
  *********************************************
11
11
  */
12
12
  import React, {useState, useContext} from 'react';
13
- import {View, Text, StyleSheet, TouchableOpacity} from 'react-native';
13
+ import {
14
+ View,
15
+ Text,
16
+ StyleSheet,
17
+ TouchableOpacity,
18
+ Dimensions,
19
+ } from 'react-native';
14
20
  import ChatContainer from '../subComponents/ChatContainer';
15
21
  import ChatInput from '../subComponents/ChatInput';
16
22
  import ChatParticipants from '../subComponents/chat/ChatParticipants';
17
23
  import ColorContext from './ColorContext';
18
24
  import {useChatNotification} from './chat-notification/useChatNotification';
19
25
  import {useString} from '../utils/useString';
20
- import {
21
- isIOS,
22
- isMobileUA,
23
- isValidReactComponent,
24
- isWebInternal,
25
- useIsSmall,
26
- } from '../utils/common';
26
+ import {isIOS, isValidReactComponent, isWebInternal} from '../utils/common';
27
27
  import {useChatUIControl} from './chat-ui/useChatUIControl';
28
28
  import {useCustomization} from 'customization-implementation';
29
29
  import {UidType} from '../../agora-rn-uikit';
@@ -32,35 +32,25 @@ import {
32
32
  ChatTextInputProps,
33
33
  ChatSendButtonProps,
34
34
  } from '../subComponents/ChatInput';
35
- import {useSidePanel} from '../utils/useSidePanel';
36
- import {SidePanelType} from '../subComponents/SidePanelEnum';
37
- import IconButton from '../atoms/IconButton';
38
- import ThemeConfig from '../theme';
39
- import hexadecimalTransparency from '../utils/hexadecimalTransparency';
40
- import SidePanelHeader from '../subComponents/SidePanelHeader';
41
- import CommonStyles from './CommonStyles';
42
- import {useLayout} from '../utils/useLayout';
43
- import {getGridLayoutName} from '../pages/video-call/DefaultLayouts';
44
- import {ChatHeader} from '../pages/video-call/SidePanelHeader';
45
35
 
46
- export interface ChatProps {
36
+ interface ChatProps {
47
37
  chatBubble?: React.ComponentType<ChatBubbleProps>;
48
38
  chatInput?: React.ComponentType<ChatTextInputProps>;
49
39
  chatSendButton?: React.ComponentType<ChatSendButtonProps>;
50
- showHeader?: boolean;
51
40
  }
52
41
 
53
42
  const Chat = (props?: ChatProps) => {
54
43
  // commented for v1 release
55
44
  // const groupChatLabel = useString('groupChatLabel')();
56
45
  // const privateChatLabel = useString('privateChatLabel')();
57
- const chatLabel = 'Chat';
58
46
  const groupChatLabel = 'Group';
59
47
  const privateChatLabel = 'Private';
60
-
61
- const isSmall = useIsSmall();
62
- const {setSidePanel} = useSidePanel();
63
- const {showHeader = true} = props;
48
+ const [dim, setDim] = useState([
49
+ Dimensions.get('window').width,
50
+ Dimensions.get('window').height,
51
+ Dimensions.get('window').width > Dimensions.get('window').height,
52
+ ]);
53
+ const isSmall = dim[0] < 700;
64
54
 
65
55
  const {
66
56
  groupActive,
@@ -69,7 +59,6 @@ const Chat = (props?: ChatProps) => {
69
59
  setPrivateActive,
70
60
  setSelectedChatUserId: setSelectedUser,
71
61
  } = useChatUIControl();
72
-
73
62
  const {
74
63
  unreadGroupMessageCount,
75
64
  setUnreadGroupMessageCount,
@@ -90,19 +79,29 @@ const Chat = (props?: ChatProps) => {
90
79
  };
91
80
  }, []);
92
81
 
82
+ const selectGroup = () => {
83
+ setPrivateActive(false);
84
+ setGroupActive(true);
85
+ setUnreadGroupMessageCount(0);
86
+ setSelectedUser(0);
87
+ };
88
+ const selectPrivate = () => {
89
+ setGroupActive(false);
90
+ setSelectedUser(0);
91
+ setPrivateActive(false);
92
+ };
93
93
  const selectUser = (userUID: UidType) => {
94
94
  setSelectedUser(userUID);
95
95
  setPrivateActive(true);
96
- //move this logic into ChatContainer
97
- // setUnreadIndividualMessageCount((prevState) => {
98
- // return {
99
- // ...prevState,
100
- // [userUID]: 0,
101
- // };
102
- // });
103
- // setUnreadPrivateMessageCount(
104
- // unreadPrivateMessageCount - (unreadIndividualMessageCount[userUID] || 0),
105
- // );
96
+ setUnreadIndividualMessageCount((prevState) => {
97
+ return {
98
+ ...prevState,
99
+ [userUID]: 0,
100
+ };
101
+ });
102
+ setUnreadPrivateMessageCount(
103
+ unreadPrivateMessageCount - (unreadIndividualMessageCount[userUID] || 0),
104
+ );
106
105
  };
107
106
 
108
107
  const {ChatAfterView, ChatBeforeView} = useCustomization((data) => {
@@ -138,33 +137,77 @@ const Chat = (props?: ChatProps) => {
138
137
  }
139
138
  return components;
140
139
  });
141
- const {currentLayout} = useLayout();
140
+
142
141
  return (
143
142
  <>
144
143
  <View
145
- style={[
146
- isMobileUA()
147
- ? //mobile and mobile web
148
- CommonStyles.sidePanelContainerNative
149
- : isSmall()
150
- ? // desktop minimized
151
- CommonStyles.sidePanelContainerWebMinimzed
152
- : // desktop maximized
153
- CommonStyles.sidePanelContainerWeb,
154
- isWebInternal() && !isSmall() && currentLayout === getGridLayoutName()
155
- ? {marginVertical: 4}
156
- : {},
157
- ]}>
144
+ style={
145
+ isWebInternal()
146
+ ? !isSmall
147
+ ? style.chatView
148
+ : style.chatViewNative
149
+ : style.chatViewNative
150
+ }>
158
151
  {/**
159
152
  * In Native device we are setting absolute view. so placed ChatBeforeView and ChatAfterView inside the main view
160
153
  */}
161
154
  <ChatBeforeView />
162
- {showHeader && <ChatHeader />}
155
+ <View style={style.chatNav}>
156
+ <TouchableOpacity
157
+ onPress={selectGroup}
158
+ style={
159
+ groupActive
160
+ ? [style.groupActive, {borderColor: primaryColor}]
161
+ : [
162
+ style.group,
163
+ {
164
+ borderColor: primaryColor,
165
+ borderTopColor: primaryColor + '80',
166
+ },
167
+ ]
168
+ }>
169
+ {unreadGroupMessageCount !== 0 ? (
170
+ <View style={style.chatNotification}>
171
+ <Text>{unreadGroupMessageCount}</Text>
172
+ </View>
173
+ ) : null}
174
+ <Text style={groupActive ? style.groupTextActive : style.groupText}>
175
+ {groupChatLabel}
176
+ </Text>
177
+ </TouchableOpacity>
178
+ <TouchableOpacity
179
+ onPress={selectPrivate}
180
+ style={
181
+ !groupActive
182
+ ? [style.privateActive, {borderColor: primaryColor}]
183
+ : [
184
+ style.private,
185
+ {
186
+ borderColor: primaryColor,
187
+ borderTopColor: primaryColor + '80',
188
+ },
189
+ ]
190
+ }>
191
+ {unreadPrivateMessageCount !== 0 ? (
192
+ <View style={style.chatNotification}>
193
+ <Text>{unreadPrivateMessageCount}</Text>
194
+ </View>
195
+ ) : null}
196
+ <Text
197
+ style={!groupActive ? style.groupTextActive : style.groupText}>
198
+ {privateChatLabel}
199
+ </Text>
200
+ </TouchableOpacity>
201
+ </View>
163
202
  {groupActive ? (
164
203
  <>
165
204
  <ChatContainer {...props} />
166
- <View style={style.chatInputContainer}>
167
- <ChatInput {...props} />
205
+ <View style={[style.chatInputLineSeparator, {marginBottom: 0}]} />
206
+ <View>
207
+ <View style={style.chatInputContainer}>
208
+ <View style={[style.chatInputLineSeparator, {opacity: 0.3}]} />
209
+ <ChatInput {...props} />
210
+ </View>
168
211
  </View>
169
212
  </>
170
213
  ) : (
@@ -174,8 +217,14 @@ const Chat = (props?: ChatProps) => {
174
217
  ) : (
175
218
  <>
176
219
  <ChatContainer {...props} />
220
+ <View
221
+ style={[style.chatInputLineSeparator, {marginBottom: 0}]}
222
+ />
177
223
  <View>
178
224
  <View style={style.chatInputContainer}>
225
+ <View
226
+ style={[style.chatInputLineSeparator, {opacity: 0.3}]}
227
+ />
179
228
  <ChatInput {...props} />
180
229
  </View>
181
230
  </View>
@@ -190,58 +239,137 @@ const Chat = (props?: ChatProps) => {
190
239
  };
191
240
 
192
241
  const style = StyleSheet.create({
193
- buttonHolder: {
194
- backgroundColor:
195
- $config.HARD_CODED_BLACK_COLOR + hexadecimalTransparency['30%'],
196
- borderRadius: 12,
197
- flexDirection: 'row',
242
+ chatView: {
243
+ width: '20%',
244
+ minWidth: 200,
245
+ maxWidth: 300,
246
+ backgroundColor: $config.SECONDARY_FONT_COLOR,
247
+ flex: 1,
248
+ shadowColor: $config.PRIMARY_FONT_COLOR + '80',
249
+ shadowOpacity: 0.5,
250
+ shadowOffset: {width: -2, height: 1},
251
+ shadowRadius: 3,
198
252
  },
199
253
  chatViewNative: {
254
+ position: 'absolute',
200
255
  zIndex: 5,
201
256
  width: '100%',
202
257
  height: '100%',
203
258
  right: 0,
204
259
  bottom: 0,
260
+ backgroundColor: $config.SECONDARY_FONT_COLOR,
261
+ },
262
+ heading: {
263
+ backgroundColor: $config.SECONDARY_FONT_COLOR,
264
+ width: 150,
265
+ height: '7%',
266
+ paddingLeft: 20,
267
+ flexDirection: 'row',
268
+ },
269
+ headingText: {
270
+ flex: 1,
271
+ paddingLeft: 5,
272
+ marginVertical: 'auto',
273
+ fontWeight: '700',
274
+ color: $config.PRIMARY_FONT_COLOR,
275
+ fontSize: 25,
276
+ alignSelf: 'center',
277
+ justifyContent: 'center',
278
+ },
279
+ chatNav: {
280
+ flexDirection: 'row',
281
+ height: '6%',
205
282
  },
206
283
  chatInputContainer: {
284
+ backgroundColor: $config.SECONDARY_FONT_COLOR,
285
+ paddingBottom: 10,
286
+ },
287
+ chatInputLineSeparator: {
288
+ backgroundColor: $config.PRIMARY_FONT_COLOR + '80',
207
289
  width: '100%',
208
- flexDirection: 'row',
290
+ height: 1,
291
+ marginHorizontal: -20,
292
+ alignSelf: 'center',
293
+ opacity: 0.5,
294
+ marginBottom: 10,
295
+ },
296
+ groupActive: {
297
+ backgroundColor: $config.SECONDARY_FONT_COLOR,
298
+ flex: 1,
299
+ height: '100%',
300
+ textAlign: 'center',
209
301
  alignItems: 'center',
210
302
  justifyContent: 'center',
211
303
  },
212
- activeContainer: {
213
- margin: 2,
214
- backgroundColor: $config.PRIMARY_ACTION_BRAND_COLOR,
215
- borderRadius: 11,
216
- alignSelf: 'center',
304
+ group: {
305
+ backgroundColor: $config.PRIMARY_FONT_COLOR + 22,
306
+ flex: 1,
307
+ height: '100%',
308
+ textAlign: 'center',
309
+ borderBottomRightRadius: 10,
310
+ alignItems: 'center',
311
+ justifyContent: 'center',
217
312
  },
218
- nonActiveContainer: {
219
- alignSelf: 'center',
313
+ privateActive: {
314
+ backgroundColor: $config.SECONDARY_FONT_COLOR,
315
+ flex: 1,
316
+ height: '100%',
317
+ alignItems: 'center',
318
+ justifyContent: 'center',
319
+ },
320
+ private: {
321
+ backgroundColor: $config.PRIMARY_FONT_COLOR + 22,
322
+ flex: 1,
323
+ height: '100%',
324
+ borderBottomLeftRadius: 10,
325
+ alignItems: 'center',
326
+ justifyContent: 'center',
220
327
  },
221
- activeText: {
222
- paddingHorizontal: 24,
223
- paddingVertical: 10,
224
- fontFamily: ThemeConfig.FontFamily.sansPro,
225
- fontWeight: '600',
226
- fontSize: 12,
227
- color: $config.PRIMARY_ACTION_TEXT_COLOR,
328
+ groupTextActive: {
329
+ marginVertical: 'auto',
330
+ fontWeight: '700',
331
+ textAlign: 'center',
332
+ fontSize: 16,
333
+ color: $config.PRIMARY_FONT_COLOR,
334
+ justifyContent: 'center',
335
+ paddingVertical: 5,
228
336
  },
229
- nonActiveText: {
230
- paddingHorizontal: 24,
231
- paddingVertical: 10,
232
- fontFamily: ThemeConfig.FontFamily.sansPro,
233
- fontWeight: '600',
234
- fontSize: 12,
235
- color: $config.FONT_COLOR,
337
+ groupText: {
338
+ marginVertical: 'auto',
339
+ fontWeight: '700',
340
+ textAlign: 'center',
341
+ fontSize: 16,
342
+ paddingVertical: 5,
343
+ justifyContent: 'center',
344
+ color: $config.PRIMARY_FONT_COLOR + 50,
236
345
  },
237
346
  chatNotification: {
238
- width: 8,
239
- height: 8,
240
- backgroundColor: $config.SEMANTIC_ERROR,
241
- borderRadius: 30,
347
+ width: 20,
348
+ height: 20,
349
+ display: 'flex',
350
+ alignItems: 'center',
351
+ justifyContent: 'center',
352
+ backgroundColor: $config.PRIMARY_COLOR,
353
+ color: $config.SECONDARY_FONT_COLOR,
354
+ fontFamily: isIOS() ? 'Helvetica' : 'sans-serif',
355
+ borderRadius: 10,
356
+ position: 'absolute',
357
+ left: 25,
358
+ top: -5,
359
+ },
360
+ chatNotificationPrivate: {
361
+ width: 20,
362
+ height: 20,
363
+ display: 'flex',
364
+ alignItems: 'center',
365
+ justifyContent: 'center',
366
+ backgroundColor: $config.PRIMARY_COLOR,
367
+ color: $config.SECONDARY_FONT_COLOR,
368
+ fontFamily: isIOS() ? 'Helvetica' : 'sans-serif',
369
+ borderRadius: 10,
242
370
  position: 'absolute',
243
- right: 8,
244
- top: 4,
371
+ right: 20,
372
+ top: 0,
245
373
  },
246
374
  });
247
375
 
@@ -21,7 +21,6 @@ export interface ChatBubbleProps {
21
21
  uid: UidType;
22
22
  msgId: string;
23
23
  isDeleted: boolean;
24
- isSameUser: boolean;
25
24
  render?: (
26
25
  isLocal: boolean,
27
26
  message: string,
@@ -29,8 +28,7 @@ export interface ChatBubbleProps {
29
28
  uid: UidType,
30
29
  msgId: string,
31
30
  isDeleted: boolean,
32
- updatedTimestamp: string,
33
- isSameUser: boolean,
31
+ updatedTimestamp?: string,
34
32
  ) => JSX.Element;
35
33
  }
36
34
 
@@ -48,7 +46,6 @@ export enum messageActionType {
48
46
 
49
47
  export interface chatContext {
50
48
  hasUserJoinedRTM: boolean;
51
- rtmInitTimstamp: number;
52
49
  engine: RtmEngine;
53
50
  localUid: UidType;
54
51
  onlineUsersCount: number;
@@ -60,10 +57,6 @@ export enum controlMessageEnum {
60
57
  muteSingleVideo = '3',
61
58
  muteSingleAudio = '4',
62
59
  kickUser = '5',
63
- requestVideo = '6',
64
- requestAudio = '7',
65
- //newUserJoined = '8',
66
- kickScreenshare = '9',
67
60
  }
68
61
 
69
62
  const ChatContext = createContext(null as unknown as chatContext);
@@ -13,7 +13,7 @@ import React from 'react';
13
13
  import ColorContext from './ColorContext';
14
14
 
15
15
  const ColorConfigure = (props: {children: React.ReactNode}) => {
16
- const primaryColor = $config.PRIMARY_ACTION_BRAND_COLOR;
16
+ const primaryColor = $config.PRIMARY_COLOR;
17
17
  console.log(primaryColor);
18
18
  return (
19
19
  <ColorContext.Provider
@@ -15,6 +15,6 @@ interface ColorContext {
15
15
  primaryColor: any;
16
16
  }
17
17
 
18
- const ColorContext = createContext({} as unknown as ColorContext);
18
+ const ColorContext = createContext((null as unknown) as ColorContext);
19
19
 
20
20
  export default ColorContext;
@@ -30,7 +30,6 @@ import LocalEndcall, {LocalEndcallProps} from '../subComponents/LocalEndCall';
30
30
  import LocalSwitchCamera, {
31
31
  LocalSwitchCameraProps,
32
32
  } from '../subComponents/LocalSwitchCamera';
33
- import hexadecimalTransparency from '../utils/hexadecimalTransparency';
34
33
 
35
34
  const Controls = () => {
36
35
  const {
@@ -101,8 +100,7 @@ const style = StyleSheet.create({
101
100
  bottomBar: {
102
101
  flex: 1,
103
102
  paddingHorizontal: '1%',
104
- backgroundColor:
105
- $config.SECONDARY_ACTION_COLOR + hexadecimalTransparency['80%'],
103
+ backgroundColor: $config.SECONDARY_FONT_COLOR + '80',
106
104
  flexDirection: 'row',
107
105
  justifyContent: 'space-evenly',
108
106
  position: 'relative',
@@ -111,9 +109,9 @@ const style = StyleSheet.create({
111
109
  bottom: 0,
112
110
  },
113
111
  localButton: {
114
- backgroundColor: $config.SECONDARY_ACTION_COLOR,
112
+ backgroundColor: $config.SECONDARY_FONT_COLOR,
115
113
  borderRadius: 2,
116
- borderColor: $config.PRIMARY_ACTION_BRAND_COLOR,
114
+ borderColor: $config.PRIMARY_COLOR,
117
115
  width: 40,
118
116
  height: 40,
119
117
  display: 'flex',
@@ -124,7 +122,7 @@ const style = StyleSheet.create({
124
122
  buttonIcon: {
125
123
  width: 35,
126
124
  height: 35,
127
- tintColor: $config.PRIMARY_ACTION_BRAND_COLOR,
125
+ tintColor: $config.PRIMARY_COLOR,
128
126
  },
129
127
  });
130
128