@stream-io/video-react-native-sdk 0.8.9 → 0.9.1

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 (76) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/dist/commonjs/components/Call/RingingCallContent/CallLeftIndicator.js +21 -0
  3. package/dist/commonjs/components/Call/RingingCallContent/CallLeftIndicator.js.map +1 -0
  4. package/dist/commonjs/components/Call/RingingCallContent/CallPreparingIndicator.js +21 -0
  5. package/dist/commonjs/components/Call/RingingCallContent/CallPreparingIndicator.js.map +1 -0
  6. package/dist/commonjs/components/Call/RingingCallContent/RingingCallContent.js +15 -8
  7. package/dist/commonjs/components/Call/RingingCallContent/RingingCallContent.js.map +1 -1
  8. package/dist/commonjs/components/Call/RingingCallContent/TextBasedIndicator.js +65 -0
  9. package/dist/commonjs/components/Call/RingingCallContent/TextBasedIndicator.js.map +1 -0
  10. package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js +6 -14
  11. package/dist/commonjs/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
  12. package/dist/commonjs/hooks/useIsInPiPMode.js +9 -8
  13. package/dist/commonjs/hooks/useIsInPiPMode.js.map +1 -1
  14. package/dist/commonjs/theme/theme.js +0 -3
  15. package/dist/commonjs/theme/theme.js.map +1 -1
  16. package/dist/commonjs/translations/en.json +3 -1
  17. package/dist/commonjs/utils/StreamVideoRN/index.js +0 -8
  18. package/dist/commonjs/utils/StreamVideoRN/index.js.map +1 -1
  19. package/dist/commonjs/version.js +1 -1
  20. package/dist/module/components/Call/RingingCallContent/CallLeftIndicator.js +13 -0
  21. package/dist/module/components/Call/RingingCallContent/CallLeftIndicator.js.map +1 -0
  22. package/dist/module/components/Call/RingingCallContent/CallPreparingIndicator.js +13 -0
  23. package/dist/module/components/Call/RingingCallContent/CallPreparingIndicator.js.map +1 -0
  24. package/dist/module/components/Call/RingingCallContent/RingingCallContent.js +15 -8
  25. package/dist/module/components/Call/RingingCallContent/RingingCallContent.js.map +1 -1
  26. package/dist/module/components/Call/RingingCallContent/TextBasedIndicator.js +57 -0
  27. package/dist/module/components/Call/RingingCallContent/TextBasedIndicator.js.map +1 -0
  28. package/dist/module/hooks/useAndroidKeepCallAliveEffect.js +6 -14
  29. package/dist/module/hooks/useAndroidKeepCallAliveEffect.js.map +1 -1
  30. package/dist/module/hooks/useIsInPiPMode.js +9 -8
  31. package/dist/module/hooks/useIsInPiPMode.js.map +1 -1
  32. package/dist/module/theme/theme.js +0 -3
  33. package/dist/module/theme/theme.js.map +1 -1
  34. package/dist/module/translations/en.json +3 -1
  35. package/dist/module/utils/StreamVideoRN/index.js +0 -8
  36. package/dist/module/utils/StreamVideoRN/index.js.map +1 -1
  37. package/dist/module/version.js +1 -1
  38. package/dist/typescript/components/Call/RingingCallContent/CallLeftIndicator.d.ts +5 -0
  39. package/dist/typescript/components/Call/RingingCallContent/CallLeftIndicator.d.ts.map +1 -0
  40. package/dist/typescript/components/Call/RingingCallContent/CallPreparingIndicator.d.ts +5 -0
  41. package/dist/typescript/components/Call/RingingCallContent/CallPreparingIndicator.d.ts.map +1 -0
  42. package/dist/typescript/components/Call/RingingCallContent/RingingCallContent.d.ts +13 -2
  43. package/dist/typescript/components/Call/RingingCallContent/RingingCallContent.d.ts.map +1 -1
  44. package/dist/typescript/components/Call/RingingCallContent/TextBasedIndicator.d.ts +7 -0
  45. package/dist/typescript/components/Call/RingingCallContent/TextBasedIndicator.d.ts.map +1 -0
  46. package/dist/typescript/hooks/useAndroidKeepCallAliveEffect.d.ts.map +1 -1
  47. package/dist/typescript/hooks/useIsInPiPMode.d.ts.map +1 -1
  48. package/dist/typescript/theme/theme.d.ts +0 -3
  49. package/dist/typescript/theme/theme.d.ts.map +1 -1
  50. package/dist/typescript/translations/index.d.ts +2 -0
  51. package/dist/typescript/translations/index.d.ts.map +1 -1
  52. package/dist/typescript/utils/StreamVideoRN/index.d.ts.map +1 -1
  53. package/dist/typescript/utils/StreamVideoRN/types.d.ts +3 -5
  54. package/dist/typescript/utils/StreamVideoRN/types.d.ts.map +1 -1
  55. package/dist/typescript/version.d.ts +1 -1
  56. package/expo-config-plugin/dist/withAndroidManifest.js +5 -6
  57. package/expo-config-plugin/dist/withAndroidPermissions.js +1 -1
  58. package/package.json +2 -2
  59. package/src/components/Call/RingingCallContent/CallLeftIndicator.tsx +21 -0
  60. package/src/components/Call/RingingCallContent/CallPreparingIndicator.tsx +21 -0
  61. package/src/components/Call/RingingCallContent/RingingCallContent.tsx +34 -10
  62. package/src/components/Call/RingingCallContent/TextBasedIndicator.tsx +69 -0
  63. package/src/hooks/useAndroidKeepCallAliveEffect.ts +7 -14
  64. package/src/hooks/useIsInPiPMode.tsx +15 -10
  65. package/src/theme/theme.ts +0 -4
  66. package/src/translations/en.json +3 -1
  67. package/src/utils/StreamVideoRN/index.ts +0 -8
  68. package/src/utils/StreamVideoRN/types.ts +3 -5
  69. package/src/version.ts +1 -1
  70. package/dist/commonjs/components/Call/RingingCallContent/JoiningCallIndicator.js +0 -33
  71. package/dist/commonjs/components/Call/RingingCallContent/JoiningCallIndicator.js.map +0 -1
  72. package/dist/module/components/Call/RingingCallContent/JoiningCallIndicator.js +0 -25
  73. package/dist/module/components/Call/RingingCallContent/JoiningCallIndicator.js.map +0 -1
  74. package/dist/typescript/components/Call/RingingCallContent/JoiningCallIndicator.d.ts +0 -3
  75. package/dist/typescript/components/Call/RingingCallContent/JoiningCallIndicator.d.ts.map +0 -1
  76. package/src/components/Call/RingingCallContent/JoiningCallIndicator.tsx +0 -26
