@abihealth/goapp-react-native 1.30.0 → 1.30.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## [1.30.1](https://github.com/abiglobalhealth/react-native-sdk/compare/goapp-react-native-v1.30.0...goapp-react-native-v1.30.1) (2025-05-20)
4
+
5
+
6
+ ### Bug Fixes
7
+
8
+ * answer screen ui improvements ([#199](https://github.com/abiglobalhealth/react-native-sdk/issues/199)) ([e54d6ae](https://github.com/abiglobalhealth/react-native-sdk/commit/e54d6aeb507be33721201d19ac529367d5c1bacb))
9
+ * video call screen ui improvements ([#198](https://github.com/abiglobalhealth/react-native-sdk/issues/198)) ([363bd67](https://github.com/abiglobalhealth/react-native-sdk/commit/363bd6765f5107caa0ee6fb686386f5f8277dc13))
10
+
3
11
  ## [1.30.0](https://github.com/abiglobalhealth/react-native-sdk/compare/goapp-react-native-v1.29.0...goapp-react-native-v1.30.0) (2025-05-14)
4
12
 
5
13
 
@@ -71,16 +71,19 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
71
71
  Object.defineProperty(exports, "__esModule", { value: true });
72
72
  exports.CloseConsultationActionSheet = void 0;
73
73
  var useConsultation_1 = require("../../hooks/useConsultation");
74
+ var useCustomComponents_1 = require("../../hooks/useCustomComponents");
74
75
  var useTranslation_1 = require("../../hooks/useTranslation");
75
76
  var react_1 = __importStar(require("react"));
76
77
  var ActionSheet_1 = require("../ActionSheet");
77
78
  var Button_1 = require("../Button");
78
79
  var CloseConsultationModal_1 = require("../modals/CloseConsultationModal");
79
80
  var CloseConsultationActionSheet = function () {
81
+ var _a;
80
82
  var t = (0, useTranslation_1.useTranslation)().t;
83
+ var screens = (0, useCustomComponents_1.useCustomComponents)().screens;
81
84
  var close = (0, useConsultation_1.useConsultation)().close;
82
- var _a = (0, react_1.useState)(false), loading = _a[0], setLoading = _a[1];
83
- var _b = (0, react_1.useState)(false), showModal = _b[0], setShowModal = _b[1];
85
+ var _b = (0, react_1.useState)(false), loading = _b[0], setLoading = _b[1];
86
+ var _c = (0, react_1.useState)(false), showModal = _c[0], setShowModal = _c[1];
84
87
  var handleCloseConsultation = function () { return __awaiter(void 0, void 0, void 0, function () {
85
88
  return __generator(this, function (_a) {
86
89
  switch (_a.label) {
@@ -99,7 +102,7 @@ var CloseConsultationActionSheet = function () {
99
102
  });
100
103
  }); };
101
104
  return (<>
102
- <ActionSheet_1.ActionSheet height={85} mode="up">
105
+ <ActionSheet_1.ActionSheet height={85} mode="up" style={(_a = screens === null || screens === void 0 ? void 0 : screens.AnswerScreen) === null || _a === void 0 ? void 0 : _a.closeConsultationContainerStyle}>
103
106
  <Button_1.Button onPress={function () { return setShowModal(true); }}>{t('button.close_consultation')}</Button_1.Button>
104
107
  </ActionSheet_1.ActionSheet>
105
108
 
@@ -20,7 +20,7 @@ var PrescriptionCard = function (_a) {
20
20
  var theme = (0, useTheme_1.useTheme)();
21
21
  var styles = getStyles(theme);
22
22
  var screens = (0, useCustomComponents_1.useCustomComponents)().screens;
23
- var medication = [prescription.data.medication, prescription.data.quantity].join(', ');
23
+ var medication = [prescription.data.medication, prescription.data.unit].join(', ');
24
24
  return (<Card_1.Card type="prescription" style={[styles.container, (_c = (_b = screens === null || screens === void 0 ? void 0 : screens.AnswerScreen) === null || _b === void 0 ? void 0 : _b.prescriptionCard) === null || _c === void 0 ? void 0 : _c.containerStyle]}>
25
25
  {((_e = (_d = screens === null || screens === void 0 ? void 0 : screens.AnswerScreen) === null || _d === void 0 ? void 0 : _d.prescriptionCard) === null || _e === void 0 ? void 0 : _e.customComponent) ? (<screens.AnswerScreen.prescriptionCard.customComponent prescription={prescription}/>) : (<react_native_1.View style={styles.innerContainer}>
26
26
  <react_native_1.View style={styles.header}>
@@ -31,7 +31,7 @@ var PrescriptionCard = function (_a) {
31
31
  <Text_1.Text>{medication}</Text_1.Text>
32
32
  </react_native_1.View>)}
33
33
 
34
- <DeliveryAddressCard_1.DeliveryAddressCard deliveryAddress={prescription.deliveryAddress}/>
34
+ <DeliveryAddressCard_1.DeliveryAddressCard deliveryAddress={prescription.data.delivery.address}/>
35
35
  </Card_1.Card>);
36
36
  };
37
37
  exports.PrescriptionCard = PrescriptionCard;
@@ -10,14 +10,14 @@ var RatingScreen_1 = require("./RatingScreen");
10
10
  var getCommonScreen = function (consultation, eventHandlers) {
11
11
  if (!consultation)
12
12
  return null;
13
- var status = consultation.status, professional = consultation.professional, questions = consultation.questions;
13
+ var status = consultation.status, professional = consultation.professional, questions = consultation.questions, prescription = consultation.prescription;
14
14
  switch (status) {
15
15
  case consultation_1.CONSULTATION_STATUS.OPEN:
16
16
  if (professional)
17
17
  return <MatchScreen_1.MatchScreen professional={professional}/>;
18
18
  return <MatchingScreen_1.MatchingScreen />;
19
19
  case consultation_1.CONSULTATION_STATUS.RESOLVED:
20
- return <AnswerScreen_1.AnswerScreen questions={questions} professional={professional}/>;
20
+ return <AnswerScreen_1.AnswerScreen questions={questions} professional={professional} prescription={prescription}/>;
21
21
  case consultation_1.CONSULTATION_STATUS.CLOSED:
22
22
  return <RatingScreen_1.RatingScreen onConsultationEnded={eventHandlers === null || eventHandlers === void 0 ? void 0 : eventHandlers.onConsultationEnded}/>;
23
23
  case consultation_1.CONSULTATION_STATUS.CANCELED:
@@ -78,6 +78,7 @@ export type Components = {
78
78
  containerStyle?: ViewStyle;
79
79
  iconStyle?: CustomIconStyle;
80
80
  };
81
+ videoContainerStyle?: ViewStyle;
81
82
  EndCallButton?: {
82
83
  containerStyle?: ViewStyle;
83
84
  iconStyle?: CustomIconStyle;
@@ -119,6 +120,7 @@ export type Components = {
119
120
  loading: boolean;
120
121
  }) => ReactElement;
121
122
  };
123
+ closeConsultationContainerStyle?: ViewStyle;
122
124
  };
123
125
  PrescriptionHomeScreen?: {
124
126
  indicationCategoryAccordion?: {
@@ -1,11 +1,4 @@
1
1
  import { HKDeliveryAddress } from './deliveryAddress';
2
- export interface Pharmacy {
3
- id: string;
4
- name: string;
5
- address: string;
6
- onlineDelivery: boolean;
7
- phone: string;
8
- }
9
2
  export declare enum PRESCRIPTION_STATUS {
10
3
  WAITING_FOR_FULFILLMENT = "waitingForFulfillment",
11
4
  ADDRESS_REJECTED = "addressRejected",
@@ -15,15 +8,6 @@ export declare enum PRESCRIPTION_STATUS {
15
8
  RESOLVED = "resolved",
16
9
  ERROR = "error"
17
10
  }
18
- export type PrescriptionPayment = {
19
- url: string;
20
- };
21
- export declare enum PRESCRIPTION_FULFILLMENT_OPTION {
22
- DELIVERY = "delivery",
23
- COLLECT = "collect",
24
- USER_ADDRESS = "userAddress",
25
- PDF = "pdf"
26
- }
27
11
  export declare enum PRESCRIPTION_INTEGRATION {
28
12
  HEALTHMAIL = "healthmail",
29
13
  HEALTHMAIL_ILH = "healthmail-ilh",
@@ -34,19 +18,27 @@ export declare enum PRESCRIPTION_INTEGRATION {
34
18
  SIGNATURERX = "signaturerx",
35
19
  DEFAULT = "default"
36
20
  }
37
- export type Prescription = {
38
- isRefused: boolean;
21
+ export interface Status {
22
+ message: string;
39
23
  status: PRESCRIPTION_STATUS;
40
- data?: {
41
- duration: string;
42
- instructions: string;
43
- quantity: string;
44
- medication: string;
45
- frequency: string;
46
- };
47
- pharmacy?: Pharmacy;
48
- deliveryAddress?: HKDeliveryAddress;
49
- fulfillmentOptions?: PRESCRIPTION_FULFILLMENT_OPTION[];
50
- payment?: PrescriptionPayment;
51
- integration?: PRESCRIPTION_INTEGRATION;
52
- };
24
+ }
25
+ export interface Delivery {
26
+ address: HKDeliveryAddress;
27
+ }
28
+ export interface Data {
29
+ delivery: Delivery;
30
+ drugId: number;
31
+ dsi: string;
32
+ duration: string;
33
+ frequency: string;
34
+ integration: string;
35
+ medication: string;
36
+ remarks: string;
37
+ unit: string;
38
+ }
39
+ export interface Prescription {
40
+ integration: PRESCRIPTION_INTEGRATION;
41
+ createdAt: string;
42
+ data: Data;
43
+ status: Status;
44
+ }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PRESCRIPTION_INTEGRATION = exports.PRESCRIPTION_FULFILLMENT_OPTION = exports.PRESCRIPTION_STATUS = void 0;
3
+ exports.PRESCRIPTION_INTEGRATION = exports.PRESCRIPTION_STATUS = void 0;
4
4
  var PRESCRIPTION_STATUS;
5
5
  (function (PRESCRIPTION_STATUS) {
6
6
  PRESCRIPTION_STATUS["WAITING_FOR_FULFILLMENT"] = "waitingForFulfillment";
@@ -11,13 +11,6 @@ var PRESCRIPTION_STATUS;
11
11
  PRESCRIPTION_STATUS["RESOLVED"] = "resolved";
12
12
  PRESCRIPTION_STATUS["ERROR"] = "error";
13
13
  })(PRESCRIPTION_STATUS || (exports.PRESCRIPTION_STATUS = PRESCRIPTION_STATUS = {}));
14
- var PRESCRIPTION_FULFILLMENT_OPTION;
15
- (function (PRESCRIPTION_FULFILLMENT_OPTION) {
16
- PRESCRIPTION_FULFILLMENT_OPTION["DELIVERY"] = "delivery";
17
- PRESCRIPTION_FULFILLMENT_OPTION["COLLECT"] = "collect";
18
- PRESCRIPTION_FULFILLMENT_OPTION["USER_ADDRESS"] = "userAddress";
19
- PRESCRIPTION_FULFILLMENT_OPTION["PDF"] = "pdf";
20
- })(PRESCRIPTION_FULFILLMENT_OPTION || (exports.PRESCRIPTION_FULFILLMENT_OPTION = PRESCRIPTION_FULFILLMENT_OPTION = {}));
21
14
  var PRESCRIPTION_INTEGRATION;
22
15
  (function (PRESCRIPTION_INTEGRATION) {
23
16
  PRESCRIPTION_INTEGRATION["HEALTHMAIL"] = "healthmail";
@@ -13,8 +13,8 @@ var BackArrowIcon_1 = require("../../common/icons/BackArrowIcon");
13
13
  var CloseIcon_1 = require("../../common/icons/CloseIcon");
14
14
  var i18n_1 = __importDefault(require("../../common/locale/i18n"));
15
15
  var QuestionnaireLoader_1 = require("../components/loaders/QuestionnaireLoader");
16
- var QuestionnaireHeader_1 = require("../components/Questionnaire/QuestionnaireHeader");
17
16
  var QuestionnaireQuestion_1 = require("../components/Questionnaire/question/QuestionnaireQuestion");
17
+ var QuestionnaireHeader_1 = require("../components/Questionnaire/QuestionnaireHeader");
18
18
  var useIndicationSurvey_1 = require("../hooks/useIndicationSurvey");
19
19
  var react_1 = __importDefault(require("react"));
20
20
  var react_native_1 = require("react-native");
package/dist/index.d.ts CHANGED
@@ -44,7 +44,7 @@ import { PreparingSummaryScreen } from './common/screens/PreparingSummaryScreen'
44
44
  import { RatingScreen } from './common/screens/RatingScreen';
45
45
  import { CASE_TYPE, Consultation, CONSULTATION_STATUS, Question, QuestionType } from './common/types/consultation';
46
46
  import { HKDeliveryAddressSchema } from './common/types/deliveryAddress';
47
- import { Prescription, PRESCRIPTION_STATUS } from './common/types/prescription';
47
+ import { Prescription, PRESCRIPTION_INTEGRATION, PRESCRIPTION_STATUS } from './common/types/prescription';
48
48
  import { License, Professional } from './common/types/professional';
49
49
  import { Theme } from './common/types/theme';
50
50
  import { isAndroid, isIOS } from './common/utils/platform';
@@ -69,4 +69,4 @@ import { JoinVideoCallScreen } from './video-consultations/screens/JoinVideoCall
69
69
  import { ProcessingPrescriptionScreen } from './video-consultations/screens/ProcessingPrescriptionScreen';
70
70
  import VideoCallScreen from './video-consultations/screens/VideoCallScreen';
71
71
  export { AbiLogoIcon, AgoraWrapper, Animation, AnswerScreen, AttachmentPreviewModal, BackArrowIcon, BackgroundPattern, Button, CallingAnimation, CancelConsultationButton, CancelModal, Card, CASE_TYPE, Checkbox, CloseConsultationModal, CloseIcon, Consultation, CONSULTATION_STATUS, // TODO check this after last refactor
72
- ConsultationProvider, DateInput, DeliveryAddressScreen, DoctorIcon, DoctorProfileCard, DoctorProfileModal, EndingVideoScreen, EndVideoCallModal, FadeIn, FindingAnimation, FormPrescription, FormWrapper, getProfessionalLabel, Header, HKDeliveryAddressSchema, HorizontalLoadingAnimation, IndicationCategory, IndicationCategoryType, InfoIcon, Input, isAndroid, isIOS, JoinVideoCallScreen, License, LoadingCircleAnimation, LoadingDotsAnimation, MatchingScreen, MatchScreen, Modal, NoConsultationFoundScreen, PhoneInput, PlaneIcon, PreparingSummaryScreen, Prescription, PRESCRIPTION_STATUS, PrescriptionHomeScreen, ProcessingPrescriptionScreen, Professional, Question, QuestionType, RatingScreen, Reminder, requiredCheckbox, requiredString, ScreenWrapper, SearchableDropDown, Select, Slide, Text, TextConsultation, TextConsultationHomeScreen, TextConsultationIcon, Theme, TwoOptionsModal, useConsultation, useTheme, useTranslation, validPhone, VideoCallScreen, VideoConsultation, VideoConsultationIcon };
72
+ ConsultationProvider, DateInput, DeliveryAddressScreen, DoctorIcon, DoctorProfileCard, DoctorProfileModal, EndingVideoScreen, EndVideoCallModal, FadeIn, FindingAnimation, FormPrescription, FormWrapper, getProfessionalLabel, Header, HKDeliveryAddressSchema, HorizontalLoadingAnimation, IndicationCategory, IndicationCategoryType, InfoIcon, Input, isAndroid, isIOS, JoinVideoCallScreen, License, LoadingCircleAnimation, LoadingDotsAnimation, MatchingScreen, MatchScreen, Modal, NoConsultationFoundScreen, PhoneInput, PlaneIcon, PreparingSummaryScreen, Prescription, PRESCRIPTION_INTEGRATION, PRESCRIPTION_STATUS, PrescriptionHomeScreen, ProcessingPrescriptionScreen, Professional, Question, QuestionType, RatingScreen, Reminder, requiredCheckbox, requiredString, ScreenWrapper, SearchableDropDown, Select, Slide, Text, TextConsultation, TextConsultationHomeScreen, TextConsultationIcon, Theme, TwoOptionsModal, useConsultation, useTheme, useTranslation, validPhone, VideoCallScreen, VideoConsultation, VideoConsultationIcon };
package/dist/index.js CHANGED
@@ -3,8 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.PrescriptionHomeScreen = exports.PRESCRIPTION_STATUS = exports.PreparingSummaryScreen = exports.PlaneIcon = exports.PhoneInput = exports.NoConsultationFoundScreen = exports.Modal = exports.MatchScreen = exports.MatchingScreen = exports.LoadingDotsAnimation = exports.LoadingCircleAnimation = exports.JoinVideoCallScreen = exports.isIOS = exports.isAndroid = exports.Input = exports.InfoIcon = exports.IndicationCategory = exports.HorizontalLoadingAnimation = exports.HKDeliveryAddressSchema = exports.Header = exports.getProfessionalLabel = exports.FormWrapper = exports.FormPrescription = exports.FindingAnimation = exports.FadeIn = exports.EndVideoCallModal = exports.EndingVideoScreen = exports.DoctorProfileModal = exports.DoctorProfileCard = exports.DoctorIcon = exports.DeliveryAddressScreen = exports.DateInput = exports.ConsultationProvider = exports.CONSULTATION_STATUS = exports.CloseIcon = exports.CloseConsultationModal = exports.Checkbox = exports.CASE_TYPE = exports.Card = exports.CancelModal = exports.CancelConsultationButton = exports.CallingAnimation = exports.Button = exports.BackgroundPattern = exports.BackArrowIcon = exports.AttachmentPreviewModal = exports.AnswerScreen = exports.Animation = exports.AgoraWrapper = exports.AbiLogoIcon = void 0;
7
- exports.VideoConsultationIcon = exports.VideoConsultation = exports.VideoCallScreen = exports.validPhone = exports.useTranslation = exports.useTheme = exports.useConsultation = exports.TwoOptionsModal = exports.TextConsultationIcon = exports.TextConsultationHomeScreen = exports.TextConsultation = exports.Text = exports.Slide = exports.Select = exports.SearchableDropDown = exports.ScreenWrapper = exports.requiredString = exports.requiredCheckbox = exports.Reminder = exports.RatingScreen = exports.QuestionType = exports.ProcessingPrescriptionScreen = void 0;
6
+ exports.PRESCRIPTION_STATUS = exports.PRESCRIPTION_INTEGRATION = exports.PreparingSummaryScreen = exports.PlaneIcon = exports.PhoneInput = exports.NoConsultationFoundScreen = exports.Modal = exports.MatchScreen = exports.MatchingScreen = exports.LoadingDotsAnimation = exports.LoadingCircleAnimation = exports.JoinVideoCallScreen = exports.isIOS = exports.isAndroid = exports.Input = exports.InfoIcon = exports.IndicationCategory = exports.HorizontalLoadingAnimation = exports.HKDeliveryAddressSchema = exports.Header = exports.getProfessionalLabel = exports.FormWrapper = exports.FormPrescription = exports.FindingAnimation = exports.FadeIn = exports.EndVideoCallModal = exports.EndingVideoScreen = exports.DoctorProfileModal = exports.DoctorProfileCard = exports.DoctorIcon = exports.DeliveryAddressScreen = exports.DateInput = exports.ConsultationProvider = exports.CONSULTATION_STATUS = exports.CloseIcon = exports.CloseConsultationModal = exports.Checkbox = exports.CASE_TYPE = exports.Card = exports.CancelModal = exports.CancelConsultationButton = exports.CallingAnimation = exports.Button = exports.BackgroundPattern = exports.BackArrowIcon = exports.AttachmentPreviewModal = exports.AnswerScreen = exports.Animation = exports.AgoraWrapper = exports.AbiLogoIcon = void 0;
7
+ exports.VideoConsultationIcon = exports.VideoConsultation = exports.VideoCallScreen = exports.validPhone = exports.useTranslation = exports.useTheme = exports.useConsultation = exports.TwoOptionsModal = exports.TextConsultationIcon = exports.TextConsultationHomeScreen = exports.TextConsultation = exports.Text = exports.Slide = exports.Select = exports.SearchableDropDown = exports.ScreenWrapper = exports.requiredString = exports.requiredCheckbox = exports.Reminder = exports.RatingScreen = exports.QuestionType = exports.ProcessingPrescriptionScreen = exports.PrescriptionHomeScreen = void 0;
8
8
  var Animation_1 = require("./common/animations/Animation");
9
9
  Object.defineProperty(exports, "Animation", { enumerable: true, get: function () { return Animation_1.Animation; } });
10
10
  var animation_1 = require("./common/animations/FindingAnimation/animation");
@@ -100,6 +100,7 @@ Object.defineProperty(exports, "QuestionType", { enumerable: true, get: function
100
100
  var deliveryAddress_1 = require("./common/types/deliveryAddress");
101
101
  Object.defineProperty(exports, "HKDeliveryAddressSchema", { enumerable: true, get: function () { return deliveryAddress_1.HKDeliveryAddressSchema; } });
102
102
  var prescription_1 = require("./common/types/prescription");
103
+ Object.defineProperty(exports, "PRESCRIPTION_INTEGRATION", { enumerable: true, get: function () { return prescription_1.PRESCRIPTION_INTEGRATION; } });
103
104
  Object.defineProperty(exports, "PRESCRIPTION_STATUS", { enumerable: true, get: function () { return prescription_1.PRESCRIPTION_STATUS; } });
104
105
  var platform_1 = require("./common/utils/platform");
105
106
  Object.defineProperty(exports, "isAndroid", { enumerable: true, get: function () { return platform_1.isAndroid; } });
@@ -37,7 +37,7 @@ var VideoConsultation = function (_a) {
37
37
  case consultation_1.CONSULTATION_STATUS.VIDEO_CALL_ENDED:
38
38
  return <PreparingSummaryScreen_1.PreparingSummaryScreen professional={professional}/>;
39
39
  case consultation_1.CONSULTATION_STATUS.WAITING_FOR_INFO:
40
- if (prescription === null || prescription === void 0 ? void 0 : prescription.deliveryAddress)
40
+ if (prescription === null || prescription === void 0 ? void 0 : prescription.data.delivery.address)
41
41
  return <ProcessingPrescriptionScreen_1.ProcessingPrescriptionScreen />;
42
42
  return <DeliveryAddressScreen_1.DeliveryAddressScreen initialDeliveryAddress={deliveryAddress}/>;
43
43
  default:
@@ -46,6 +46,7 @@ var react_1 = __importStar(require("react"));
46
46
  var react_native_1 = require("react-native");
47
47
  var react_native_agora_1 = require("react-native-agora");
48
48
  var ui_1 = require("./ui");
49
+ var useCustomComponents_1 = require("../../../../common/hooks/useCustomComponents");
49
50
  var MutedIndicatorsContainer = function (_a) {
50
51
  var muted = _a.muted, isLocalUser = _a.isLocalUser;
51
52
  var theme = (0, useTheme_1.useTheme)();
@@ -60,9 +61,11 @@ var MutedIndicatorsContainer = function (_a) {
60
61
  </react_native_1.View>);
61
62
  };
62
63
  var BaseRenderUsers = function (props) {
64
+ var _a;
63
65
  var theme = (0, useTheme_1.useTheme)();
64
66
  var styles = getStyles(theme);
65
- var startPreview = props.startPreview, joinChannelSuccess = props.joinChannelSuccess, remoteUsers = props.remoteUsers, _a = props.localVideoMuted, localVideoMuted = _a === void 0 ? false : _a, _b = props.remoteVideoMuted, remoteVideoMuted = _b === void 0 ? false : _b, _c = props.remoteAudioMuted, remoteAudioMuted = _c === void 0 ? false : _c;
67
+ var screens = (0, useCustomComponents_1.useCustomComponents)().screens;
68
+ var startPreview = props.startPreview, joinChannelSuccess = props.joinChannelSuccess, remoteUsers = props.remoteUsers, _b = props.localVideoMuted, localVideoMuted = _b === void 0 ? false : _b, _c = props.remoteVideoMuted, remoteVideoMuted = _c === void 0 ? false : _c, _d = props.remoteAudioMuted, remoteAudioMuted = _d === void 0 ? false : _d;
66
69
  var showLargeVideo = function (user) { return (user.uid === 0 && !remoteUsers.length) || (remoteUsers.length && user.uid !== 0); };
67
70
  var renderUser = function (user) {
68
71
  var video = renderVideo(user);
@@ -95,7 +98,7 @@ var BaseRenderUsers = function (props) {
95
98
  {remoteUsers.length === 0
96
99
  ? renderVideoUser({ video: localVideoMuted })
97
100
  : renderVideoUser({ video: remoteVideoMuted, audio: remoteAudioMuted }, remoteUsers[0], react_native_agora_1.VideoSourceType.VideoSourceRemote)}
98
- {!!remoteUsers.length && (<ui_1.AgoraList style={styles.videoContainer} numColumns={undefined} horizontal={true} data={remoteUsers} renderItem={function () { return renderVideoUser({ video: localVideoMuted }); }}/>)}
101
+ {!!remoteUsers.length && (<ui_1.AgoraList style={[styles.videoContainer, (_a = screens === null || screens === void 0 ? void 0 : screens.VideoCallScreen) === null || _a === void 0 ? void 0 : _a.videoContainerStyle]} numColumns={undefined} horizontal={true} data={remoteUsers} renderItem={function () { return renderVideoUser({ video: localVideoMuted }); }}/>)}
99
102
  </>);
100
103
  };
101
104
  exports.BaseRenderUsers = BaseRenderUsers;
@@ -16,18 +16,19 @@ var react_1 = __importDefault(require("react"));
16
16
  var react_native_1 = require("react-native");
17
17
  var ui_1 = require("./ui");
18
18
  var BtnControls = function (_a) {
19
- var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
19
+ var _b, _c, _d, _e, _f, _g, _h;
20
20
  var controlActions = _a.controlActions, remoteUsers = _a.remoteUsers, muteLocalAudioStream = _a.muteLocalAudioStream, muteLocalVideoStream = _a.muteLocalVideoStream;
21
21
  var theme = (0, useTheme_1.useTheme)();
22
22
  var styles = getStyles(theme);
23
23
  var screens = (0, useCustomComponents_1.useCustomComponents)().screens;
24
24
  var videoCallScreen = screens === null || screens === void 0 ? void 0 : screens.VideoCallScreen;
25
+ var iconStyle = (_b = videoCallScreen === null || videoCallScreen === void 0 ? void 0 : videoCallScreen.controlButtons) === null || _b === void 0 ? void 0 : _b.iconStyle;
25
26
  return (<react_native_1.View style={[styles.btnContainer, theme.shadows.soft, videoCallScreen === null || videoCallScreen === void 0 ? void 0 : videoCallScreen.buttonsContainerStyle]}>
26
27
  <react_native_1.View style={styles.btnContent}>
27
- <ui_1.VideoCallButton icon={muteLocalAudioStream ? (<MicroOffIcon_1.default {...(_b = videoCallScreen === null || videoCallScreen === void 0 ? void 0 : videoCallScreen.controlButtons) === null || _b === void 0 ? void 0 : _b.iconStyle}/>) : (<MicroOnIcon_1.default {...(_c = videoCallScreen === null || videoCallScreen === void 0 ? void 0 : videoCallScreen.controlButtons) === null || _c === void 0 ? void 0 : _c.iconStyle}/>)} name={'audiomute'} onPress={controlActions.localAudioStream} isMuted={muteLocalAudioStream} customStyle={(_d = videoCallScreen === null || videoCallScreen === void 0 ? void 0 : videoCallScreen.controlButtons) === null || _d === void 0 ? void 0 : _d.containerStyle}/>
28
- <ui_1.VideoCallButton icon={muteLocalVideoStream ? (<VideoOffIcon_1.default {...(_e = videoCallScreen === null || videoCallScreen === void 0 ? void 0 : videoCallScreen.controlButtons) === null || _e === void 0 ? void 0 : _e.iconStyle}/>) : (<VideoOnIcon_1.default {...(_f = videoCallScreen === null || videoCallScreen === void 0 ? void 0 : videoCallScreen.controlButtons) === null || _f === void 0 ? void 0 : _f.iconStyle}/>)} name={'videomute'} onPress={controlActions.localVideoStream} isMuted={muteLocalVideoStream} customStyle={(_g = videoCallScreen === null || videoCallScreen === void 0 ? void 0 : videoCallScreen.controlButtons) === null || _g === void 0 ? void 0 : _g.containerStyle}/>
29
- <ui_1.VideoCallButton disabled={!remoteUsers.length} icon={<SwitchCameraIcon_1.default />} name={'switchCamera'} onPress={controlActions.switchCamera} customStyle={(_h = videoCallScreen === null || videoCallScreen === void 0 ? void 0 : videoCallScreen.controlButtons) === null || _h === void 0 ? void 0 : _h.containerStyle}/>
30
- {((_j = videoCallScreen === null || videoCallScreen === void 0 ? void 0 : videoCallScreen.EndCallButton) === null || _j === void 0 ? void 0 : _j.customComponent) ? (<videoCallScreen.EndCallButton.customComponent onPress={controlActions.endCall}/>) : (<ui_1.VideoCallButton customStyle={[styles.endCall, (_k = videoCallScreen === null || videoCallScreen === void 0 ? void 0 : videoCallScreen.EndCallButton) === null || _k === void 0 ? void 0 : _k.containerStyle]} icon={<HangUpIcon_1.default {...(_l = videoCallScreen === null || videoCallScreen === void 0 ? void 0 : videoCallScreen.EndCallButton) === null || _l === void 0 ? void 0 : _l.iconStyle}/>} name={'endCall'} onPress={controlActions.endCall}/>)}
28
+ <ui_1.VideoCallButton icon={muteLocalAudioStream ? <MicroOffIcon_1.default {...iconStyle}/> : <MicroOnIcon_1.default {...iconStyle}/>} name={'audiomute'} onPress={controlActions.localAudioStream} isMuted={muteLocalAudioStream} customStyle={(_c = videoCallScreen === null || videoCallScreen === void 0 ? void 0 : videoCallScreen.controlButtons) === null || _c === void 0 ? void 0 : _c.containerStyle}/>
29
+ <ui_1.VideoCallButton icon={muteLocalVideoStream ? <VideoOffIcon_1.default {...iconStyle}/> : <VideoOnIcon_1.default {...iconStyle}/>} name={'videomute'} onPress={controlActions.localVideoStream} isMuted={muteLocalVideoStream} customStyle={(_d = videoCallScreen === null || videoCallScreen === void 0 ? void 0 : videoCallScreen.controlButtons) === null || _d === void 0 ? void 0 : _d.containerStyle}/>
30
+ <ui_1.VideoCallButton disabled={!remoteUsers.length} icon={<SwitchCameraIcon_1.default {...iconStyle}/>} name={'switchCamera'} onPress={controlActions.switchCamera} customStyle={(_e = videoCallScreen === null || videoCallScreen === void 0 ? void 0 : videoCallScreen.controlButtons) === null || _e === void 0 ? void 0 : _e.containerStyle}/>
31
+ {((_f = videoCallScreen === null || videoCallScreen === void 0 ? void 0 : videoCallScreen.EndCallButton) === null || _f === void 0 ? void 0 : _f.customComponent) ? (<videoCallScreen.EndCallButton.customComponent onPress={controlActions.endCall}/>) : (<ui_1.VideoCallButton customStyle={[styles.endCall, (_g = videoCallScreen === null || videoCallScreen === void 0 ? void 0 : videoCallScreen.EndCallButton) === null || _g === void 0 ? void 0 : _g.containerStyle]} icon={<HangUpIcon_1.default {...(_h = videoCallScreen === null || videoCallScreen === void 0 ? void 0 : videoCallScreen.EndCallButton) === null || _h === void 0 ? void 0 : _h.iconStyle}/>} name={'endCall'} onPress={controlActions.endCall}/>)}
31
32
  </react_native_1.View>
32
33
  </react_native_1.View>);
33
34
  };
@@ -1,3 +1,4 @@
1
+ import { Components } from '../../common/types/components';
1
2
  import * as React from 'react';
2
- declare const SwitchCameraIcon: () => React.JSX.Element;
3
+ declare const SwitchCameraIcon: ({ color, width, height }: Components["screens"]["VideoCallScreen"]["controlButtons"]["iconStyle"]) => React.JSX.Element;
3
4
  export default SwitchCameraIcon;
@@ -36,10 +36,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  var useTheme_1 = require("../../common/hooks/useTheme");
37
37
  var React = __importStar(require("react"));
38
38
  var react_native_svg_1 = __importStar(require("react-native-svg"));
39
- var SwitchCameraIcon = function () {
39
+ var SwitchCameraIcon = function (_a) {
40
+ var color = _a.color, _b = _a.width, width = _b === void 0 ? 38 : _b, _c = _a.height, height = _c === void 0 ? 38 : _c;
40
41
  var palette = (0, useTheme_1.useTheme)().palette;
41
- return (<react_native_svg_1.default width={39} height={39} fill="none">
42
- <react_native_svg_1.Path fill={palette.surface} d="M13.66 26.544a2.768 2.768 0 0 1-2.02-.83 2.712 2.712 0 0 1-.838-2v-8.428c0-.78.279-1.447.838-2a2.768 2.768 0 0 1 2.02-.83h1.4l1.152-1.14c.148-.147.308-.254.48-.322.173-.069.355-.103.545-.103h4.526c.19 0 .372.034.544.103.173.068.333.175.48.322l1.154 1.14h1.399c.788 0 1.462.277 2.02.83.56.553.838 1.22.838 2v8.428c0 .78-.279 1.447-.837 2a2.769 2.769 0 0 1-2.021.83H13.66Zm5.84-4.365c.748 0 1.386-.261 1.915-.784a2.568 2.568 0 0 0 .792-1.895c0-.74-.264-1.372-.792-1.895a2.622 2.622 0 0 0-1.915-.784c-.748 0-1.386.261-1.915.784a2.568 2.568 0 0 0-.792 1.895c0 .74.264 1.372.793 1.895a2.622 2.622 0 0 0 1.914.784Zm.03 15.321c-4.487 0-8.418-1.406-11.794-4.218-3.376-2.813-5.445-6.36-6.208-10.642a1.278 1.278 0 0 1 .173-.965c.185-.29.45-.456.797-.498.347-.043.646.048.898.272.251.224.406.507.465.85.645 3.588 2.339 6.575 5.082 8.961 2.744 2.386 5.98 3.668 9.711 3.844l-1.922-1.902a1.128 1.128 0 0 1-.336-.817 1.101 1.101 0 0 1 .336-.833c.23-.226.507-.34.834-.34.326 0 .604.114.833.34l4.839 4.79c.144.142.188.303.132.482a.462.462 0 0 1-.363.333c-.57.132-1.141.223-1.714.27a21.06 21.06 0 0 1-1.763.073Zm-.06-36c4.487 0 8.418 1.405 11.794 4.214 3.376 2.81 5.445 6.363 6.208 10.662.069.353.011.672-.174.957-.184.285-.45.448-.796.49a1.091 1.091 0 0 1-.898-.272 1.425 1.425 0 0 1-.465-.85c-.645-3.588-2.339-6.575-5.082-8.961s-5.98-3.667-9.711-3.844l1.922 1.902c.219.217.33.49.336.818a1.1 1.1 0 0 1-.336.832 1.14 1.14 0 0 1-.834.34c-.326 0-.604-.113-.833-.34l-4.839-4.79c-.144-.142-.188-.303-.132-.482a.462.462 0 0 1 .363-.333c.57-.132 1.141-.223 1.714-.27.573-.049 1.16-.073 1.763-.073Z"/>
42
+ return (<react_native_svg_1.default width={width} height={height} fill="none">
43
+ <react_native_svg_1.Path fill={color || palette.surface} d="M13.66 26.544a2.768 2.768 0 0 1-2.02-.83 2.712 2.712 0 0 1-.838-2v-8.428c0-.78.279-1.447.838-2a2.768 2.768 0 0 1 2.02-.83h1.4l1.152-1.14c.148-.147.308-.254.48-.322.173-.069.355-.103.545-.103h4.526c.19 0 .372.034.544.103.173.068.333.175.48.322l1.154 1.14h1.399c.788 0 1.462.277 2.02.83.56.553.838 1.22.838 2v8.428c0 .78-.279 1.447-.837 2a2.769 2.769 0 0 1-2.021.83H13.66Zm5.84-4.365c.748 0 1.386-.261 1.915-.784a2.568 2.568 0 0 0 .792-1.895c0-.74-.264-1.372-.792-1.895a2.622 2.622 0 0 0-1.915-.784c-.748 0-1.386.261-1.915.784a2.568 2.568 0 0 0-.792 1.895c0 .74.264 1.372.793 1.895a2.622 2.622 0 0 0 1.914.784Zm.03 15.321c-4.487 0-8.418-1.406-11.794-4.218-3.376-2.813-5.445-6.36-6.208-10.642a1.278 1.278 0 0 1 .173-.965c.185-.29.45-.456.797-.498.347-.043.646.048.898.272.251.224.406.507.465.85.645 3.588 2.339 6.575 5.082 8.961 2.744 2.386 5.98 3.668 9.711 3.844l-1.922-1.902a1.128 1.128 0 0 1-.336-.817 1.101 1.101 0 0 1 .336-.833c.23-.226.507-.34.834-.34.326 0 .604.114.833.34l4.839 4.79c.144.142.188.303.132.482a.462.462 0 0 1-.363.333c-.57.132-1.141.223-1.714.27a21.06 21.06 0 0 1-1.763.073Zm-.06-36c4.487 0 8.418 1.405 11.794 4.214 3.376 2.81 5.445 6.363 6.208 10.662.069.353.011.672-.174.957-.184.285-.45.448-.796.49a1.091 1.091 0 0 1-.898-.272 1.425 1.425 0 0 1-.465-.85c-.645-3.588-2.339-6.575-5.082-8.961s-5.98-3.667-9.711-3.844l1.922 1.902c.219.217.33.49.336.818a1.1 1.1 0 0 1-.336.832 1.14 1.14 0 0 1-.834.34c-.326 0-.604-.113-.833-.34l-4.839-4.79c-.144-.142-.188-.303-.132-.482a.462.462 0 0 1 .363-.333c.57-.132 1.141-.223 1.714-.27.573-.049 1.16-.073 1.763-.073Z"/>
43
44
  </react_native_svg_1.default>);
44
45
  };
45
46
  exports.default = SwitchCameraIcon;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@abihealth/goapp-react-native",
3
- "version": "1.30.0",
3
+ "version": "1.30.1",
4
4
  "publishConfig": {
5
5
  "access": "public",
6
6
  "registry": "https://registry.npmjs.org/"