@100mslive/react-native-room-kit 1.0.2-beta.0 → 1.0.2
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/lib/commonjs/HMSRoomSetup.js +1 -0
- package/lib/commonjs/HMSRoomSetup.js.map +1 -1
- package/lib/commonjs/Icons/BRB/index.js +2 -0
- package/lib/commonjs/Icons/BRB/index.js.map +1 -1
- package/lib/commonjs/Icons/Hand/index.js +2 -0
- package/lib/commonjs/Icons/Hand/index.js.map +1 -1
- package/lib/commonjs/Icons/Leave/index.js +2 -0
- package/lib/commonjs/Icons/Leave/index.js.map +1 -1
- package/lib/commonjs/Icons/Mic/index.js +2 -0
- package/lib/commonjs/Icons/Mic/index.js.map +1 -1
- package/lib/commonjs/Icons/Stop/index.js +2 -0
- package/lib/commonjs/Icons/Stop/index.js.map +1 -1
- package/lib/commonjs/components/BackButton.js +2 -0
- package/lib/commonjs/components/BackButton.js.map +1 -1
- package/lib/commonjs/components/BottomSheet.js +7 -1
- package/lib/commonjs/components/BottomSheet.js.map +1 -1
- package/lib/commonjs/components/ChangeNameModalContent.js +5 -0
- package/lib/commonjs/components/ChangeNameModalContent.js.map +1 -1
- package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsHeader.js +5 -0
- package/lib/commonjs/components/ChatAndParticipants/ChatAndParticipantsHeader.js.map +1 -1
- package/lib/commonjs/components/CompanyLogo.js +2 -0
- package/lib/commonjs/components/CompanyLogo.js.map +1 -1
- package/lib/commonjs/components/EndRoomModalContent.js +6 -1
- package/lib/commonjs/components/EndRoomModalContent.js.map +1 -1
- package/lib/commonjs/components/HMSBaseButton.js +2 -0
- package/lib/commonjs/components/HMSBaseButton.js.map +1 -1
- package/lib/commonjs/components/HMSChat.js +2 -0
- package/lib/commonjs/components/HMSChat.js.map +1 -1
- package/lib/commonjs/components/HMSDangerButton.js +2 -0
- package/lib/commonjs/components/HMSDangerButton.js.map +1 -1
- package/lib/commonjs/components/HMSLiveIndicator.js +6 -1
- package/lib/commonjs/components/HMSLiveIndicator.js.map +1 -1
- package/lib/commonjs/components/HMSLocalScreenshareNotification.js +3 -0
- package/lib/commonjs/components/HMSLocalScreenshareNotification.js.map +1 -1
- package/lib/commonjs/components/HMSManageAudioOutput.js +32 -2
- package/lib/commonjs/components/HMSManageAudioOutput.js.map +1 -1
- package/lib/commonjs/components/HMSManageCameraRotation.js +2 -0
- package/lib/commonjs/components/HMSManageCameraRotation.js.map +1 -1
- package/lib/commonjs/components/HMSManageLeave.js +3 -1
- package/lib/commonjs/components/HMSManageLeave.js.map +1 -1
- package/lib/commonjs/components/HMSManageLocalAudio.js +2 -0
- package/lib/commonjs/components/HMSManageLocalAudio.js.map +1 -1
- package/lib/commonjs/components/HMSManageLocalVideo.js +2 -0
- package/lib/commonjs/components/HMSManageLocalVideo.js.map +1 -1
- package/lib/commonjs/components/HMSManageRaiseHand.js +2 -0
- package/lib/commonjs/components/HMSManageRaiseHand.js.map +1 -1
- package/lib/commonjs/components/HMSNotification.js +2 -0
- package/lib/commonjs/components/HMSNotification.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewEditName.js +2 -0
- package/lib/commonjs/components/HMSPreviewEditName.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewJoinButton.js +2 -0
- package/lib/commonjs/components/HMSPreviewJoinButton.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewSubtitle.js +8 -0
- package/lib/commonjs/components/HMSPreviewSubtitle.js.map +1 -1
- package/lib/commonjs/components/HMSPreviewTitle.js +2 -0
- package/lib/commonjs/components/HMSPreviewTitle.js.map +1 -1
- package/lib/commonjs/components/HMSPrimaryButton.js +2 -0
- package/lib/commonjs/components/HMSPrimaryButton.js.map +1 -1
- package/lib/commonjs/components/HMSRoomOptions.js +2 -0
- package/lib/commonjs/components/HMSRoomOptions.js.map +1 -1
- package/lib/commonjs/components/HMSSendMessageInput.js +3 -0
- package/lib/commonjs/components/HMSSendMessageInput.js.map +1 -1
- package/lib/commonjs/components/HMSTextInput.js +1 -0
- package/lib/commonjs/components/HMSTextInput.js.map +1 -1
- package/lib/commonjs/components/LeaveRoomBottomSheet.js +7 -0
- package/lib/commonjs/components/LeaveRoomBottomSheet.js.map +1 -1
- package/lib/commonjs/components/Participants/ParticipantsGroupHeader.js +4 -0
- package/lib/commonjs/components/Participants/ParticipantsGroupHeader.js.map +1 -1
- package/lib/commonjs/components/Participants/ParticipantsItem.js +2 -0
- package/lib/commonjs/components/Participants/ParticipantsItem.js.map +1 -1
- package/lib/commonjs/components/Participants/ParticipantsSeachInput.js +2 -0
- package/lib/commonjs/components/Participants/ParticipantsSeachInput.js.map +1 -1
- package/lib/commonjs/components/PeerSettingsModalContent.js +8 -1
- package/lib/commonjs/components/PeerSettingsModalContent.js.map +1 -1
- package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js +3 -0
- package/lib/commonjs/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -1
- package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js +3 -0
- package/lib/commonjs/components/PeerVideoTile/PeerVideoTileView.js.map +1 -1
- package/lib/commonjs/components/RoomSettingsModalContent.js +13 -1
- package/lib/commonjs/components/RoomSettingsModalContent.js.map +1 -1
- package/lib/commonjs/hooks-util.js +2 -1
- package/lib/commonjs/hooks-util.js.map +1 -1
- package/lib/commonjs/redux/reducers/hmsStates.js +15 -4
- package/lib/commonjs/redux/reducers/hmsStates.js.map +1 -1
- package/lib/commonjs/utils/constants.js +114 -0
- package/lib/commonjs/utils/constants.js.map +1 -0
- package/lib/module/HMSRoomSetup.js +1 -0
- package/lib/module/HMSRoomSetup.js.map +1 -1
- package/lib/module/Icons/BRB/index.js +2 -0
- package/lib/module/Icons/BRB/index.js.map +1 -1
- package/lib/module/Icons/Hand/index.js +2 -0
- package/lib/module/Icons/Hand/index.js.map +1 -1
- package/lib/module/Icons/Leave/index.js +2 -0
- package/lib/module/Icons/Leave/index.js.map +1 -1
- package/lib/module/Icons/Mic/index.js +2 -0
- package/lib/module/Icons/Mic/index.js.map +1 -1
- package/lib/module/Icons/Stop/index.js +2 -0
- package/lib/module/Icons/Stop/index.js.map +1 -1
- package/lib/module/components/BackButton.js +2 -0
- package/lib/module/components/BackButton.js.map +1 -1
- package/lib/module/components/BottomSheet.js +7 -1
- package/lib/module/components/BottomSheet.js.map +1 -1
- package/lib/module/components/ChangeNameModalContent.js +5 -0
- package/lib/module/components/ChangeNameModalContent.js.map +1 -1
- package/lib/module/components/ChatAndParticipants/ChatAndParticipantsHeader.js +5 -0
- package/lib/module/components/ChatAndParticipants/ChatAndParticipantsHeader.js.map +1 -1
- package/lib/module/components/CompanyLogo.js +2 -0
- package/lib/module/components/CompanyLogo.js.map +1 -1
- package/lib/module/components/EndRoomModalContent.js +6 -1
- package/lib/module/components/EndRoomModalContent.js.map +1 -1
- package/lib/module/components/HMSBaseButton.js +2 -0
- package/lib/module/components/HMSBaseButton.js.map +1 -1
- package/lib/module/components/HMSChat.js +2 -0
- package/lib/module/components/HMSChat.js.map +1 -1
- package/lib/module/components/HMSDangerButton.js +2 -0
- package/lib/module/components/HMSDangerButton.js.map +1 -1
- package/lib/module/components/HMSLiveIndicator.js +6 -1
- package/lib/module/components/HMSLiveIndicator.js.map +1 -1
- package/lib/module/components/HMSLocalScreenshareNotification.js +3 -0
- package/lib/module/components/HMSLocalScreenshareNotification.js.map +1 -1
- package/lib/module/components/HMSManageAudioOutput.js +32 -2
- package/lib/module/components/HMSManageAudioOutput.js.map +1 -1
- package/lib/module/components/HMSManageCameraRotation.js +2 -0
- package/lib/module/components/HMSManageCameraRotation.js.map +1 -1
- package/lib/module/components/HMSManageLeave.js +3 -1
- package/lib/module/components/HMSManageLeave.js.map +1 -1
- package/lib/module/components/HMSManageLocalAudio.js +2 -0
- package/lib/module/components/HMSManageLocalAudio.js.map +1 -1
- package/lib/module/components/HMSManageLocalVideo.js +2 -0
- package/lib/module/components/HMSManageLocalVideo.js.map +1 -1
- package/lib/module/components/HMSManageRaiseHand.js +2 -0
- package/lib/module/components/HMSManageRaiseHand.js.map +1 -1
- package/lib/module/components/HMSNotification.js +2 -0
- package/lib/module/components/HMSNotification.js.map +1 -1
- package/lib/module/components/HMSPreviewEditName.js +2 -0
- package/lib/module/components/HMSPreviewEditName.js.map +1 -1
- package/lib/module/components/HMSPreviewJoinButton.js +2 -0
- package/lib/module/components/HMSPreviewJoinButton.js.map +1 -1
- package/lib/module/components/HMSPreviewSubtitle.js +8 -0
- package/lib/module/components/HMSPreviewSubtitle.js.map +1 -1
- package/lib/module/components/HMSPreviewTitle.js +2 -0
- package/lib/module/components/HMSPreviewTitle.js.map +1 -1
- package/lib/module/components/HMSPrimaryButton.js +2 -0
- package/lib/module/components/HMSPrimaryButton.js.map +1 -1
- package/lib/module/components/HMSRoomOptions.js +2 -0
- package/lib/module/components/HMSRoomOptions.js.map +1 -1
- package/lib/module/components/HMSSendMessageInput.js +3 -0
- package/lib/module/components/HMSSendMessageInput.js.map +1 -1
- package/lib/module/components/HMSTextInput.js +1 -0
- package/lib/module/components/HMSTextInput.js.map +1 -1
- package/lib/module/components/LeaveRoomBottomSheet.js +7 -0
- package/lib/module/components/LeaveRoomBottomSheet.js.map +1 -1
- package/lib/module/components/Participants/ParticipantsGroupHeader.js +4 -0
- package/lib/module/components/Participants/ParticipantsGroupHeader.js.map +1 -1
- package/lib/module/components/Participants/ParticipantsItem.js +2 -0
- package/lib/module/components/Participants/ParticipantsItem.js.map +1 -1
- package/lib/module/components/Participants/ParticipantsSeachInput.js +2 -0
- package/lib/module/components/Participants/ParticipantsSeachInput.js.map +1 -1
- package/lib/module/components/PeerSettingsModalContent.js +8 -1
- package/lib/module/components/PeerSettingsModalContent.js.map +1 -1
- package/lib/module/components/PeerVideoTile/PeerNameAndNetwork.js +3 -0
- package/lib/module/components/PeerVideoTile/PeerNameAndNetwork.js.map +1 -1
- package/lib/module/components/PeerVideoTile/PeerVideoTileView.js +3 -0
- package/lib/module/components/PeerVideoTile/PeerVideoTileView.js.map +1 -1
- package/lib/module/components/RoomSettingsModalContent.js +13 -1
- package/lib/module/components/RoomSettingsModalContent.js.map +1 -1
- package/lib/module/hooks-util.js +2 -1
- package/lib/module/hooks-util.js.map +1 -1
- package/lib/module/redux/reducers/hmsStates.js +15 -4
- package/lib/module/redux/reducers/hmsStates.js.map +1 -1
- package/lib/module/utils/constants.js +108 -0
- package/lib/module/utils/constants.js.map +1 -0
- package/lib/typescript/HMSRoomSetup.d.ts.map +1 -1
- package/lib/typescript/Icons/BRB/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Hand/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Leave/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Mic/index.d.ts.map +1 -1
- package/lib/typescript/Icons/Stop/index.d.ts.map +1 -1
- package/lib/typescript/components/BackButton.d.ts.map +1 -1
- package/lib/typescript/components/BottomSheet.d.ts +4 -1
- package/lib/typescript/components/BottomSheet.d.ts.map +1 -1
- package/lib/typescript/components/ChangeNameModalContent.d.ts.map +1 -1
- package/lib/typescript/components/ChatAndParticipants/ChatAndParticipantsHeader.d.ts.map +1 -1
- package/lib/typescript/components/CompanyLogo.d.ts.map +1 -1
- package/lib/typescript/components/EndRoomModalContent.d.ts.map +1 -1
- package/lib/typescript/components/HMSBaseButton.d.ts +2 -1
- package/lib/typescript/components/HMSBaseButton.d.ts.map +1 -1
- package/lib/typescript/components/HMSChat.d.ts.map +1 -1
- package/lib/typescript/components/HMSDangerButton.d.ts +2 -0
- package/lib/typescript/components/HMSDangerButton.d.ts.map +1 -1
- package/lib/typescript/components/HMSLiveIndicator.d.ts.map +1 -1
- package/lib/typescript/components/HMSLocalScreenshareNotification.d.ts.map +1 -1
- package/lib/typescript/components/HMSManageAudioOutput.d.ts.map +1 -1
- package/lib/typescript/components/HMSManageCameraRotation.d.ts.map +1 -1
- package/lib/typescript/components/HMSManageLeave.d.ts.map +1 -1
- package/lib/typescript/components/HMSManageLocalAudio.d.ts.map +1 -1
- package/lib/typescript/components/HMSManageLocalVideo.d.ts.map +1 -1
- package/lib/typescript/components/HMSManageRaiseHand.d.ts.map +1 -1
- package/lib/typescript/components/HMSNotification.d.ts +2 -1
- package/lib/typescript/components/HMSNotification.d.ts.map +1 -1
- package/lib/typescript/components/HMSPreviewEditName.d.ts.map +1 -1
- package/lib/typescript/components/HMSPreviewJoinButton.d.ts.map +1 -1
- package/lib/typescript/components/HMSPreviewSubtitle.d.ts.map +1 -1
- package/lib/typescript/components/HMSPreviewTitle.d.ts.map +1 -1
- package/lib/typescript/components/HMSPrimaryButton.d.ts +2 -0
- package/lib/typescript/components/HMSPrimaryButton.d.ts.map +1 -1
- package/lib/typescript/components/HMSRoomOptions.d.ts.map +1 -1
- package/lib/typescript/components/HMSSendMessageInput.d.ts.map +1 -1
- package/lib/typescript/components/HMSTextInput.d.ts +2 -1
- package/lib/typescript/components/HMSTextInput.d.ts.map +1 -1
- package/lib/typescript/components/LeaveRoomBottomSheet.d.ts.map +1 -1
- package/lib/typescript/components/Participants/ParticipantsGroupHeader.d.ts.map +1 -1
- package/lib/typescript/components/Participants/ParticipantsItem.d.ts.map +1 -1
- package/lib/typescript/components/Participants/ParticipantsSeachInput.d.ts.map +1 -1
- package/lib/typescript/components/PeerSettingsModalContent.d.ts.map +1 -1
- package/lib/typescript/components/PeerVideoTile/PeerNameAndNetwork.d.ts.map +1 -1
- package/lib/typescript/components/PeerVideoTile/PeerVideoTileView.d.ts.map +1 -1
- package/lib/typescript/components/RoomSettingsModalContent.d.ts.map +1 -1
- package/lib/typescript/hooks-util.d.ts.map +1 -1
- package/lib/typescript/redux/reducers/hmsStates.d.ts.map +1 -1
- package/lib/typescript/utils/constants.d.ts +101 -0
- package/lib/typescript/utils/constants.d.ts.map +1 -0
- package/package.json +2 -2
- package/src/HMSRoomSetup.tsx +1 -0
- package/src/Icons/BRB/index.tsx +2 -0
- package/src/Icons/Hand/index.tsx +6 -0
- package/src/Icons/Leave/index.tsx +2 -0
- package/src/Icons/Mic/index.tsx +6 -0
- package/src/Icons/Stop/index.tsx +2 -0
- package/src/components/BackButton.tsx +2 -0
- package/src/components/BottomSheet.tsx +10 -3
- package/src/components/ChangeNameModalContent.tsx +8 -1
- package/src/components/ChatAndParticipants/ChatAndParticipantsHeader.tsx +26 -2
- package/src/components/CompanyLogo.tsx +2 -0
- package/src/components/EndRoomModalContent.tsx +13 -3
- package/src/components/HMSBaseButton.tsx +4 -1
- package/src/components/HMSChat.tsx +6 -1
- package/src/components/HMSDangerButton.tsx +4 -0
- package/src/components/HMSLiveIndicator.tsx +4 -3
- package/src/components/HMSLocalScreenshareNotification.tsx +3 -0
- package/src/components/HMSManageAudioOutput.tsx +35 -3
- package/src/components/HMSManageCameraRotation.tsx +2 -0
- package/src/components/HMSManageLeave.tsx +2 -0
- package/src/components/HMSManageLocalAudio.tsx +2 -0
- package/src/components/HMSManageLocalVideo.tsx +2 -0
- package/src/components/HMSManageRaiseHand.tsx +2 -1
- package/src/components/HMSNotification.tsx +4 -2
- package/src/components/HMSPreviewEditName.tsx +2 -1
- package/src/components/HMSPreviewJoinButton.tsx +6 -0
- package/src/components/HMSPreviewSubtitle.tsx +9 -6
- package/src/components/HMSPreviewTitle.tsx +2 -1
- package/src/components/HMSPrimaryButton.tsx +4 -0
- package/src/components/HMSRoomOptions.tsx +2 -1
- package/src/components/HMSSendMessageInput.tsx +3 -0
- package/src/components/HMSTextInput.tsx +3 -0
- package/src/components/LeaveRoomBottomSheet.tsx +7 -1
- package/src/components/Participants/ParticipantsGroupHeader.tsx +12 -2
- package/src/components/Participants/ParticipantsItem.tsx +2 -1
- package/src/components/Participants/ParticipantsSeachInput.tsx +2 -0
- package/src/components/PeerSettingsModalContent.tsx +9 -1
- package/src/components/PeerVideoTile/PeerNameAndNetwork.tsx +3 -0
- package/src/components/PeerVideoTile/PeerVideoTileView.tsx +3 -0
- package/src/components/RoomSettingsModalContent.tsx +14 -0
- package/src/hooks-util.ts +3 -2
- package/src/redux/reducers/hmsStates.ts +19 -7
- package/src/utils/constants.ts +146 -0
|
@@ -30,6 +30,7 @@ import {
|
|
|
30
30
|
} from '../hooks-util';
|
|
31
31
|
import type { RootState } from '../redux';
|
|
32
32
|
import { BottomSheet } from './BottomSheet';
|
|
33
|
+
import { TestIds } from '../utils/constants';
|
|
33
34
|
|
|
34
35
|
export const HMSManageAudioOutput: React.FC = () => {
|
|
35
36
|
const hmsInstance = useHMSInstance();
|
|
@@ -141,6 +142,7 @@ export const HMSManageAudioOutput: React.FC = () => {
|
|
|
141
142
|
return (
|
|
142
143
|
<View>
|
|
143
144
|
<PressableIcon
|
|
145
|
+
testID={TestIds.manage_audio_output}
|
|
144
146
|
onPress={handleSpeakerChange}
|
|
145
147
|
style={isHLSViewer ? styles.button : null}
|
|
146
148
|
>
|
|
@@ -155,6 +157,8 @@ export const HMSManageAudioOutput: React.FC = () => {
|
|
|
155
157
|
<BottomSheet.Header
|
|
156
158
|
dismissModal={dismissModal}
|
|
157
159
|
heading="Audio Output"
|
|
160
|
+
headingTestID={TestIds.audio_modal_heading}
|
|
161
|
+
closeIconTestID={TestIds.audio_modal_close_btn}
|
|
158
162
|
/>
|
|
159
163
|
|
|
160
164
|
<BottomSheet.Divider />
|
|
@@ -162,7 +166,10 @@ export const HMSManageAudioOutput: React.FC = () => {
|
|
|
162
166
|
<View style={styles.contentContainer}>
|
|
163
167
|
{availableAudioOutputDevices.length === 0 ? (
|
|
164
168
|
<View style={styles.emptyView}>
|
|
165
|
-
<Text
|
|
169
|
+
<Text
|
|
170
|
+
testID={TestIds.audio_modal_empty_text}
|
|
171
|
+
style={[styles.itemText, hmsRoomStyles.text]}
|
|
172
|
+
>
|
|
166
173
|
No other devices available!
|
|
167
174
|
</Text>
|
|
168
175
|
</View>
|
|
@@ -182,6 +189,7 @@ export const HMSManageAudioOutput: React.FC = () => {
|
|
|
182
189
|
)}
|
|
183
190
|
|
|
184
191
|
<TouchableOpacity
|
|
192
|
+
testID={audioDeviceTestIds[device]}
|
|
185
193
|
style={styles.audioDeviceItem}
|
|
186
194
|
onPress={() => handleSelectAudioDevice(device)}
|
|
187
195
|
>
|
|
@@ -193,13 +201,13 @@ export const HMSManageAudioOutput: React.FC = () => {
|
|
|
193
201
|
: device
|
|
194
202
|
)}
|
|
195
203
|
|
|
196
|
-
<Text style={[styles.itemText, hmsRoomStyles.text]}>
|
|
204
|
+
<Text testID={audioDeviceTextTestIds[device]} style={[styles.itemText, hmsRoomStyles.text]}>
|
|
197
205
|
{getDescription(device, currentAudioOutputDevice)}
|
|
198
206
|
</Text>
|
|
199
207
|
</View>
|
|
200
208
|
|
|
201
209
|
{device === currentAudioOutputDevice ? (
|
|
202
|
-
<CheckIcon />
|
|
210
|
+
<CheckIcon testID={activeAudioDeviceTestIds[device]} />
|
|
203
211
|
) : null}
|
|
204
212
|
</TouchableOpacity>
|
|
205
213
|
</React.Fragment>
|
|
@@ -290,3 +298,27 @@ const audioDeviceSortOrder = {
|
|
|
290
298
|
[HMSAudioDevice.EARPIECE]: 3,
|
|
291
299
|
[HMSAudioDevice.BLUETOOTH]: 4,
|
|
292
300
|
} as const;
|
|
301
|
+
|
|
302
|
+
const audioDeviceTestIds = {
|
|
303
|
+
[HMSAudioDevice.AUTOMATIC]: TestIds.automatic_audio_device_btn,
|
|
304
|
+
[HMSAudioDevice.SPEAKER_PHONE]: TestIds.phone_speaker_audio_device_btn,
|
|
305
|
+
[HMSAudioDevice.WIRED_HEADSET]: TestIds.wired_headset_audio_device_btn,
|
|
306
|
+
[HMSAudioDevice.EARPIECE]: TestIds.earpiece_audio_device_btn,
|
|
307
|
+
[HMSAudioDevice.BLUETOOTH]: TestIds.bluetooth_audio_device_btn,
|
|
308
|
+
} as const;
|
|
309
|
+
|
|
310
|
+
const audioDeviceTextTestIds = {
|
|
311
|
+
[HMSAudioDevice.AUTOMATIC]: TestIds.automatic_audio_device_text,
|
|
312
|
+
[HMSAudioDevice.SPEAKER_PHONE]: TestIds.phone_speaker_audio_device_text,
|
|
313
|
+
[HMSAudioDevice.WIRED_HEADSET]: TestIds.wired_headset_audio_device_text,
|
|
314
|
+
[HMSAudioDevice.EARPIECE]: TestIds.earpiece_audio_device_text,
|
|
315
|
+
[HMSAudioDevice.BLUETOOTH]: TestIds.bluetooth_audio_device_text,
|
|
316
|
+
} as const;
|
|
317
|
+
|
|
318
|
+
const activeAudioDeviceTestIds = {
|
|
319
|
+
[HMSAudioDevice.AUTOMATIC]: TestIds.automatic_audio_device_active,
|
|
320
|
+
[HMSAudioDevice.SPEAKER_PHONE]: TestIds.phone_speaker_audio_device_active,
|
|
321
|
+
[HMSAudioDevice.WIRED_HEADSET]: TestIds.wired_headset_audio_device_active,
|
|
322
|
+
[HMSAudioDevice.EARPIECE]: TestIds.earpiece_audio_device_active,
|
|
323
|
+
[HMSAudioDevice.BLUETOOTH]: TestIds.bluetooth_audio_device_active,
|
|
324
|
+
} as const;
|
|
@@ -6,6 +6,7 @@ import { useCanPublishVideo, useHMSActions } from '../hooks-sdk';
|
|
|
6
6
|
import type { RootState } from '../redux';
|
|
7
7
|
import { PressableIcon } from './PressableIcon';
|
|
8
8
|
import { useHMSRoomStyle } from '../hooks-util';
|
|
9
|
+
import { TestIds } from '../utils/constants';
|
|
9
10
|
|
|
10
11
|
export const HMSManageCameraRotation = () => {
|
|
11
12
|
const canPublishVideo = useCanPublishVideo();
|
|
@@ -42,6 +43,7 @@ const RotateCameraButton = () => {
|
|
|
42
43
|
|
|
43
44
|
return (
|
|
44
45
|
<PressableIcon
|
|
46
|
+
testID={isLocalVideoMuted ? TestIds.switch_camera_disabled : TestIds.switch_camera}
|
|
45
47
|
onPress={handleVideoMuteTogglePress}
|
|
46
48
|
disabled={isLocalVideoMuted}
|
|
47
49
|
>
|
|
@@ -6,6 +6,7 @@ import { useHMSRoomStyleSheet, useModalType } from '../hooks-util';
|
|
|
6
6
|
import { ModalTypes } from '../utils/types';
|
|
7
7
|
import { PressableIcon } from './PressableIcon';
|
|
8
8
|
import { COLORS } from '../utils/theme';
|
|
9
|
+
import { TestIds } from '../utils/constants';
|
|
9
10
|
|
|
10
11
|
export const HMSManageLeave: React.FC<LeaveButtonProps> = (props) => {
|
|
11
12
|
// TODO: read current meeting joined state
|
|
@@ -65,6 +66,7 @@ const LeaveButton: React.FC<LeaveButtonProps> = (props) => {
|
|
|
65
66
|
{React.cloneElement(leaveButtonDelegate, {
|
|
66
67
|
onPress: handleLeaveButtonPress,
|
|
67
68
|
style: hmsRoomStyles.button,
|
|
69
|
+
testID: TestIds.footer_leave_btn
|
|
68
70
|
})}
|
|
69
71
|
</View>
|
|
70
72
|
);
|
|
@@ -5,6 +5,7 @@ import { MicIcon } from '../Icons';
|
|
|
5
5
|
import { useCanPublishAudio, useHMSActions } from '../hooks-sdk';
|
|
6
6
|
import type { RootState } from '../redux';
|
|
7
7
|
import { PressableIcon } from './PressableIcon';
|
|
8
|
+
import { TestIds } from '../utils/constants';
|
|
8
9
|
|
|
9
10
|
export const HMSManageLocalAudio = () => {
|
|
10
11
|
const canPublishAudio = useCanPublishAudio();
|
|
@@ -31,6 +32,7 @@ const ToggleAudioMuteButton = () => {
|
|
|
31
32
|
|
|
32
33
|
return (
|
|
33
34
|
<PressableIcon
|
|
35
|
+
testID={!!isLocalAudioMuted ? TestIds.mic_muted_btn : TestIds.mic_unmuted_btn}
|
|
34
36
|
onPress={handleAudioMuteTogglePress}
|
|
35
37
|
active={isLocalAudioMuted}
|
|
36
38
|
>
|
|
@@ -5,6 +5,7 @@ import type { RootState } from '../redux';
|
|
|
5
5
|
import { useCanPublishVideo, useHMSActions } from '../hooks-sdk';
|
|
6
6
|
import { PressableIcon } from './PressableIcon';
|
|
7
7
|
import { CameraIcon } from '../Icons';
|
|
8
|
+
import { TestIds } from '../utils/constants';
|
|
8
9
|
|
|
9
10
|
export const HMSManageLocalVideo = () => {
|
|
10
11
|
const canPublishVideo = useCanPublishVideo();
|
|
@@ -31,6 +32,7 @@ const ToggleVideoMuteButton = () => {
|
|
|
31
32
|
|
|
32
33
|
return (
|
|
33
34
|
<PressableIcon
|
|
35
|
+
testID={!!isLocalVideoMuted ? TestIds.camera_muted_btn : TestIds.camera_unmuted_btn}
|
|
34
36
|
onPress={handleVideoMuteTogglePress}
|
|
35
37
|
active={isLocalVideoMuted}
|
|
36
38
|
>
|
|
@@ -6,6 +6,7 @@ import { useHMSActions } from '../hooks-sdk';
|
|
|
6
6
|
import { PressableIcon } from './PressableIcon';
|
|
7
7
|
import { HandIcon } from '../Icons';
|
|
8
8
|
import { parseMetadata } from '../utils/functions';
|
|
9
|
+
import { TestIds } from '../utils/constants';
|
|
9
10
|
|
|
10
11
|
export const HMSManageRaiseHand = () => {
|
|
11
12
|
const hmsActions = useHMSActions();
|
|
@@ -34,7 +35,7 @@ export const HMSManageRaiseHand = () => {
|
|
|
34
35
|
};
|
|
35
36
|
|
|
36
37
|
return (
|
|
37
|
-
<PressableIcon onPress={toggleRaiseHand} active={isHandRaised}>
|
|
38
|
+
<PressableIcon testID={isHandRaised ? TestIds.hand_raised_btn : TestIds.hand_raise_btn} onPress={toggleRaiseHand} active={isHandRaised}>
|
|
38
39
|
<HandIcon />
|
|
39
40
|
</PressableIcon>
|
|
40
41
|
);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { useDispatch } from 'react-redux';
|
|
3
3
|
import { StyleSheet, Text, TouchableOpacity, View } from 'react-native';
|
|
4
|
-
import type { StyleProp, ViewStyle, TextStyle } from 'react-native';
|
|
4
|
+
import type { StyleProp, ViewStyle, TextStyle, TextProps } from 'react-native';
|
|
5
5
|
|
|
6
6
|
import { useHMSRoomStyleSheet } from '../hooks-util';
|
|
7
7
|
import { CloseIcon } from '../Icons';
|
|
@@ -11,6 +11,7 @@ import { removeNotification } from '../redux/actions';
|
|
|
11
11
|
export interface HMSNotificationProps {
|
|
12
12
|
id: string;
|
|
13
13
|
text: string | React.ReactElement;
|
|
14
|
+
textTestID?: TextProps['testID'];
|
|
14
15
|
style?: StyleProp<ViewStyle>;
|
|
15
16
|
textStyle?: StyleProp<TextStyle>;
|
|
16
17
|
icon?: React.ReactElement;
|
|
@@ -28,6 +29,7 @@ export const HMSNotification: React.FC<HMSNotificationProps> = ({
|
|
|
28
29
|
style,
|
|
29
30
|
textStyle,
|
|
30
31
|
cta,
|
|
32
|
+
textTestID,
|
|
31
33
|
onDismiss,
|
|
32
34
|
dismissDelay = 5000,
|
|
33
35
|
autoDismiss = true,
|
|
@@ -59,7 +61,7 @@ export const HMSNotification: React.FC<HMSNotificationProps> = ({
|
|
|
59
61
|
{icon ? <View style={styles.icon}>{icon}</View> : null}
|
|
60
62
|
|
|
61
63
|
{typeof text === 'string' ? (
|
|
62
|
-
<Text style={[styles.text, hmsRoomStyles.text, textStyle]}>
|
|
64
|
+
<Text testID={textTestID} style={[styles.text, hmsRoomStyles.text, textStyle]}>
|
|
63
65
|
{text}
|
|
64
66
|
</Text>
|
|
65
67
|
) : (
|
|
@@ -5,6 +5,7 @@ import type { RootState } from '../redux';
|
|
|
5
5
|
import { changeUsername } from '../redux/actions';
|
|
6
6
|
import { useHMSConfig } from '../hooks-util';
|
|
7
7
|
import { HMSTextInput } from './HMSTextInput';
|
|
8
|
+
import { TestIds } from '../utils/constants';
|
|
8
9
|
|
|
9
10
|
export interface HMSPreviewEditNameProps {}
|
|
10
11
|
|
|
@@ -18,5 +19,5 @@ export const HMSPreviewEditName: React.FC<HMSPreviewEditNameProps> = () => {
|
|
|
18
19
|
updateConfig({ username: name });
|
|
19
20
|
};
|
|
20
21
|
|
|
21
|
-
return <HMSTextInput value={userName} onChangeText={handleNameChange} />;
|
|
22
|
+
return <HMSTextInput testID={TestIds.enter_name} value={userName} onChangeText={handleNameChange} />;
|
|
22
23
|
};
|
|
@@ -10,6 +10,7 @@ import {
|
|
|
10
10
|
useShouldGoLive,
|
|
11
11
|
} from '../hooks-util';
|
|
12
12
|
import { HMSPrimaryButton } from './HMSPrimaryButton';
|
|
13
|
+
import { TestIds } from '../utils/constants';
|
|
13
14
|
|
|
14
15
|
export interface HMSPreviewJoinButtonProps {
|
|
15
16
|
onJoin(): void;
|
|
@@ -49,6 +50,11 @@ export const HMSPreviewJoinButton: React.FC<HMSPreviewJoinButtonProps> = ({
|
|
|
49
50
|
|
|
50
51
|
return (
|
|
51
52
|
<HMSPrimaryButton
|
|
53
|
+
testId={
|
|
54
|
+
shouldGoLive
|
|
55
|
+
? TestIds.go_live_btn
|
|
56
|
+
: TestIds.join_now_btn
|
|
57
|
+
}
|
|
52
58
|
loading={loading}
|
|
53
59
|
onPress={onJoin}
|
|
54
60
|
title={
|
|
@@ -4,6 +4,7 @@ import type { StyleProp, TextStyle } from 'react-native';
|
|
|
4
4
|
|
|
5
5
|
import { useCanPublishAudio, useCanPublishVideo } from '../hooks-sdk';
|
|
6
6
|
import { useHMSLayoutConfig, useHMSRoomStyle } from '../hooks-util';
|
|
7
|
+
import { TestIds } from '../utils/constants';
|
|
7
8
|
|
|
8
9
|
export interface HMSPreviewSubtitleProps {
|
|
9
10
|
subtitle?: string;
|
|
@@ -27,29 +28,31 @@ export const HMSPreviewSubtitle: React.FC<HMSPreviewSubtitleProps> = ({
|
|
|
27
28
|
|
|
28
29
|
const textStyles: StyleProp<TextStyle> = [styles.title, titleStyles];
|
|
29
30
|
|
|
31
|
+
const testID = TestIds.subtitle;
|
|
32
|
+
|
|
30
33
|
if (subtitle) {
|
|
31
|
-
return <Text style={textStyles}>{subtitle}</Text>;
|
|
34
|
+
return <Text testID={testID} style={textStyles}>{subtitle}</Text>;
|
|
32
35
|
}
|
|
33
36
|
|
|
34
37
|
if (hmsRoomPreviewSubtitle) {
|
|
35
|
-
return <Text style={textStyles}>{hmsRoomPreviewSubtitle}</Text>;
|
|
38
|
+
return <Text testID={testID} style={textStyles}>{hmsRoomPreviewSubtitle}</Text>;
|
|
36
39
|
}
|
|
37
40
|
|
|
38
41
|
if (canPublishAudio && canPublishVideo) {
|
|
39
42
|
return (
|
|
40
|
-
<Text style={textStyles}>Setup your audio and video before joining</Text>
|
|
43
|
+
<Text testID={testID} style={textStyles}>Setup your audio and video before joining</Text>
|
|
41
44
|
);
|
|
42
45
|
}
|
|
43
46
|
|
|
44
47
|
if (canPublishAudio) {
|
|
45
|
-
return <Text style={textStyles}>Setup your audio before joining</Text>;
|
|
48
|
+
return <Text testID={testID} style={textStyles}>Setup your audio before joining</Text>;
|
|
46
49
|
}
|
|
47
50
|
|
|
48
51
|
if (canPublishVideo) {
|
|
49
|
-
return <Text style={textStyles}>Setup your video before joining</Text>;
|
|
52
|
+
return <Text testID={testID} style={textStyles}>Setup your video before joining</Text>;
|
|
50
53
|
}
|
|
51
54
|
|
|
52
|
-
return <Text style={textStyles}>Enter your name before joining</Text>;
|
|
55
|
+
return <Text testID={testID} style={textStyles}>Enter your name before joining</Text>;
|
|
53
56
|
};
|
|
54
57
|
|
|
55
58
|
const styles = StyleSheet.create({
|
|
@@ -2,6 +2,7 @@ import * as React from 'react';
|
|
|
2
2
|
import { StyleSheet, Text } from 'react-native';
|
|
3
3
|
|
|
4
4
|
import { useHMSLayoutConfig, useHMSRoomStyle } from '../hooks-util';
|
|
5
|
+
import { TestIds } from '../utils/constants';
|
|
5
6
|
|
|
6
7
|
export interface HMSPreviewTitleProps {
|
|
7
8
|
title?: string;
|
|
@@ -22,7 +23,7 @@ export const HMSPreviewTitle: React.FC<HMSPreviewTitleProps> = ({
|
|
|
22
23
|
fontFamily: `${typography.font_family}-SemiBold`,
|
|
23
24
|
}));
|
|
24
25
|
|
|
25
|
-
return <Text style={[styles.title, titleStyles]}>{hmsRoomPreviewTitle}</Text>;
|
|
26
|
+
return <Text testID={TestIds.title} style={[styles.title, titleStyles]}>{hmsRoomPreviewTitle}</Text>;
|
|
26
27
|
};
|
|
27
28
|
|
|
28
29
|
const styles = StyleSheet.create({
|
|
@@ -3,11 +3,13 @@ import type { StyleProp, ViewStyle } from 'react-native';
|
|
|
3
3
|
|
|
4
4
|
import { useHMSRoomColorPalette, useHMSRoomStyleSheet } from '../hooks-util';
|
|
5
5
|
import { HMSBaseButton } from './HMSBaseButton';
|
|
6
|
+
import type { HMSBaseButtonProps } from './HMSBaseButton';
|
|
6
7
|
|
|
7
8
|
export interface HMSPrimaryButtonProps {
|
|
8
9
|
title: string;
|
|
9
10
|
loading: boolean;
|
|
10
11
|
onPress(): void;
|
|
12
|
+
testId?: HMSBaseButtonProps['testID'];
|
|
11
13
|
style?: StyleProp<ViewStyle>;
|
|
12
14
|
disabled?: boolean;
|
|
13
15
|
leftComponent?: React.ReactElement | null;
|
|
@@ -17,6 +19,7 @@ export const HMSPrimaryButton: React.FC<HMSPrimaryButtonProps> = ({
|
|
|
17
19
|
title,
|
|
18
20
|
loading,
|
|
19
21
|
onPress,
|
|
22
|
+
testId,
|
|
20
23
|
style,
|
|
21
24
|
disabled,
|
|
22
25
|
leftComponent,
|
|
@@ -42,6 +45,7 @@ export const HMSPrimaryButton: React.FC<HMSPrimaryButtonProps> = ({
|
|
|
42
45
|
|
|
43
46
|
return (
|
|
44
47
|
<HMSBaseButton
|
|
48
|
+
testID={testId}
|
|
45
49
|
loaderColor={onPrimaryHighColor}
|
|
46
50
|
loading={loading}
|
|
47
51
|
onPress={onPress}
|
|
@@ -21,6 +21,7 @@ import { useModalType } from '../hooks-util';
|
|
|
21
21
|
import { BottomSheet } from './BottomSheet';
|
|
22
22
|
import { ChangeNameModalContent } from './ChangeNameModalContent';
|
|
23
23
|
import { StopRecordingModalContent } from './StopRecordingModalContent';
|
|
24
|
+
import { TestIds } from '../utils/constants';
|
|
24
25
|
|
|
25
26
|
interface HMSRoomOptionsProps {}
|
|
26
27
|
|
|
@@ -46,7 +47,7 @@ export const HMSRoomOptions: React.FC<HMSRoomOptionsProps> = () => {
|
|
|
46
47
|
|
|
47
48
|
return (
|
|
48
49
|
<View>
|
|
49
|
-
<PressableIcon onPress={onSettingsPress}>
|
|
50
|
+
<PressableIcon testID={TestIds.room_options_btn} onPress={onSettingsPress}>
|
|
50
51
|
<HamburgerIcon />
|
|
51
52
|
</PressableIcon>
|
|
52
53
|
|
|
@@ -4,6 +4,7 @@ import type { StyleProp, TextStyle, ViewStyle } from 'react-native';
|
|
|
4
4
|
|
|
5
5
|
import { HMSTextInput } from './HMSTextInput';
|
|
6
6
|
import { useHMSRoomStyleSheet, useSendMessage } from '../hooks-util';
|
|
7
|
+
import { TestIds } from '../utils/constants';
|
|
7
8
|
|
|
8
9
|
interface HMSSendMessageInputProps {
|
|
9
10
|
style?: StyleProp<TextStyle>;
|
|
@@ -25,6 +26,7 @@ export const HMSSendMessageInput: React.FC<HMSSendMessageInputProps> = ({
|
|
|
25
26
|
|
|
26
27
|
return (
|
|
27
28
|
<HMSTextInput
|
|
29
|
+
testID={TestIds.enter_message_input}
|
|
28
30
|
style={[styles.input, style]}
|
|
29
31
|
value={message}
|
|
30
32
|
onChangeText={setMessage}
|
|
@@ -37,6 +39,7 @@ export const HMSSendMessageInput: React.FC<HMSSendMessageInputProps> = ({
|
|
|
37
39
|
containerStyle,
|
|
38
40
|
]}
|
|
39
41
|
sendIcon={true}
|
|
42
|
+
sendIconTestID={TestIds.send_message_cta}
|
|
40
43
|
onSendIconPress={sendMessage}
|
|
41
44
|
onSubmitEditing={sendMessage}
|
|
42
45
|
returnKeyType="send"
|
|
@@ -10,6 +10,7 @@ import type {
|
|
|
10
10
|
StyleProp,
|
|
11
11
|
TextInputProps,
|
|
12
12
|
TextStyle,
|
|
13
|
+
TouchableOpacityProps,
|
|
13
14
|
ViewStyle,
|
|
14
15
|
} from 'react-native';
|
|
15
16
|
|
|
@@ -31,6 +32,7 @@ export type HMSTextInputProps = TextInputProps & {
|
|
|
31
32
|
| {
|
|
32
33
|
rightIcon?: undefined;
|
|
33
34
|
sendIcon: boolean;
|
|
35
|
+
sendIconTestID?: TouchableOpacityProps['testID'];
|
|
34
36
|
onSendIconPress(): void;
|
|
35
37
|
containerStyle?: StyleProp<ViewStyle>;
|
|
36
38
|
focusedContainerStyle?: StyleProp<ViewStyle>;
|
|
@@ -160,6 +162,7 @@ export const HMSTextInput: React.FC<HMSTextInputProps> = ({
|
|
|
160
162
|
{resetProps.rightIcon ||
|
|
161
163
|
(resetProps.sendIcon ? (
|
|
162
164
|
<TouchableOpacity
|
|
165
|
+
testID={resetProps.sendIconTestID}
|
|
163
166
|
style={styles.sendIconButton}
|
|
164
167
|
onPress={resetProps.onSendIconPress}
|
|
165
168
|
>
|
|
@@ -8,6 +8,7 @@ import type { RootState } from '../redux';
|
|
|
8
8
|
import { BottomSheet } from './BottomSheet';
|
|
9
9
|
import { StopIcon } from '../Icons';
|
|
10
10
|
import { ModalTypes, OnLeaveReason } from '../utils/types';
|
|
11
|
+
import { TestIds } from '../utils/constants';
|
|
11
12
|
|
|
12
13
|
// const HEADER_CONTENT_HEIGHT = 24 + 8 + 8 + 2; // ICON_SIZE + TOP_PADDING + BOTTOM_PADDING + TOP&BOTTOM_BORDER_WIDTH
|
|
13
14
|
// const HEADER_HEIGHT = 8 + HEADER_CONTENT_HEIGHT + 8; // TOP_HEADER_PADDING + HEADER_CONTENT_HEIGHT + BOTTOM_HEADER_PADDING
|
|
@@ -111,6 +112,7 @@ export const LeaveRoomBottomSheet: React.FC<LeaveRoomBottomSheetProps> = () => {
|
|
|
111
112
|
>
|
|
112
113
|
<View>
|
|
113
114
|
<TouchableOpacity
|
|
115
|
+
testID={TestIds.leave_cta}
|
|
114
116
|
style={styles.button}
|
|
115
117
|
onPress={onLeavePress}
|
|
116
118
|
>
|
|
@@ -120,7 +122,7 @@ export const LeaveRoomBottomSheet: React.FC<LeaveRoomBottomSheetProps> = () => {
|
|
|
120
122
|
<Text style={[styles.text, hmsRoomStyles.text]}>
|
|
121
123
|
Leave
|
|
122
124
|
</Text>
|
|
123
|
-
<Text style={[styles.subtext, hmsRoomStyles.subtext]}>
|
|
125
|
+
<Text testID={TestIds.leave_description} style={[styles.subtext, hmsRoomStyles.subtext]}>
|
|
124
126
|
Others will continue after you leave. You can join the session
|
|
125
127
|
again.
|
|
126
128
|
</Text>
|
|
@@ -129,6 +131,7 @@ export const LeaveRoomBottomSheet: React.FC<LeaveRoomBottomSheetProps> = () => {
|
|
|
129
131
|
|
|
130
132
|
{canStream && isStreaming ? (
|
|
131
133
|
<TouchableOpacity
|
|
134
|
+
testID={TestIds.end_stream_cta}
|
|
132
135
|
style={[styles.button, hmsRoomStyles.endButton]}
|
|
133
136
|
onPress={onEndStreamPress}
|
|
134
137
|
>
|
|
@@ -139,6 +142,7 @@ export const LeaveRoomBottomSheet: React.FC<LeaveRoomBottomSheetProps> = () => {
|
|
|
139
142
|
End Stream
|
|
140
143
|
</Text>
|
|
141
144
|
<Text
|
|
145
|
+
testID={TestIds.end_stream_description}
|
|
142
146
|
style={[styles.subtext, hmsRoomStyles.endSubtext]}
|
|
143
147
|
>
|
|
144
148
|
The stream will end for everyone after they’ve watched it.
|
|
@@ -147,6 +151,7 @@ export const LeaveRoomBottomSheet: React.FC<LeaveRoomBottomSheetProps> = () => {
|
|
|
147
151
|
</TouchableOpacity>
|
|
148
152
|
) : canEndRoom ? (
|
|
149
153
|
<TouchableOpacity
|
|
154
|
+
testID={TestIds.end_session_cta}
|
|
150
155
|
style={[styles.button, hmsRoomStyles.endButton]}
|
|
151
156
|
onPress={onEndSessionPress}
|
|
152
157
|
>
|
|
@@ -157,6 +162,7 @@ export const LeaveRoomBottomSheet: React.FC<LeaveRoomBottomSheetProps> = () => {
|
|
|
157
162
|
End Session
|
|
158
163
|
</Text>
|
|
159
164
|
<Text
|
|
165
|
+
testID={TestIds.end_session_description}
|
|
160
166
|
style={[styles.subtext, hmsRoomStyles.endSubtext]}
|
|
161
167
|
>
|
|
162
168
|
The session will end for everyone in the room immediately.
|
|
@@ -8,6 +8,7 @@ import type { ParticipantAccordianData } from '../../hooks-util';
|
|
|
8
8
|
import { ChevronIcon, ThreeDotsIcon } from '../../Icons';
|
|
9
9
|
import { Menu } from '../MenuModal';
|
|
10
10
|
import { ParticipantsGroupOptions } from './ParticipantsGroupOptions';
|
|
11
|
+
import { TestIds } from '../../utils/constants';
|
|
11
12
|
// import type { RootState } from '../../redux';
|
|
12
13
|
// import { isParticipantHostOrBroadcaster } from '../../utils/functions';
|
|
13
14
|
|
|
@@ -74,12 +75,16 @@ const _ParticipantsGroupHeader: React.FC<ParticipantsGroupHeaderProps> = ({
|
|
|
74
75
|
>
|
|
75
76
|
<View style={{ flexDirection: 'row', alignItems: 'center' }}>
|
|
76
77
|
{onBackPress ? (
|
|
77
|
-
<TouchableOpacity
|
|
78
|
+
<TouchableOpacity
|
|
79
|
+
testID={TestIds.participants_group_back_btn}
|
|
80
|
+
style={{ marginRight: 8 }}
|
|
81
|
+
onPress={onBackPress}
|
|
82
|
+
>
|
|
78
83
|
<ChevronIcon direction="left" />
|
|
79
84
|
</TouchableOpacity>
|
|
80
85
|
) : null}
|
|
81
86
|
|
|
82
|
-
<Text style={[styles.label, hmsRoomStyles.label]}>{label}</Text>
|
|
87
|
+
<Text testID={TestIds.participants_group_name} style={[styles.label, hmsRoomStyles.label]}>{label}</Text>
|
|
83
88
|
</View>
|
|
84
89
|
|
|
85
90
|
<View style={styles.controls}>
|
|
@@ -100,6 +105,11 @@ const _ParticipantsGroupHeader: React.FC<ParticipantsGroupHeaderProps> = ({
|
|
|
100
105
|
|
|
101
106
|
{toggleGroupExpand ? (
|
|
102
107
|
<TouchableOpacity
|
|
108
|
+
testID={
|
|
109
|
+
expanded
|
|
110
|
+
? TestIds.participants_group_collapse_btn
|
|
111
|
+
: TestIds.participants_group_expand_btn
|
|
112
|
+
}
|
|
103
113
|
style={[styles.control, expanded ? styles.expandedArrowIcon : null]}
|
|
104
114
|
onPress={toggleGroupExpand}
|
|
105
115
|
>
|
|
@@ -9,6 +9,7 @@ import { HandIcon, NetworkQualityIcon, ThreeDotsIcon } from '../../Icons';
|
|
|
9
9
|
import { Menu } from '../MenuModal';
|
|
10
10
|
import { ParticipantsItemOptions } from './ParticipantsItemOptions';
|
|
11
11
|
import type { RootState } from '../../redux';
|
|
12
|
+
import { TestIds } from '../../utils/constants';
|
|
12
13
|
|
|
13
14
|
interface ParticipantsItemProps {
|
|
14
15
|
groupId: string;
|
|
@@ -51,7 +52,7 @@ const _ParticipantsItem: React.FC<ParticipantsItemProps> = ({
|
|
|
51
52
|
|
|
52
53
|
return (
|
|
53
54
|
<View style={styles.container}>
|
|
54
|
-
<Text style={[styles.label, hmsRoomStyles.label]}>
|
|
55
|
+
<Text testID={TestIds.participant_name} style={[styles.label, hmsRoomStyles.label]}>
|
|
55
56
|
{peer.name}
|
|
56
57
|
{peer.isLocal ? ' (You)' : null}
|
|
57
58
|
</Text>
|
|
@@ -4,6 +4,7 @@ import { StyleSheet, Platform } from 'react-native';
|
|
|
4
4
|
import { useHMSRoomColorPalette, useHMSRoomStyle } from '../../hooks-util';
|
|
5
5
|
import { SearchIcon } from '../../Icons';
|
|
6
6
|
import { HMSTextInput } from '../HMSTextInput';
|
|
7
|
+
import { TestIds } from '../../utils/constants';
|
|
7
8
|
|
|
8
9
|
type ParticipantsSearchInputProps = {
|
|
9
10
|
searchText: string;
|
|
@@ -22,6 +23,7 @@ export const ParticipantsSearchInput: React.FC<
|
|
|
22
23
|
|
|
23
24
|
return (
|
|
24
25
|
<HMSTextInput
|
|
26
|
+
testID={TestIds.search_participant_input}
|
|
25
27
|
value={searchText}
|
|
26
28
|
onChangeText={setSearchText}
|
|
27
29
|
placeholder="Search for participants"
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
LayoutAnimation,
|
|
8
8
|
InteractionManager,
|
|
9
9
|
} from 'react-native';
|
|
10
|
-
import type { StyleProp, TextStyle } from 'react-native';
|
|
10
|
+
import type { StyleProp, TextStyle, TouchableOpacityProps } from 'react-native';
|
|
11
11
|
import { useDispatch, useSelector } from 'react-redux';
|
|
12
12
|
import { HMSTrack } from '@100mslive/react-native-hms';
|
|
13
13
|
|
|
@@ -24,6 +24,7 @@ import {
|
|
|
24
24
|
PersonIcon,
|
|
25
25
|
} from '../Icons';
|
|
26
26
|
import { BottomSheet } from './BottomSheet';
|
|
27
|
+
import { TestIds } from '../utils/constants';
|
|
27
28
|
|
|
28
29
|
interface PeerSettingsModalContentProps {
|
|
29
30
|
peerTrackNode: PeerTrackNode;
|
|
@@ -112,7 +113,10 @@ export const PeerSettingsModalContent: React.FC<
|
|
|
112
113
|
<BottomSheet.Header
|
|
113
114
|
dismissModal={cancelModal}
|
|
114
115
|
heading={peer.name + (peer.isLocal ? ' (You)' : '')}
|
|
116
|
+
headingTestID={TestIds.tile_modal_heading}
|
|
115
117
|
subheading={peer.role?.name}
|
|
118
|
+
subheadingTestID={TestIds.tile_modal_subheading}
|
|
119
|
+
closeIconTestID={TestIds.tile_modal_close_btn}
|
|
116
120
|
/>
|
|
117
121
|
|
|
118
122
|
<BottomSheet.Divider />
|
|
@@ -121,6 +125,7 @@ export const PeerSettingsModalContent: React.FC<
|
|
|
121
125
|
<View style={styles.contentContainer}>
|
|
122
126
|
{peer.isLocal ? (
|
|
123
127
|
<SettingItem
|
|
128
|
+
testID={TestIds.tile_modal_change_name_btn}
|
|
124
129
|
text={'Change Name'}
|
|
125
130
|
icon={<PencilIcon style={styles.customIcon} />}
|
|
126
131
|
onPress={changeName}
|
|
@@ -199,11 +204,13 @@ type SettingItemProps = {
|
|
|
199
204
|
onPress(): void;
|
|
200
205
|
text: string;
|
|
201
206
|
icon: React.ReactElement;
|
|
207
|
+
testID?: TouchableOpacityProps['testID'];
|
|
202
208
|
disabled?: boolean;
|
|
203
209
|
textStyle?: StyleProp<TextStyle>;
|
|
204
210
|
};
|
|
205
211
|
|
|
206
212
|
const SettingItem: React.FC<SettingItemProps> = ({
|
|
213
|
+
testID,
|
|
207
214
|
onPress,
|
|
208
215
|
text,
|
|
209
216
|
icon,
|
|
@@ -217,6 +224,7 @@ const SettingItem: React.FC<SettingItemProps> = ({
|
|
|
217
224
|
|
|
218
225
|
return (
|
|
219
226
|
<TouchableOpacity
|
|
227
|
+
testID={testID}
|
|
220
228
|
disabled={disabled}
|
|
221
229
|
style={[styles.button, disabled ? { opacity: 0.6 } : null]}
|
|
222
230
|
onPress={onPress}
|
|
@@ -5,6 +5,7 @@ import { HMSTrackSource } from '@100mslive/react-native-hms';
|
|
|
5
5
|
import { hexToRgbA } from '../../utils/theme';
|
|
6
6
|
import { NetworkQualityIcon, ScreenShareIcon } from '../../Icons';
|
|
7
7
|
import { useHMSRoomStyleSheet } from '../../hooks-util';
|
|
8
|
+
import { TestIds } from '../../utils/constants';
|
|
8
9
|
|
|
9
10
|
export interface PeerNameAndNetworkProps {
|
|
10
11
|
name: string;
|
|
@@ -43,6 +44,7 @@ export const PeerNameAndNetwork: React.FC<PeerNameAndNetworkProps> = ({
|
|
|
43
44
|
) : null}
|
|
44
45
|
|
|
45
46
|
<Text
|
|
47
|
+
testID={TestIds.tile_user_name}
|
|
46
48
|
style={[styles.name, hmsRoomStyles.name]}
|
|
47
49
|
numberOfLines={1}
|
|
48
50
|
ellipsizeMode={showTrackSource ? 'middle' : 'tail'}
|
|
@@ -53,6 +55,7 @@ export const PeerNameAndNetwork: React.FC<PeerNameAndNetworkProps> = ({
|
|
|
53
55
|
</Text>
|
|
54
56
|
|
|
55
57
|
<NetworkQualityIcon
|
|
58
|
+
testID={TestIds.tile_network_icon}
|
|
56
59
|
quality={networkQuality}
|
|
57
60
|
style={styles.networkIcon}
|
|
58
61
|
/>
|
|
@@ -27,6 +27,7 @@ import {
|
|
|
27
27
|
} from '../../hooks-sdk-selectors';
|
|
28
28
|
import { useHMSRoomStyleSheet } from '../../hooks-util';
|
|
29
29
|
import { HMSFullScreenButton } from './HMSFullScreenButton';
|
|
30
|
+
import { TestIds } from '../../utils/constants';
|
|
30
31
|
|
|
31
32
|
export interface PeerVideoTileViewProps {
|
|
32
33
|
peerTrackNode: PeerTrackNode;
|
|
@@ -207,6 +208,7 @@ export const _PeerVideoTileView = React.forwardRef<
|
|
|
207
208
|
onUnmount={hide}
|
|
208
209
|
>
|
|
209
210
|
<PressableIcon
|
|
211
|
+
testID={TestIds.tile_options}
|
|
210
212
|
activeOpacity={0.7}
|
|
211
213
|
style={[styles.iconWrapper, hmsRoomStyles.iconWrapperStyles]}
|
|
212
214
|
border={false}
|
|
@@ -217,6 +219,7 @@ export const _PeerVideoTileView = React.forwardRef<
|
|
|
217
219
|
</UnmountAfterDelay>
|
|
218
220
|
) : (
|
|
219
221
|
<PressableIcon
|
|
222
|
+
testID={TestIds.tile_options}
|
|
220
223
|
activeOpacity={0.7}
|
|
221
224
|
style={[styles.iconWrapper, hmsRoomStyles.iconWrapperStyles]}
|
|
222
225
|
border={false}
|