@@ -0,0 +1,21 @@
1
+ import { useI18n } from '@stream-io/video-react-bindings';
2
+ import React from 'react';
3
+ import {
4
+ TextBasedIndicator,
5
+ TextBasedIndicatorProps,
6
+ } from './TextBasedIndicator';
7
+
8
+ export type CallPreparingIndicatorProps = Pick<
9
+ TextBasedIndicatorProps,
10
+ 'onBackPress'
11
+ >;
12
+
13
+ export const CallPreparingIndicator = (props: CallPreparingIndicatorProps) => {
14
+ const { t } = useI18n();
15
+ return (
16
+ <TextBasedIndicator
17
+ text={t('Preparing call')}
18
+ onBackPress={props.onBackPress}
19
+ />
20
+ );
21
+ };
@@ -15,7 +15,14 @@ import {
15
15
  OutgoingCall as DefaultOutgoingCall,
16
16
  OutgoingCallProps,
17
17
  } from './OutgoingCall';
18
- import { JoiningCallIndicator as DefaultJoiningCallIndicator } from './JoiningCallIndicator';
18
+ import {
19
+ CallLeftIndicator as DefaultCallLeftIndicator,
20
+ CallLeftIndicatorProps,
21
+ } from './CallLeftIndicator';
22
+ import {
23
+ CallPreparingIndicator as DefaultCallPreparingIndicator,
24
+ CallPreparingIndicatorProps,
25
+ } from './CallPreparingIndicator';
19
26
  import { useTheme } from '../../../contexts';
