@abihealth/goapp-react-native 1.22.0 → 1.24.0
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 +17 -0
- package/README.md +2 -0
- package/dist/common/components/CustomAnimation.d.ts +7 -0
- package/dist/common/components/CustomAnimation.js +12 -0
- package/dist/common/helpers/eventHandler.d.ts +1 -0
- package/dist/common/screens/MatchingScreen.js +10 -4
- package/dist/common/screens/RatingScreen.d.ts +6 -1
- package/dist/common/screens/RatingScreen.js +8 -5
- package/dist/common/screens/utils.d.ts +2 -1
- package/dist/common/screens/utils.js +2 -2
- package/dist/common/types/components.d.ts +3 -0
- package/dist/form-prescriptions/components/FormPrescription.js +4 -3
- package/dist/text-consultations/components/TextConsultation.js +1 -1
- package/dist/video-consultations/components/VideoConsultation.d.ts +3 -1
- package/dist/video-consultations/components/VideoConsultation.js +3 -3
- package/dist/video-consultations/screens/DeliveryAddressScreen.d.ts +4 -1
- package/dist/video-consultations/screens/DeliveryAddressScreen.js +6 -5
- package/dist/video-consultations/screens/JoinVideoCallScreen.js +15 -6
- package/dist/video-consultations/screens/ProcessingPrescriptionScreen.js +5 -4
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [1.24.0](https://github.com/abiglobalhealth/react-native-sdk/compare/goapp-react-native-v1.23.0...goapp-react-native-v1.24.0) (2025-04-30)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* add initial delivery address prop to DeliveryAddressScreen ([#178](https://github.com/abiglobalhealth/react-native-sdk/issues/178)) ([d00dc18](https://github.com/abiglobalhealth/react-native-sdk/commit/d00dc1803b793b0ae6be21a03179e10ad715dfed))
|
|
9
|
+
* add onConsultationEnded event handler to RatingScreen and update related components ([#180](https://github.com/abiglobalhealth/react-native-sdk/issues/180)) ([923ae9e](https://github.com/abiglobalhealth/react-native-sdk/commit/923ae9e3c270a74968297abb81f9e4ae82000211))
|
|
10
|
+
* enhance customizable container styles ([#182](https://github.com/abiglobalhealth/react-native-sdk/issues/182)) ([0890d1a](https://github.com/abiglobalhealth/react-native-sdk/commit/0890d1a606a1d9b344be17e200eca37cf2ed3245))
|
|
11
|
+
* integrate CustomAnimation component ([#179](https://github.com/abiglobalhealth/react-native-sdk/issues/179)) ([1940c54](https://github.com/abiglobalhealth/react-native-sdk/commit/1940c54aba3a8959f95d9fa744e12a203309b5a7))
|
|
12
|
+
|
|
13
|
+
## [1.23.0](https://github.com/abiglobalhealth/react-native-sdk/compare/goapp-react-native-v1.22.0...goapp-react-native-v1.23.0) (2025-04-23)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
### Features
|
|
17
|
+
|
|
18
|
+
* document option to disable SSL pinning in ConsultationsProvider ([#176](https://github.com/abiglobalhealth/react-native-sdk/issues/176)) ([22b0814](https://github.com/abiglobalhealth/react-native-sdk/commit/22b0814bd17faf4d18e577e6ddd96c68624e65ca))
|
|
19
|
+
|
|
3
20
|
## [1.22.0](https://github.com/abiglobalhealth/react-native-sdk/compare/goapp-react-native-v1.21.0...goapp-react-native-v1.22.0) (2025-04-23)
|
|
4
21
|
|
|
5
22
|
|
package/README.md
CHANGED
|
@@ -187,6 +187,7 @@ const App = () => {
|
|
|
187
187
|
theme={theme} // Optional
|
|
188
188
|
components={components} // Optional
|
|
189
189
|
onError={onError} // Optional
|
|
190
|
+
disableSslPinning={false} // Optional, defaults to false
|
|
190
191
|
>
|
|
191
192
|
{/* Other components */}
|
|
192
193
|
</ConsultationsProvider>
|
|
@@ -203,6 +204,7 @@ export default App
|
|
|
203
204
|
- `theme` (object, optional): Customize visual theme
|
|
204
205
|
- `components` (object, optional): Override default components
|
|
205
206
|
- `onError` (function, optional): Error callback
|
|
207
|
+
- `disableSslPinning` (boolean, optional): Disable SSL certificate pinning. By default, SSL pinning is enabled for security. Only disable this if you know what you're doing, as it may make your app vulnerable to man-in-the-middle attacks.
|
|
206
208
|
|
|
207
209
|
### 3. Use the VideoConsultation component
|
|
208
210
|
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CustomAnimation = void 0;
|
|
4
|
+
var CustomAnimation = function (_a) {
|
|
5
|
+
var animation = _a.animation, fallback = _a.fallback;
|
|
6
|
+
if (animation === null)
|
|
7
|
+
return null;
|
|
8
|
+
if (animation)
|
|
9
|
+
return animation;
|
|
10
|
+
return fallback;
|
|
11
|
+
};
|
|
12
|
+
exports.CustomAnimation = CustomAnimation;
|
|
@@ -10,6 +10,7 @@ export interface EventHandlers {
|
|
|
10
10
|
onDeliveryAddressSubmitted?: EventCallback;
|
|
11
11
|
onPrescriptionSubmitted?: EventCallback;
|
|
12
12
|
onSummaryGenerated?: EventCallback;
|
|
13
|
+
onConsultationEnded?: EventCallback;
|
|
13
14
|
}
|
|
14
15
|
export declare const mapConsultationStatusToEvent: (consultation: Consultation) => CONSULTATION_EVENT;
|
|
15
16
|
export declare const handleEvent: (consultation: Consultation, eventHandlers?: EventHandlers) => void;
|
|
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.MatchingScreen = void 0;
|
|
7
7
|
var animation_1 = require("../animations/FindingAnimation/animation");
|
|
8
8
|
var CancelConsultationButton_1 = require("../components/CancelConsultationButton");
|
|
9
|
+
var CustomAnimation_1 = require("../components/CustomAnimation");
|
|
9
10
|
var ConsultationHeader_1 = require("../components/headers/ConsultationHeader");
|
|
10
11
|
var ScreenWrapper_1 = require("../components/ScreenWrapper");
|
|
11
12
|
var Text_1 = require("../components/Text");
|
|
@@ -20,15 +21,17 @@ var MatchingScreen = function () {
|
|
|
20
21
|
var styles = getStyles(theme);
|
|
21
22
|
var screens = (0, useCustomComponents_1.useCustomComponents)().screens;
|
|
22
23
|
var customComponents = screens === null || screens === void 0 ? void 0 : screens.MatchingScreen;
|
|
23
|
-
return (<ScreenWrapper_1.ScreenWrapper header={<ConsultationHeader_1.ConsultationHeader rightIcon={<CancelConsultationButton_1.CancelConsultationButton />}/>} containerStyle={styles.container}>
|
|
24
|
+
return (<ScreenWrapper_1.ScreenWrapper header={<ConsultationHeader_1.ConsultationHeader rightIcon={<CancelConsultationButton_1.CancelConsultationButton />}/>} containerStyle={[styles.container, customComponents === null || customComponents === void 0 ? void 0 : customComponents.containerStyle]}>
|
|
24
25
|
<Text_1.Text variant="h2" center>
|
|
25
26
|
{t('matching')}
|
|
26
27
|
</Text_1.Text>
|
|
27
28
|
|
|
28
|
-
{
|
|
29
|
+
<CustomAnimation_1.CustomAnimation animation={customComponents === null || customComponents === void 0 ? void 0 : customComponents.MatchingAnimation} fallback={<animation_1.FindingAnimation />}/>
|
|
29
30
|
|
|
30
|
-
<
|
|
31
|
-
|
|
31
|
+
<react_native_1.View style={styles.footer}>
|
|
32
|
+
<Text_1.Text center>{t('matching.video.text_message')}</Text_1.Text>
|
|
33
|
+
<Text_1.Text center>{t('match.one_minute')}</Text_1.Text>
|
|
34
|
+
</react_native_1.View>
|
|
32
35
|
</ScreenWrapper_1.ScreenWrapper>);
|
|
33
36
|
};
|
|
34
37
|
exports.MatchingScreen = MatchingScreen;
|
|
@@ -38,6 +41,9 @@ var getStyles = function (_a) {
|
|
|
38
41
|
container: {
|
|
39
42
|
paddingTop: spacing.xl,
|
|
40
43
|
rowGap: spacing.xl
|
|
44
|
+
},
|
|
45
|
+
footer: {
|
|
46
|
+
rowGap: spacing.xl
|
|
41
47
|
}
|
|
42
48
|
});
|
|
43
49
|
};
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
+
import { EventHandlers } from '../helpers/eventHandler';
|
|
1
2
|
import React from 'react';
|
|
2
|
-
|
|
3
|
+
interface RatingScreenProps {
|
|
4
|
+
onConsultationEnded?: EventHandlers['onConsultationEnded'];
|
|
5
|
+
}
|
|
6
|
+
export declare const RatingScreen: ({ onConsultationEnded }: RatingScreenProps) => React.JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -82,14 +82,15 @@ var StarIcon_1 = require("../icons/StarIcon");
|
|
|
82
82
|
var react_1 = __importStar(require("react"));
|
|
83
83
|
var react_native_1 = require("react-native");
|
|
84
84
|
var RATINGS = [1, 2, 3, 4, 5];
|
|
85
|
-
var RatingScreen = function () {
|
|
85
|
+
var RatingScreen = function (_a) {
|
|
86
|
+
var onConsultationEnded = _a.onConsultationEnded;
|
|
86
87
|
var t = (0, useTranslation_1.useTranslation)().t;
|
|
87
88
|
var theme = (0, useTheme_1.useTheme)();
|
|
88
89
|
var styles = getStyles(theme);
|
|
89
|
-
var
|
|
90
|
-
var
|
|
91
|
-
var
|
|
92
|
-
var
|
|
90
|
+
var _b = (0, useConsultation_1.useConsultation)(), rate = _b.rate, updateConsultation = _b.updateConsultation;
|
|
91
|
+
var _c = (0, react_1.useState)(false), loading = _c[0], setLoading = _c[1];
|
|
92
|
+
var _d = react_1.default.useState(null), selectedRating = _d[0], setSelectedRating = _d[1];
|
|
93
|
+
var _e = (0, react_1.useState)(false), showError = _e[0], setShowError = _e[1];
|
|
93
94
|
var shakeAnimation = new react_native_1.Animated.Value(0);
|
|
94
95
|
var startShake = function () {
|
|
95
96
|
react_native_1.Animated.sequence([
|
|
@@ -121,6 +122,7 @@ var RatingScreen = function () {
|
|
|
121
122
|
case 2:
|
|
122
123
|
_a.sent();
|
|
123
124
|
updateConsultation(null);
|
|
125
|
+
onConsultationEnded === null || onConsultationEnded === void 0 ? void 0 : onConsultationEnded(null);
|
|
124
126
|
return [3 /*break*/, 4];
|
|
125
127
|
case 3:
|
|
126
128
|
setLoading(false);
|
|
@@ -131,6 +133,7 @@ var RatingScreen = function () {
|
|
|
131
133
|
}); };
|
|
132
134
|
var handleSkip = function () {
|
|
133
135
|
updateConsultation(null);
|
|
136
|
+
onConsultationEnded === null || onConsultationEnded === void 0 ? void 0 : onConsultationEnded(null);
|
|
134
137
|
};
|
|
135
138
|
return (<ScreenWrapper_1.ScreenWrapper header={<ConsultationHeader_1.ConsultationHeader />} containerStyle={styles.container}>
|
|
136
139
|
<react_native_1.View style={styles.innerContainer}>
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { EventHandlers } from '../helpers/eventHandler';
|
|
1
2
|
import { Consultation } from '../types/consultation';
|
|
2
3
|
import { ReactNode } from 'react';
|
|
3
|
-
export declare const getCommonScreen: (consultation: Consultation) => ReactNode | null;
|
|
4
|
+
export declare const getCommonScreen: (consultation: Consultation, eventHandlers?: EventHandlers) => ReactNode | null;
|
|
@@ -7,7 +7,7 @@ var MatchingScreen_1 = require("./MatchingScreen");
|
|
|
7
7
|
var MatchScreen_1 = require("./MatchScreen");
|
|
8
8
|
var NoConsultationFoundScreen_1 = require("./NoConsultationFoundScreen");
|
|
9
9
|
var RatingScreen_1 = require("./RatingScreen");
|
|
10
|
-
var getCommonScreen = function (consultation) {
|
|
10
|
+
var getCommonScreen = function (consultation, eventHandlers) {
|
|
11
11
|
if (!consultation)
|
|
12
12
|
return null;
|
|
13
13
|
var status = consultation.status, professional = consultation.professional, questions = consultation.questions;
|
|
@@ -19,7 +19,7 @@ var getCommonScreen = function (consultation) {
|
|
|
19
19
|
case consultation_1.CONSULTATION_STATUS.RESOLVED:
|
|
20
20
|
return <AnswerScreen_1.AnswerScreen questions={questions} professional={professional}/>;
|
|
21
21
|
case consultation_1.CONSULTATION_STATUS.CLOSED:
|
|
22
|
-
return <RatingScreen_1.RatingScreen />;
|
|
22
|
+
return <RatingScreen_1.RatingScreen onConsultationEnded={eventHandlers === null || eventHandlers === void 0 ? void 0 : eventHandlers.onConsultationEnded}/>;
|
|
23
23
|
case consultation_1.CONSULTATION_STATUS.CANCELED:
|
|
24
24
|
return <NoConsultationFoundScreen_1.NoConsultationFoundScreen />;
|
|
25
25
|
default:
|
|
@@ -64,9 +64,11 @@ export type Components = {
|
|
|
64
64
|
};
|
|
65
65
|
screens?: {
|
|
66
66
|
MatchingScreen?: {
|
|
67
|
+
containerStyle?: ViewStyle;
|
|
67
68
|
MatchingAnimation?: ReactNode;
|
|
68
69
|
};
|
|
69
70
|
JoinScreen?: {
|
|
71
|
+
containerStyle?: ViewStyle;
|
|
70
72
|
CallingAnimation?: ReactElement;
|
|
71
73
|
JoinCallButton?: CustomPressable;
|
|
72
74
|
};
|
|
@@ -84,6 +86,7 @@ export type Components = {
|
|
|
84
86
|
};
|
|
85
87
|
};
|
|
86
88
|
ProcessingPrescriptionScreen?: {
|
|
89
|
+
containerStyle?: ViewStyle;
|
|
87
90
|
LoadingAnimation?: ReactElement;
|
|
88
91
|
};
|
|
89
92
|
AnswerScreen?: {
|
|
@@ -24,7 +24,8 @@ var FORM_PRESCRIPTION_SCREEN_COMPONENTS = (_a = {},
|
|
|
24
24
|
_a[screens_1.FORM_PRESCRIPTION_SCREENS.FORM] = <react_native_1.View />,
|
|
25
25
|
_a[screens_1.FORM_PRESCRIPTION_SCREENS.REASON] = <ReasonScreen_1.ReasonScreen />,
|
|
26
26
|
_a);
|
|
27
|
-
var ConsultationScreen = function () {
|
|
27
|
+
var ConsultationScreen = function (_a) {
|
|
28
|
+
var eventHandlers = _a.eventHandlers;
|
|
28
29
|
var currentScreen = (0, useScreens_1.useScreens)().currentScreen;
|
|
29
30
|
var consultation = (0, useConsultation_1.useConsultation)().consultation;
|
|
30
31
|
var getConsultationScreen = (0, react_1.useCallback)(function (consultation) {
|
|
@@ -33,7 +34,7 @@ var ConsultationScreen = function () {
|
|
|
33
34
|
return <NotValidActiveTypeScreen_1.NotValidActiveTypeScreen caseType={consultation.type}/>;
|
|
34
35
|
if (!consultation)
|
|
35
36
|
return FORM_PRESCRIPTION_SCREEN_COMPONENTS[currentScreen];
|
|
36
|
-
var commonScreen = (0, utils_1.getCommonScreen)(consultation);
|
|
37
|
+
var commonScreen = (0, utils_1.getCommonScreen)(consultation, eventHandlers);
|
|
37
38
|
if (commonScreen)
|
|
38
39
|
return commonScreen;
|
|
39
40
|
var status = consultation.status;
|
|
@@ -57,7 +58,7 @@ var FormPrescription = function (_a) {
|
|
|
57
58
|
}, [userId]);
|
|
58
59
|
return (<IndicationSurveyContext_1.IndicationSurveyProvider>
|
|
59
60
|
<ConsultationContainer_1.ConsultationContainer>
|
|
60
|
-
<ConsultationScreen />
|
|
61
|
+
<ConsultationScreen eventHandlers={eventHandlers}/>
|
|
61
62
|
</ConsultationContainer_1.ConsultationContainer>
|
|
62
63
|
</IndicationSurveyContext_1.IndicationSurveyProvider>);
|
|
63
64
|
};
|
|
@@ -26,7 +26,7 @@ var TextConsultation = function (_a) {
|
|
|
26
26
|
var validActiveType = (0, valid_active_type_1.checkValidActiveType)(consultation, consultation_1.CASE_TYPE.MEDICAL);
|
|
27
27
|
if (!validActiveType)
|
|
28
28
|
return <NotValidActiveTypeScreen_1.NotValidActiveTypeScreen caseType={consultation.type}/>;
|
|
29
|
-
var commonScreen = (0, utils_1.getCommonScreen)(consultation);
|
|
29
|
+
var commonScreen = (0, utils_1.getCommonScreen)(consultation, eventHandlers);
|
|
30
30
|
if (commonScreen)
|
|
31
31
|
return commonScreen;
|
|
32
32
|
if (!consultation)
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { EventHandlers } from '../../common/helpers/eventHandler';
|
|
2
|
+
import { HKDeliveryAddress } from '../../common/types/deliveryAddress';
|
|
2
3
|
export interface VideoConsultationProps {
|
|
3
4
|
userId: string;
|
|
4
5
|
eventHandlers?: EventHandlers;
|
|
6
|
+
deliveryAddress?: HKDeliveryAddress;
|
|
5
7
|
}
|
|
6
|
-
export declare const VideoConsultation: ({ eventHandlers, userId }: VideoConsultationProps) => import("react").JSX.Element;
|
|
8
|
+
export declare const VideoConsultation: ({ eventHandlers, userId, deliveryAddress }: VideoConsultationProps) => import("react").JSX.Element;
|
|
@@ -17,7 +17,7 @@ var ProcessingPrescriptionScreen_1 = require("../screens/ProcessingPrescriptionS
|
|
|
17
17
|
var react_1 = require("react");
|
|
18
18
|
var react_native_1 = require("react-native");
|
|
19
19
|
var VideoConsultation = function (_a) {
|
|
20
|
-
var eventHandlers = _a.eventHandlers, userId = _a.userId;
|
|
20
|
+
var eventHandlers = _a.eventHandlers, userId = _a.userId, deliveryAddress = _a.deliveryAddress;
|
|
21
21
|
var consultation = (0, useConsultation_1.useConsultation)().consultation;
|
|
22
22
|
var setUserId = (0, useUser_1.useUser)().setUserId;
|
|
23
23
|
(0, react_1.useEffect)(function () {
|
|
@@ -30,7 +30,7 @@ var VideoConsultation = function (_a) {
|
|
|
30
30
|
var validActiveType = (0, valid_active_type_1.checkValidActiveType)(consultation, consultation_1.CASE_TYPE.VIDEO);
|
|
31
31
|
if (!validActiveType)
|
|
32
32
|
return <NotValidActiveTypeScreen_1.NotValidActiveTypeScreen caseType={consultation.type}/>;
|
|
33
|
-
var commonScreen = (0, utils_1.getCommonScreen)(consultation);
|
|
33
|
+
var commonScreen = (0, utils_1.getCommonScreen)(consultation, eventHandlers);
|
|
34
34
|
if (commonScreen)
|
|
35
35
|
return commonScreen;
|
|
36
36
|
if (!consultation)
|
|
@@ -44,7 +44,7 @@ var VideoConsultation = function (_a) {
|
|
|
44
44
|
case consultation_1.CONSULTATION_STATUS.WAITING_FOR_INFO:
|
|
45
45
|
if (prescription === null || prescription === void 0 ? void 0 : prescription.deliveryAddress)
|
|
46
46
|
return <ProcessingPrescriptionScreen_1.ProcessingPrescriptionScreen />;
|
|
47
|
-
return <DeliveryAddressScreen_1.DeliveryAddressScreen />;
|
|
47
|
+
return <DeliveryAddressScreen_1.DeliveryAddressScreen initialDeliveryAddress={deliveryAddress}/>;
|
|
48
48
|
default:
|
|
49
49
|
react_native_1.Alert.alert('Screen not found', status);
|
|
50
50
|
throw new Error("Screen not found ".concat(status));
|
|
@@ -1,2 +1,5 @@
|
|
|
1
|
+
import { HKDeliveryAddress } from '../../common/types/deliveryAddress';
|
|
1
2
|
import React from 'react';
|
|
2
|
-
export declare const DeliveryAddressScreen: (
|
|
3
|
+
export declare const DeliveryAddressScreen: ({ initialDeliveryAddress }: {
|
|
4
|
+
initialDeliveryAddress?: HKDeliveryAddress;
|
|
5
|
+
}) => React.JSX.Element;
|
|
@@ -99,13 +99,14 @@ var video_1 = require("../api/video");
|
|
|
99
99
|
var VideoConsultationIcon_1 = require("../icons/VideoConsultationIcon");
|
|
100
100
|
var react_1 = __importStar(require("react"));
|
|
101
101
|
var react_native_1 = require("react-native");
|
|
102
|
-
var DeliveryAddressScreen = function () {
|
|
102
|
+
var DeliveryAddressScreen = function (_a) {
|
|
103
|
+
var initialDeliveryAddress = _a.initialDeliveryAddress;
|
|
103
104
|
var t = (0, useTranslation_1.useTranslation)().t;
|
|
104
105
|
var theme = (0, useTheme_1.useTheme)();
|
|
105
106
|
var styles = getStyles(theme);
|
|
106
|
-
var
|
|
107
|
-
var
|
|
108
|
-
var
|
|
107
|
+
var _b = (0, useConsultation_1.useConsultation)(), consultation = _b.consultation, updateConsultation = _b.updateConsultation;
|
|
108
|
+
var _c = (0, react_1.useState)(false), loading = _c[0], setLoading = _c[1];
|
|
109
|
+
var _d = (0, react_1.useState)(false), error = _d[0], setError = _d[1];
|
|
109
110
|
var onSubmit = function (data) { return __awaiter(void 0, void 0, void 0, function () {
|
|
110
111
|
return __generator(this, function (_a) {
|
|
111
112
|
setError(false);
|
|
@@ -133,7 +134,7 @@ var DeliveryAddressScreen = function () {
|
|
|
133
134
|
|
|
134
135
|
<FormWrapper_1.FormWrapper schema={deliveryAddress_1.HKDeliveryAddressSchema} onSubmit={{
|
|
135
136
|
onSuccess: onSubmit
|
|
136
|
-
}} submitButton={<Button_1.Button submit loading={loading}>
|
|
137
|
+
}} initialValues={initialDeliveryAddress} submitButton={<Button_1.Button submit loading={loading}>
|
|
137
138
|
{t('button.confirm')}
|
|
138
139
|
</Button_1.Button>}>
|
|
139
140
|
<Input_1.default id="house" label={t('delivery.address.number_and_floor')} placeholder={t('delivery.address.number_and_floor.placeholder')}/>
|
|
@@ -38,6 +38,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
38
38
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
39
|
exports.JoinVideoCallScreen = void 0;
|
|
40
40
|
var Button_1 = require("../../common/components/Button");
|
|
41
|
+
var CustomAnimation_1 = require("../../common/components/CustomAnimation");
|
|
41
42
|
var Header_1 = require("../../common/components/headers/Header");
|
|
42
43
|
var ScreenWrapper_1 = require("../../common/components/ScreenWrapper");
|
|
43
44
|
var Text_1 = require("../../common/components/Text");
|
|
@@ -64,18 +65,22 @@ var JoinVideoCallScreen = function (_a) {
|
|
|
64
65
|
};
|
|
65
66
|
if (joined)
|
|
66
67
|
return <VideoCallScreen_1.default />;
|
|
67
|
-
return (<ScreenWrapper_1.ScreenWrapper header={<Header_1.Header title={t('general.consultation.videoConsultation.title')} leftIcon={<VideoConsultationIcon_1.VideoConsultationIcon />} rightIcon={<CloseIcon_1.CloseIcon />}/>} containerStyle={styles.container}>
|
|
68
|
+
return (<ScreenWrapper_1.ScreenWrapper header={<Header_1.Header title={t('general.consultation.videoConsultation.title')} leftIcon={<VideoConsultationIcon_1.VideoConsultationIcon />} rightIcon={<CloseIcon_1.CloseIcon />}/>} containerStyle={[styles.container, customComponents === null || customComponents === void 0 ? void 0 : customComponents.containerStyle]}>
|
|
68
69
|
<Text_1.Text variant="h2" center>
|
|
69
70
|
{t('video.calling.physician_female', { name: (0, professional_1.getProfessionalLabel)(professional) })}
|
|
70
71
|
</Text_1.Text>
|
|
71
72
|
|
|
72
|
-
<react_native_1.View style={styles.animationContainer}>
|
|
73
|
+
<react_native_1.View style={styles.animationContainer}>
|
|
74
|
+
<CustomAnimation_1.CustomAnimation animation={customComponents === null || customComponents === void 0 ? void 0 : customComponents.CallingAnimation} fallback={<animation_1.CallingAnimation />}/>
|
|
75
|
+
</react_native_1.View>
|
|
73
76
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
+
<react_native_1.View style={styles.footer}>
|
|
78
|
+
{(customComponents === null || customComponents === void 0 ? void 0 : customComponents.JoinCallButton) ? (<customComponents.JoinCallButton onPress={onJoinVideoCall}/>) : (<Button_1.Button icon={<VideoConsultationIcon_1.VideoConsultationIcon />} onPress={onJoinVideoCall}>
|
|
79
|
+
{t('video.calling.button')}
|
|
80
|
+
</Button_1.Button>)}
|
|
77
81
|
|
|
78
|
-
|
|
82
|
+
<Text_1.Text center>{t('video.calling.not_refresh')}</Text_1.Text>
|
|
83
|
+
</react_native_1.View>
|
|
79
84
|
</ScreenWrapper_1.ScreenWrapper>);
|
|
80
85
|
};
|
|
81
86
|
exports.JoinVideoCallScreen = JoinVideoCallScreen;
|
|
@@ -98,6 +103,10 @@ var getStyles = function (_a) {
|
|
|
98
103
|
},
|
|
99
104
|
disclaimerInnerContainer: {
|
|
100
105
|
flex: 1
|
|
106
|
+
},
|
|
107
|
+
footer: {
|
|
108
|
+
width: '100%',
|
|
109
|
+
rowGap: spacing.sm
|
|
101
110
|
}
|
|
102
111
|
});
|
|
103
112
|
};
|
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.ProcessingPrescriptionScreen = void 0;
|
|
7
7
|
var animation_1 = require("../../common/animations/LoadingCircleAnimation/animation");
|
|
8
|
+
var CustomAnimation_1 = require("../../common/components/CustomAnimation");
|
|
8
9
|
var Header_1 = require("../../common/components/headers/Header");
|
|
9
10
|
var ScreenWrapper_1 = require("../../common/components/ScreenWrapper");
|
|
10
11
|
var Text_1 = require("../../common/components/Text");
|
|
@@ -15,17 +16,17 @@ var VideoConsultationIcon_1 = require("../icons/VideoConsultationIcon");
|
|
|
15
16
|
var react_1 = __importDefault(require("react"));
|
|
16
17
|
var react_native_1 = require("react-native");
|
|
17
18
|
var ProcessingPrescriptionScreen = function () {
|
|
18
|
-
var _a;
|
|
19
|
+
var _a, _b;
|
|
19
20
|
var t = (0, useTranslation_1.useTranslation)().t;
|
|
20
21
|
var theme = (0, useTheme_1.useTheme)();
|
|
21
22
|
var styles = getStyles(theme);
|
|
22
23
|
var screens = (0, useCustomComponents_1.useCustomComponents)().screens;
|
|
23
|
-
return (<ScreenWrapper_1.ScreenWrapper header={<Header_1.Header title={t('general.consultation.videoConsultation.title')} leftIcon={<VideoConsultationIcon_1.VideoConsultationIcon />}/>} containerStyle={styles.container}>
|
|
24
|
-
<Text_1.Text center variant="
|
|
24
|
+
return (<ScreenWrapper_1.ScreenWrapper header={<Header_1.Header title={t('general.consultation.videoConsultation.title')} leftIcon={<VideoConsultationIcon_1.VideoConsultationIcon />}/>} containerStyle={[styles.container, (_a = screens === null || screens === void 0 ? void 0 : screens.ProcessingPrescriptionScreen) === null || _a === void 0 ? void 0 : _a.containerStyle]}>
|
|
25
|
+
<Text_1.Text center variant="h2">
|
|
25
26
|
{t('delivery.address.processing')}
|
|
26
27
|
</Text_1.Text>
|
|
27
28
|
|
|
28
|
-
{(
|
|
29
|
+
<CustomAnimation_1.CustomAnimation animation={(_b = screens === null || screens === void 0 ? void 0 : screens.ProcessingPrescriptionScreen) === null || _b === void 0 ? void 0 : _b.LoadingAnimation} fallback={<animation_1.LoadingCircleAnimation />}/>
|
|
29
30
|
|
|
30
31
|
<Text_1.Text center>{t('download.one_minute')}</Text_1.Text>
|
|
31
32
|
</ScreenWrapper_1.ScreenWrapper>);
|