agora-appbuilder-core 3.0.10 → 3.0.12

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 (249) hide show
  1. package/Readme.md +0 -6
  2. package/package.json +2 -2
  3. package/template/_package-lock.json +4979 -7086
  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 -26
  36. package/template/index.js +0 -4
  37. package/template/index.rsdk.tsx +0 -1
  38. package/template/index.web.js +1 -7
  39. package/template/index.wsdk.tsx +1 -1
  40. package/template/ios/HelloWorld/Info.plist +1 -14
  41. package/template/ios/HelloWorld.xcodeproj/project.pbxproj +0 -17
  42. package/template/metro.config.js +1 -1
  43. package/template/package.json +7 -21
  44. package/template/react-native-toast-message/index.d.ts +43 -43
  45. package/template/react-native-toast-message/src/colors/index.js +2 -3
  46. package/template/react-native-toast-message/src/components/base/index.js +59 -46
  47. package/template/react-native-toast-message/src/components/base/styles.js +32 -16
  48. package/template/react-native-toast-message/src/components/error.js +2 -3
  49. package/template/react-native-toast-message/src/components/info.js +2 -3
  50. package/template/react-native-toast-message/src/components/success.js +2 -3
  51. package/template/react-native-toast-message/src/index.js +31 -122
  52. package/template/react-native-toast-message/src/index.sdk.tsx +35 -125
  53. package/template/react-native-toast-message/src/styles.js +4 -3
  54. package/template/react-native-toast-message/src/styles.sdk.ts +4 -3
  55. package/template/src/App.tsx +0 -6
  56. package/template/src/AppWrapper.tsx +28 -63
  57. package/template/src/assets/icons.ts +102 -0
  58. package/template/src/atoms/HorizontalRule.tsx +1 -3
  59. package/template/src/atoms/PrimaryButton.tsx +26 -51
  60. package/template/src/atoms/SecondaryButton.tsx +5 -8
  61. package/template/src/atoms/TextInput.tsx +14 -12
  62. package/template/src/components/Chat.tsx +214 -86
  63. package/template/src/components/ChatContext.ts +1 -8
  64. package/template/src/components/ColorConfigure.tsx +1 -1
  65. package/template/src/components/ColorContext.ts +1 -1
  66. package/template/src/components/{Controls1.native.tsx → Controls.native.tsx} +4 -6
  67. package/template/src/components/Controls.tsx +42 -342
  68. package/template/src/components/DeviceConfigure.tsx +101 -461
  69. package/template/src/components/DeviceContext.tsx +4 -8
  70. package/template/src/components/EventsConfigure.tsx +7 -144
  71. package/template/src/components/GraphQLProvider.tsx +1 -1
  72. package/template/src/components/GridVideo.tsx +44 -59
  73. package/template/src/components/HostControlView.tsx +35 -114
  74. package/template/src/components/Navbar.tsx +398 -216
  75. package/template/src/components/NetworkQualityContext.tsx +20 -20
  76. package/template/src/components/ParticipantsView.tsx +154 -177
  77. package/template/src/components/PinnedVideo.tsx +120 -207
  78. package/template/src/components/Precall.native.tsx +119 -358
  79. package/template/src/components/Precall.tsx +135 -269
  80. package/template/src/components/RTMConfigure.tsx +4 -27
  81. package/template/src/components/Router.electron.ts +0 -1
  82. package/template/src/components/Router.native.ts +0 -1
  83. package/template/src/components/Router.sdk.ts +0 -1
  84. package/template/src/components/Router.ts +0 -1
  85. package/template/src/components/Settings.tsx +95 -26
  86. package/template/src/components/SettingsView.tsx +56 -251
  87. package/template/src/components/Share.tsx +273 -302
  88. package/template/src/components/StorageContext.tsx +3 -30
  89. package/template/src/components/chat-messages/useChatMessages.tsx +23 -69
  90. package/template/src/components/chat-ui/useChatUIControl.tsx +0 -7
  91. package/template/src/components/common/Error.tsx +6 -20
  92. package/template/src/components/common/Logo.tsx +15 -16
  93. package/template/src/components/contexts/LiveStreamDataContext.tsx +5 -10
  94. package/template/src/components/contexts/VideoMeetingDataContext.tsx +7 -37
  95. package/template/src/components/livestream/LiveStreamContext.tsx +36 -270
  96. package/template/src/components/livestream/Types.ts +14 -39
  97. package/template/src/components/livestream/index.ts +0 -1
  98. package/template/src/components/livestream/views/LiveStreamControls.tsx +4 -12
  99. package/template/src/components/participants/AllAudienceParticipants.tsx +30 -101
  100. package/template/src/components/participants/AllHostParticipants.tsx +34 -103
  101. package/template/src/components/participants/MeParticipant.tsx +38 -0
  102. package/template/src/components/participants/ParticipantName.tsx +7 -13
  103. package/template/src/components/participants/ParticipantSectionTitle.tsx +10 -35
  104. package/template/src/components/participants/RemoteParticipants.tsx +71 -0
  105. package/template/src/components/participants/ScreenshareParticipants.tsx +12 -144
  106. package/template/src/components/precall/{LocalMute1.native.tsx → LocalMute.native.tsx} +5 -21
  107. package/template/src/components/precall/LocalMute.tsx +14 -84
  108. package/template/src/components/precall/VideoPreview.native.tsx +3 -48
  109. package/template/src/components/precall/VideoPreview.tsx +7 -163
  110. package/template/src/components/precall/joinCallBtn.tsx +2 -15
  111. package/template/src/components/precall/meetingTitle.tsx +12 -15
  112. package/template/src/components/precall/selectDevice.tsx +21 -1
  113. package/template/src/components/precall/textInput.tsx +4 -32
  114. package/template/src/components/precall/usePreCall.tsx +0 -16
  115. package/template/src/components/styles.ts +21 -42
  116. package/template/src/components/useShareLink.tsx +14 -12
  117. package/template/src/language/default-labels/precallScreenLabels.ts +3 -3
  118. package/template/src/pages/Authenticate.tsx +15 -5
  119. package/template/src/pages/Create.tsx +165 -293
  120. package/template/src/pages/Join.tsx +67 -93
  121. package/template/src/pages/VideoCall.tsx +64 -89
  122. package/template/src/pages/video-call/DefaultLayouts.ts +4 -4
  123. package/template/src/pages/video-call/NameWithMicIcon.tsx +44 -120
  124. package/template/src/pages/video-call/RenderComponent.tsx +2 -3
  125. package/template/src/pages/video-call/VideoCallScreen.tsx +9 -45
  126. package/template/src/pages/video-call/VideoComponent.tsx +3 -18
  127. package/template/src/pages/video-call/VideoRenderer.tsx +60 -218
  128. package/template/src/rtm-events/constants.ts +0 -2
  129. package/template/src/subComponents/ChatBubble.tsx +83 -123
  130. package/template/src/subComponents/ChatContainer.tsx +84 -257
  131. package/template/src/subComponents/ChatInput.tsx +46 -61
  132. package/template/src/subComponents/Checkbox.native.tsx +5 -16
  133. package/template/src/subComponents/Checkbox.tsx +2 -2
  134. package/template/src/subComponents/CopyJoinInfo.tsx +58 -36
  135. package/template/src/subComponents/FallbackLogo.tsx +40 -122
  136. package/template/src/subComponents/LanguageSelector.tsx +1 -1
  137. package/template/src/subComponents/{LayoutIconDropdown1.native.tsx → LayoutIconDropdown.native.tsx} +18 -4
  138. package/template/src/subComponents/LayoutIconDropdown.tsx +134 -131
  139. package/template/src/subComponents/LocalAudioMute.tsx +27 -119
  140. package/template/src/subComponents/LocalEndCall.tsx +33 -71
  141. package/template/src/subComponents/LocalSwitchCamera.tsx +30 -17
  142. package/template/src/subComponents/LocalVideoMute.tsx +27 -117
  143. package/template/src/subComponents/Logo.tsx +4 -3
  144. package/template/src/subComponents/LogoutButton.tsx +1 -1
  145. package/template/src/subComponents/NetworkQualityPill.tsx +63 -60
  146. package/template/src/subComponents/OpenInNativeButton.tsx +3 -3
  147. package/template/src/subComponents/Recording.tsx +29 -28
  148. package/template/src/subComponents/RemoteAudioMute.tsx +29 -83
  149. package/template/src/subComponents/RemoteEndCall.tsx +5 -8
  150. package/template/src/subComponents/RemoteVideoMute.tsx +21 -74
  151. package/template/src/subComponents/ScreenShareNotice.tsx +8 -83
  152. package/template/src/subComponents/SelectDevice.tsx +61 -404
  153. package/template/src/subComponents/SelectOAuth.tsx +8 -9
  154. package/template/src/subComponents/ToastConfig.tsx +10 -150
  155. package/template/src/subComponents/chat/ChatParticipants.tsx +78 -187
  156. package/template/src/subComponents/livestream/CurrentLiveStreamRequestsView.tsx +32 -95
  157. package/template/src/subComponents/livestream/controls/LocalRaiseHand.tsx +33 -29
  158. package/template/src/subComponents/livestream/controls/RemoteLiveStreamApprovedRequestRecall.tsx +6 -6
  159. package/template/src/subComponents/livestream/controls/RemoteLiveStreamRequestApprove.tsx +11 -24
  160. package/template/src/subComponents/livestream/controls/RemoteLiveStreamRequestReject.tsx +10 -17
  161. package/template/src/subComponents/recording/useRecording.tsx +27 -79
  162. package/template/src/subComponents/screenshare/ScreenshareButton.tsx +70 -52
  163. package/template/src/subComponents/screenshare/ScreenshareConfigure.native.tsx +2 -11
  164. package/template/src/subComponents/screenshare/ScreenshareConfigure.tsx +4 -26
  165. package/template/src/utils/common.tsx +1 -155
  166. package/template/src/utils/index.tsx +0 -19
  167. package/template/src/utils/isMobileOrTablet.ts +2 -7
  168. package/template/src/utils/useButtonTemplate.tsx +0 -1
  169. package/template/src/utils/useMuteToggleLocal.ts +3 -54
  170. package/template/web/index.html +0 -5
  171. package/template/webpack.commons.js +8 -13
  172. package/template/webpack.web.config.js +0 -1
  173. package/template/agora-rn-uikit/src/Reducer/ActiveSpeakerDetected.ts +0 -11
  174. package/template/agora-rn-uikit/src/Reducer/LocalPermissionState.ts +0 -24
  175. package/template/agora-rn-uikit/src/Reducer/UserPin.ts +0 -11
  176. package/template/android/app/src/main/assets/fonts/SourceSansPro-Regular.ttf +0 -0
  177. package/template/android/app/src/main/assets/fonts/icomoon.ttf +0 -0
  178. package/template/android/app/src/main/res/values/colors.xml +0 -7
  179. package/template/react-native-toast-message/src/components/checkbox.js +0 -178
  180. package/template/react-native.config.js +0 -7
  181. package/template/src/assets/font-styles.css +0 -329
  182. package/template/src/assets/fonts/SourceSansPro-Regular.ttf +0 -0
  183. package/template/src/assets/fonts/icomoon.ttf +0 -0
  184. package/template/src/assets/permission.png +0 -0
  185. package/template/src/assets/selection.json +0 -1
  186. package/template/src/atoms/ActionMenu.tsx +0 -236
  187. package/template/src/atoms/AnimatedActiveSpeaker.native.tsx +0 -71
  188. package/template/src/atoms/AnimatedActiveSpeaker.tsx +0 -84
  189. package/template/src/atoms/AnimatedRings.native.tsx +0 -68
  190. package/template/src/atoms/AnimatedRings.tsx +0 -70
  191. package/template/src/atoms/Card.tsx +0 -61
  192. package/template/src/atoms/CircularProgress.native.tsx +0 -121
  193. package/template/src/atoms/CircularProgress.tsx +0 -102
  194. package/template/src/atoms/CustomIcon.tsx +0 -88
  195. package/template/src/atoms/CustomSwitch.tsx +0 -287
  196. package/template/src/atoms/Dropdown.tsx +0 -306
  197. package/template/src/atoms/IconButton.tsx +0 -162
  198. package/template/src/atoms/ImageIcon.tsx +0 -98
  199. package/template/src/atoms/InfoBubble.tsx +0 -291
  200. package/template/src/atoms/Input.tsx +0 -87
  201. package/template/src/atoms/InviteInfo.tsx +0 -166
  202. package/template/src/atoms/LinkButton.tsx +0 -28
  203. package/template/src/atoms/OutlineButton.tsx +0 -61
  204. package/template/src/atoms/ParticipantsCount.tsx +0 -73
  205. package/template/src/atoms/Popup.tsx +0 -147
  206. package/template/src/atoms/RecordingInfo.tsx +0 -49
  207. package/template/src/atoms/Spacer.tsx +0 -22
  208. package/template/src/atoms/TertiaryButton.tsx +0 -78
  209. package/template/src/atoms/Toggle.tsx +0 -47
  210. package/template/src/atoms/Tooltip.native.tsx +0 -65
  211. package/template/src/atoms/Tooltip.tsx +0 -94
  212. package/template/src/atoms/UserAvatar.tsx +0 -60
  213. package/template/src/components/CommonStyles.ts +0 -44
  214. package/template/src/components/ToastComponent.tsx +0 -8
  215. package/template/src/components/participants/Participant.tsx +0 -302
  216. package/template/src/components/participants/UserActionMenuOptions.tsx +0 -398
  217. package/template/src/components/popups/InvitePopup.tsx +0 -115
  218. package/template/src/components/popups/StopRecordingPopup.tsx +0 -114
  219. package/template/src/components/precall/PermissionHelper.native.tsx +0 -5
  220. package/template/src/components/precall/PermissionHelper.tsx +0 -126
  221. package/template/src/components/precall/PreCallSettings.tsx +0 -52
  222. package/template/src/components/useToast.tsx +0 -41
  223. package/template/src/components/useVideoCall.tsx +0 -65
  224. package/template/src/pages/Endcall.tsx +0 -148
  225. package/template/src/pages/video-call/ActionSheet.native.tsx +0 -215
  226. package/template/src/pages/video-call/ActionSheet.tsx +0 -226
  227. package/template/src/pages/video-call/ActionSheetContent.tsx +0 -479
  228. package/template/src/pages/video-call/ActionSheetHandle.tsx +0 -38
  229. package/template/src/pages/video-call/ActionSheetStyles.css +0 -138
  230. package/template/src/pages/video-call/SidePanelHeader.tsx +0 -190
  231. package/template/src/pages/video-call/VideoCallMobileView.tsx +0 -139
  232. package/template/src/pages/video-call/VideoCallScreen.native.tsx +0 -37
  233. package/template/src/subComponents/ChatInput.ios.tsx +0 -237
  234. package/template/src/subComponents/EndcallPopup.tsx +0 -107
  235. package/template/src/subComponents/LayoutIconButton.tsx +0 -201
  236. package/template/src/subComponents/RemoteMutePopup.tsx +0 -193
  237. package/template/src/subComponents/RemoveMeetingPopup.tsx +0 -109
  238. package/template/src/subComponents/RemoveScreensharePopup.tsx +0 -109
  239. package/template/src/subComponents/SelectDeviceSettings.backup.tsx +0 -207
  240. package/template/src/subComponents/SidePanelHeader.tsx +0 -112
  241. package/template/src/theme/index.ts +0 -46
  242. package/template/src/utils/PlatformWrapper.tsx +0 -21
  243. package/template/src/utils/hexadecimalTransparency.ts +0 -108
  244. package/template/src/utils/pendingStateUpdateHelper.ts +0 -19
  245. package/template/src/utils/useFocus.tsx +0 -46
  246. package/template/src/utils/useIsActiveSpeaker.ts +0 -27
  247. package/template/src/utils/useIsHandRaised.ts +0 -13
  248. package/template/src/utils/useRemoteEndScreenshare.ts +0 -26
  249. 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