20
27
 
21
28
  /**
@@ -39,23 +46,34 @@ export type RingingCallContentProps = {
39
46
  */
40
47
  CallTopView?: React.ComponentType<CallTopViewProps> | null;
41
48
  /**
42
- * Prop to customize the JoiningCallIndicator component in the RingingCallContent. It is shown when the call is accepted and is waiting to be joined.
49
+ * Prop to override the component shown when the call is left.
50
+ */
51
+ CallLeftIndicator?: React.ComponentType<CallLeftIndicatorProps> | null;
52
+ /**
53
+ * Prop to override the component shown when the call is in idle state.
43
54
  */
44
- JoiningCallIndicator?: React.ComponentType | null;
55
+ CallPreparingIndicator?: React.ComponentType<CallPreparingIndicatorProps> | null;
45
56
  /**
46
57
  * Check if device is in landscape mode.
47
58
  * This will apply the landscape mode styles to the component.
48
59
  */
49
60
  landscape?: boolean;
61
+ /**
62
+ * Callback to handle the back icon press event
63
+ * in CallLeftIndicator and CallPreparingIndicator components.
64
+ */
65
+ onBackPress?: () => void;
50
66
  };
51
67
 
52
68
  const RingingCallPanel = ({
53
69
  IncomingCall = DefaultIncomingCall,
54
70
  OutgoingCall = DefaultOutgoingCall,
55
71
  CallContent = DefaultCallContent,
56
- JoiningCallIndicator = DefaultJoiningCallIndicator,
57
72
  CallTopView,
58
- landscape = false,
73
+ CallLeftIndicator = DefaultCallLeftIndicator,
74
+ CallPreparingIndicator = DefaultCallPreparingIndicator,
75
+ landscape,
76
+ onBackPress,
59
77
  }: RingingCallContentProps) => {
60
78
  const call = useCall();
61
79
  const isCallCreatedByMe = call?.isCreatedByMe;
@@ -72,16 +90,22 @@ const RingingCallPanel = ({
72
90
  : IncomingCall && (
73
91
  <IncomingCall CallTopView={CallTopView} landscape={landscape} />
74
92
  );
75
- case CallingState.JOINED:
93
+ case CallingState.LEFT:
94
+ return (
95
+ CallLeftIndicator && <CallLeftIndicator onBackPress={onBackPress} />
96
+ );
97
+ case CallingState.IDLE:
98
+ return (
99
+ CallPreparingIndicator && (
100
+ <CallPreparingIndicator onBackPress={onBackPress} />
101
+ )
102
+ );
103
+ default:
76
104
  return (
77
105
  CallContent && (
78
106
  <CallContent CallTopView={CallTopView} landscape={landscape} />
79
107
  )
80
108
  );
81
- case CallingState.JOINING:
82
- return JoiningCallIndicator && <JoiningCallIndicator />;
83
- default:
84
- return null;
85
109
  }
86
110
  };
87
111
 
@@ -0,0 +1,69 @@
1
+ import React from 'react';
2
+ import { StyleSheet, View, Text, Pressable } from 'react-native';
3
+ import { useTheme } from '../../../contexts/ThemeContext';
4
+ import { Back } from '../../../icons/Back';
5
+
6
+ export type TextBasedIndicatorProps = {
7
+ text: string;
8
+ onBackPress?: () => void;
9
+ };
10
+
11
+ export const TextBasedIndicator = (props: TextBasedIndicatorProps) => {
12
+ const {
13
+ theme: {
14
+ colors,
15
+ typefaces,
16
+ variants: { iconSizes },
17
+ },
18
+ } = useTheme();
19
+
20
+ return (
21
+ <View style={[styles.container, { backgroundColor: colors.static_grey }]}>
22
+ {props.onBackPress && (
23
+ <View style={styles.backContainer}>
24
+ <Pressable
25
+ onPress={props.onBackPress}
26
+ style={({ pressed }) => [
27
+ {
28
+ opacity: pressed ? 0.2 : 1,
29
+ height: iconSizes.md,
30
+ width: iconSizes.md,
31
+ },
32
+ ]}
33
+ >
34
+ <Back color={colors.static_white} />
35
+ </Pressable>
36
+ </View>
37
+ )}
38
+ <View style={styles.textContainer}>
39
+ <Text
40
+ style={[
41
+ styles.text,
42
+ { color: colors.static_white },
43
+ typefaces.heading6,
44
+ ]}
45
+ >
46
+ {props.text}
47
+ </Text>
48
+ </View>
49
+ </View>
50
+ );
51
+ };
52
+
53
+ const styles = StyleSheet.create({
54
+ container: {
55
+ flex: 1,
56
+ },
57
+ backContainer: {
58
+ padding: 8,
59
+ paddingTop: 16,
60
+ },
61
+ textContainer: {
62
+ flex: 1,
63
+ justifyContent: 'center',
64
+ alignItems: 'center',
65
+ },
66
+ text: {
67
+ fontSize: 24,
68
+ },
69
+ });
@@ -5,10 +5,10 @@ import { StreamVideoRN } from '../utils';
5
5
  import { Platform } from 'react-native';
6
6
  import { CallingState, getLogger } from '@stream-io/video-client';
7
7
 
8
+ const isAndroid7OrBelow = Platform.OS === 'android' && Platform.Version < 26;
9
+
8
10
  function setForegroundService() {
9
- if (Platform.OS !== 'android') {
10
- return;
11
- }
11
+ if (!isAndroid7OrBelow) return;
12
12
  notifee.registerForegroundService(() => {
13
13
  return new Promise(() => {
14
14
  const logger = getLogger(['setForegroundService method']);
@@ -18,12 +18,9 @@ function setForegroundService() {
18
18
  }
19
19
 
20
20
  async function startForegroundService(call_cid: string) {
21
- if (Platform.OS !== 'android') {
22
- return;
23
- }
21
+ if (!isAndroid7OrBelow) return;
24
22
  const foregroundServiceConfig = StreamVideoRN.getConfig().foregroundService;
25
23
  const { title, body } = foregroundServiceConfig.android.notificationTexts;
26
- const channelId = foregroundServiceConfig.android.channel.id;
27
24
 
28
25
  // request for notification permission and then start the foreground service
29
26
  const settings = await notifee.getNotificationSettings();
@@ -35,13 +32,11 @@ async function startForegroundService(call_cid: string) {
35
32
  );
36
33
  return;
37
34
  }
38
- await notifee.createChannel(foregroundServiceConfig.android.channel);
39
35
  await notifee.displayNotification({
40
36
  id: call_cid,
41
37
  title,
42
38
  body,
43
39
  android: {
44
- channelId,
45
40
  asForegroundService: true,
46
41
  ongoing: true, // user cannot dismiss the notification
47
42
  colorized: true,
@@ -54,9 +49,7 @@ async function startForegroundService(call_cid: string) {
54
49
  }
55
50
 
56
51
  async function stopForegroundService() {
57
- if (Platform.OS !== 'android') {
58
- return;
59
- }
52
+ if (!isAndroid7OrBelow) return;
60
53
  await notifee.stopForegroundService();
61
54
  }
62
55
 
@@ -70,7 +63,7 @@ let isSetForegroundServiceRan = false;
70
63
  * Additonally: also responsible for cancelling any notifee displayed notification when the call has transitioned out of ringing
71
64
  */
72
65
  export const useAndroidKeepCallAliveEffect = () => {
73
- if (!isSetForegroundServiceRan && Platform.OS === 'android') {
66
+ if (!isSetForegroundServiceRan && isAndroid7OrBelow) {
74
67
  isSetForegroundServiceRan = true;
75
68
  setForegroundService();
76
69
  }
@@ -81,7 +74,7 @@ export const useAndroidKeepCallAliveEffect = () => {
81
74
  const callingState = useCallCallingState();
82
75
 
83
76
  useEffect((): (() => void) | undefined => {
84
- if (Platform.OS !== 'android' || !activeCallCid) {
77
+ if (!isAndroid7OrBelow || !activeCallCid) {
85
78
  return;
86
79
  }
87
80
 
@@ -8,11 +8,15 @@ import {
8
8
 
9
9
  const PIP_CHANGE_EVENT = 'StreamVideoReactNative_PIP_CHANGE_EVENT';
10
10
 
11
+ const isAndroid8OrAbove = Platform.OS === 'android' && Platform.Version >= 26;
12
+
11
13
  export function useIsInPiPMode() {
12
- const [isInPiPMode, setIsInPiPMode] = useState(false);
14
+ const [isInPiPMode, setIsInPiPMode] = useState(
15
+ isAndroid8OrAbove && AppState.currentState === 'background'
16
+ );
13
17
 
14
18
  useEffect(() => {
15
- if (Platform.OS !== 'android') {
19
+ if (!isAndroid8OrAbove) {
16
20
  return;
17
21
  }
18
22
 
@@ -25,6 +29,12 @@ export function useIsInPiPMode() {
25
29
  setIsInPiPMode
26
30
  );
27
31
 
32
+ const setFromNativeMethod = async () => {
33
+ const isInPiPNativeMethod: boolean | null | undefined =
34
+ await NativeModules?.StreamVideoReactNative?.isInPiPMode();
35
+ setIsInPiPMode(!!isInPiPNativeMethod);
36
+ };
37
+
28
38
  const subscriptionAppState = AppState.addEventListener(
29
39
  'change',
30
40
  (nextAppState) => {
@@ -32,17 +42,12 @@ export function useIsInPiPMode() {
32
42
  setIsInPiPMode(true); // set with an assumption that its enabled so that UI disabling happens faster
33
43
  // if PiP was not enabled anyway, then in the next code we ll set it to false and UI wont be shown anyway
34
44
  }
35
- // attempt to take the value as soon as app state is changed
36
- // this can be faster than event emitter at times
37
- // also in new arch this can be made a synchronous method
38
- NativeModules?.StreamVideoReactNative?.isInPiPMode().then(
39
- (isInPiPNativeMethod: boolean | null | undefined) => {
40
- setIsInPiPMode(!!isInPiPNativeMethod);
41
- }
42
- );
45
+ setFromNativeMethod();
43
46
  }
44
47
  );
45
48
 
49
+ setFromNativeMethod();
50
+
46
51
  return () => {
47
52
  subscriptionPiPChange.remove();
48
53
  subscriptionAppState.remove();
@@ -160,9 +160,6 @@ export type Theme = {
160
160
  bottomContainer: ViewStyle;
161
161
  buttonGroup: ViewStyle;
162
162
  };
163
- joiningCallIndicator: {
164
- container: ViewStyle;
165
- };
166
163
  outgoingCall: {
167
164
  container: ViewStyle;
168
165
  background: ViewStyle;
@@ -486,7 +483,6 @@ export const defaultTheme: Theme = {
486
483
  deviceControlButtons: {},
487
484
  },
488
485
  ringingCallContent: { container: {} },
489
- joiningCallIndicator: { container: {} },
490
486
  callTopView: {
491
487
  container: {},
492
488
  content: {},
@@ -21,5 +21,7 @@
21
21
  "{{ userName }} is sharing their screen": "{{ userName }} is sharing their screen",
22
22
  "You are sharing your screen": "You are sharing your screen",
23
23
  "{{ numberOfParticipants }} participant(s) are in the call.": "{{ numberOfParticipants }} participant(s) are in the call.",
24
- "You are about to join a call with id {{ callId }}.": "You are about to join a call with id {{ callId }}."
24
+ "You are about to join a call with id {{ callId }}.": "You are about to join a call with id {{ callId }}.",
25
+ "Preparing call": "Preparing call",
26
+ "You have left the call": "You have left the call"
25
27
  }
@@ -1,4 +1,3 @@
1
- import { AndroidImportance } from '@notifee/react-native';
2
1
  import { setupFirebaseHandlerAndroid } from '../push/android';
3
2
  import { StreamVideoConfig } from './types';
4
3
  import pushLogoutCallbacks from '../internal/pushLogoutCallback';
@@ -10,13 +9,6 @@ import newNotificationCallbacks, {
10
9
  const DEFAULT_STREAM_VIDEO_CONFIG: StreamVideoConfig = {
11
10
  foregroundService: {
12
11
  android: {
13
- channel: {
14
- id: 'stream_call_foreground_service',
15
- name: 'Notification Service to keep call alive',
16
- lights: false,
17
- vibration: false,
18
- importance: AndroidImportance.DEFAULT,
19
- },
20
12
  notificationTexts: {
21
13
  title: 'Call in progress',
22
14
  body: 'Tap to return to the call',
@@ -113,11 +113,9 @@ export type StreamVideoConfig = {
113
113
  foregroundService: {
114
114
  android: {
115
115
  /**
116
- * The notification channel to keep call alive in the background for Android using a foreground service.
117
- */
118
- channel: AndroidChannel;
119
- /**
120
- * The texts shown in the notification to keep call alive in the background for Android using a foreground service.
116
+ * The texts shown in the notification to keep call alive in the background
117
+ * for Android 24 and 25 platforms using a foreground service.
118
+ * On Android 26 and above, Picture in Picture mode is used to keep the call alive.
121
119
  */
122
120
  notificationTexts: {
123
121
  title: string;
package/src/version.ts CHANGED
@@ -1 +1 @@
1
- export const version = '0.8.9';
1
+ export const version = '0.9.1';
@@ -1,33 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.JoiningCallIndicator = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _reactNative = require("react-native");
9
- var _contexts = require("../../../contexts");
10
- function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
11
- const JoiningCallIndicator = () => {
12
- const {
13
- theme: {
14
- colors,
15
- joiningCallIndicator
16
- }
17
- } = (0, _contexts.useTheme)();
18
- return /*#__PURE__*/_react.default.createElement(_reactNative.SafeAreaView, {
19
- style: [styles.container, {
20
- backgroundColor: colors.static_grey
21
- }, joiningCallIndicator.container]
22
- }, /*#__PURE__*/_react.default.createElement(_reactNative.ActivityIndicator, {
23
- size: 'large',
24
- style: _reactNative.StyleSheet.absoluteFill
25
- }));
26
- };
27
- exports.JoiningCallIndicator = JoiningCallIndicator;
28
- const styles = _reactNative.StyleSheet.create({
29
- container: {
30
- flex: 1
31
- }
32
- });
33
- //# sourceMappingURL=JoiningCallIndicator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_reactNative","_contexts","e","__esModule","default","JoiningCallIndicator","theme","colors","joiningCallIndicator","useTheme","createElement","SafeAreaView","style","styles","container","backgroundColor","static_grey","ActivityIndicator","size","StyleSheet","absoluteFill","exports","create","flex"],"sourceRoot":"../../../../../src","sources":["components/Call/RingingCallContent/JoiningCallIndicator.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AAA6C,SAAAD,uBAAAI,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AAEtC,MAAMG,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAM;IACJC,KAAK,EAAE;MAAEC,MAAM;MAAEC;IAAqB;EACxC,CAAC,GAAG,IAAAC,kBAAQ,EAAC,CAAC;EACd,oBACEZ,MAAA,CAAAO,OAAA,CAAAM,aAAA,CAACV,YAAA,CAAAW,YAAY;IACXC,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChB;MAAEC,eAAe,EAAER,MAAM,CAACS;IAAY,CAAC,EACvCR,oBAAoB,CAACM,SAAS;EAC9B,gBAEFjB,MAAA,CAAAO,OAAA,CAAAM,aAAA,CAACV,YAAA,CAAAiB,iBAAiB;IAACC,IAAI,EAAE,OAAQ;IAACN,KAAK,EAAEO,uBAAU,CAACC;EAAa,CAAE,CACvD,CAAC;AAEnB,CAAC;AAACC,OAAA,CAAAhB,oBAAA,GAAAA,oBAAA;AAEF,MAAMQ,MAAM,GAAGM,uBAAU,CAACG,MAAM,CAAC;EAC/BR,SAAS,EAAE;IACTS,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,25 +0,0 @@
1
- import React from 'react';
2
- import { ActivityIndicator, SafeAreaView, StyleSheet } from 'react-native';
3
- import { useTheme } from '../../../contexts';
4
- export const JoiningCallIndicator = () => {
5
- const {
6
- theme: {
7
- colors,
8
- joiningCallIndicator
9
- }
10
- } = useTheme();
11
- return /*#__PURE__*/React.createElement(SafeAreaView, {
12
- style: [styles.container, {
13
- backgroundColor: colors.static_grey
14
- }, joiningCallIndicator.container]
15
- }, /*#__PURE__*/React.createElement(ActivityIndicator, {
16
- size: 'large',
17
- style: StyleSheet.absoluteFill
18
- }));
19
- };
20
- const styles = StyleSheet.create({
21
- container: {
22
- flex: 1
23
- }
24
- });
25
- //# sourceMappingURL=JoiningCallIndicator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["React","ActivityIndicator","SafeAreaView","StyleSheet","useTheme","JoiningCallIndicator","theme","colors","joiningCallIndicator","createElement","style","styles","container","backgroundColor","static_grey","size","absoluteFill","create","flex"],"sourceRoot":"../../../../../src","sources":["components/Call/RingingCallContent/JoiningCallIndicator.tsx"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,iBAAiB,EAAEC,YAAY,EAAEC,UAAU,QAAQ,cAAc;AAC1E,SAASC,QAAQ,QAAQ,mBAAmB;AAE5C,OAAO,MAAMC,oBAAoB,GAAGA,CAAA,KAAM;EACxC,MAAM;IACJC,KAAK,EAAE;MAAEC,MAAM;MAAEC;IAAqB;EACxC,CAAC,GAAGJ,QAAQ,CAAC,CAAC;EACd,oBACEJ,KAAA,CAAAS,aAAA,CAACP,YAAY;IACXQ,KAAK,EAAE,CACLC,MAAM,CAACC,SAAS,EAChB;MAAEC,eAAe,EAAEN,MAAM,CAACO;IAAY,CAAC,EACvCN,oBAAoB,CAACI,SAAS;EAC9B,gBAEFZ,KAAA,CAAAS,aAAA,CAACR,iBAAiB;IAACc,IAAI,EAAE,OAAQ;IAACL,KAAK,EAAEP,UAAU,CAACa;EAAa,CAAE,CACvD,CAAC;AAEnB,CAAC;AAED,MAAML,MAAM,GAAGR,UAAU,CAACc,MAAM,CAAC;EAC/BL,SAAS,EAAE;IACTM,IAAI,EAAE;EACR;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,3 +0,0 @@
1
- import React from 'react';
2
- export declare const JoiningCallIndicator: () => React.JSX.Element;
3
- //# sourceMappingURL=JoiningCallIndicator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"JoiningCallIndicator.d.ts","sourceRoot":"","sources":["../../../../../src/components/Call/RingingCallContent/JoiningCallIndicator.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,eAAO,MAAM,oBAAoB,yBAehC,CAAC"}
@@ -1,26 +0,0 @@
1
- import React from 'react';
2
- import { ActivityIndicator, SafeAreaView, StyleSheet } from 'react-native';
3
- import { useTheme } from '../../../contexts';
4
-
5
- export const JoiningCallIndicator = () => {
6
- const {
7
- theme: { colors, joiningCallIndicator },
8
- } = useTheme();
9
- return (
10
- <SafeAreaView
11
- style={[
12
- styles.container,
13
- { backgroundColor: colors.static_grey },
14
- joiningCallIndicator.container,
15
- ]}
16
- >
17
- <ActivityIndicator size={'large'} style={StyleSheet.absoluteFill} />
18
- </SafeAreaView>
19
- );
20
- };
21
-
22
- const styles = StyleSheet.create({
23
- container: {
24
- flex: 1,
25
- },
26
- });