Intégration des moyens de paiement
This commit is contained in:
parent
67cfe8fa3e
commit
5f6e41b3ae
|
@ -799,34 +799,3 @@ export const getExclusionReducer = (state = INITIAL_STATE, action: InsuranceActi
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
export const getExclusionReducer = (state = INITIAL_STATE, action: InsuranceActions) => {
|
|
||||||
console.log("ACTION", action);
|
|
||||||
switch (action.type) {
|
|
||||||
case InsuranceActions.GET_EXCLUSION_PENDING:
|
|
||||||
return {
|
|
||||||
...state,
|
|
||||||
loading: true
|
|
||||||
}
|
|
||||||
case InsuranceActions.GET_EXCLUSION_SUCCESS:
|
|
||||||
return {
|
|
||||||
loading: false,
|
|
||||||
result: action.payload.response,
|
|
||||||
error: null
|
|
||||||
}
|
|
||||||
case InsuranceActions.GET_EXCLUSION_ERROR:
|
|
||||||
return {
|
|
||||||
...state,
|
|
||||||
loading: false,
|
|
||||||
result: null,
|
|
||||||
error: action.payload
|
|
||||||
}
|
|
||||||
|
|
||||||
case InsuranceActions.GET_EXCLUSION_RESET:
|
|
||||||
return INITIAL_STATE;
|
|
||||||
|
|
||||||
default:
|
|
||||||
return state
|
|
||||||
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
|
@ -59,23 +59,6 @@ export const PAY_BILL_ERROR = 'PAY_BILL_ERROR';
|
||||||
export const PAY_BILL_RESET = 'PAY_BILL_RESET';
|
export const PAY_BILL_RESET = 'PAY_BILL_RESET';
|
||||||
|
|
||||||
|
|
||||||
export const SEARCH_USER_PENDING = 'SEARCH_USER_PENDING';
|
|
||||||
export const SEARCH_USER_SUCCESS = 'SEARCH_USER_SUCCESS';
|
|
||||||
export const SEARCH_USER_ERROR = 'SEARCH_USER_ERROR';
|
|
||||||
export const SEARCH_USER_RESET = 'SEARCH_USER_RESET';
|
|
||||||
|
|
||||||
export const GET_QR_CODE_DETAIL_PENDING = 'GET_QR_CODE_DETAIL_PENDING';
|
|
||||||
export const GET_QR_CODE_DETAIL_SUCCESS = 'GET_QR_CODE_DETAIL_SUCCESS';
|
|
||||||
export const GET_QR_CODE_DETAIL_ERROR = 'GET_QR_CODE_DETAIL_ERROR';
|
|
||||||
export const GET_QR_CODE_DETAIL_RESET = 'GET_QR_CODE_DETAIL_RESET';
|
|
||||||
|
|
||||||
export const PASSWORD_VALIDATION_PENDING = 'PASSWORD_VALIDATION_PENDING';
|
|
||||||
export const PASSWORD_VALIDATION_SUCCESS = 'PASSWORD_VALIDATION_SUCCESS';
|
|
||||||
export const PASSWORD_VALIDATION_ERROR = 'PASSWORD_VALIDATION_ERROR';
|
|
||||||
export const PASSWORD_VALIDATION_RESET = 'PASSWORD_VALIDATION_RESET';
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
export const SEARCH_USER_PENDING = 'SEARCH_USER_PENDING';
|
export const SEARCH_USER_PENDING = 'SEARCH_USER_PENDING';
|
||||||
export const SEARCH_USER_SUCCESS = 'SEARCH_USER_SUCCESS';
|
export const SEARCH_USER_SUCCESS = 'SEARCH_USER_SUCCESS';
|
||||||
export const SEARCH_USER_ERROR = 'SEARCH_USER_ERROR';
|
export const SEARCH_USER_ERROR = 'SEARCH_USER_ERROR';
|
||||||
|
|
|
@ -367,7 +367,133 @@ const HistoriqueNanoSanteAgentScreen = ({
|
||||||
|
|
||||||
</View>
|
</View>
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
: <ScrollView persistentScrollbar={true}>
|
:
|
||||||
|
'health_care_sheet_id' in historyItemDetail ?
|
||||||
|
<ScrollView persistentScrollbar={true}>
|
||||||
|
<View style={[styles.blockView, {borderBottomColor: Color.borderColor}]}>
|
||||||
|
|
||||||
|
<View style={{flexDirection: 'row', marginTop: 10}}>
|
||||||
|
<View style={{flex: 1}}>
|
||||||
|
<Text style={[styles.body2]}>ID</Text>
|
||||||
|
</View>
|
||||||
|
<View style={{flex: 1, alignItems: 'flex-end'}}>
|
||||||
|
<Text
|
||||||
|
style={[Typography.caption1, Color.grayColor]}>{historyItemDetail.id}</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
|
||||||
|
<View style={{flexDirection: 'row', marginTop: 10}}>
|
||||||
|
<View style={{flex: 1}}>
|
||||||
|
<Text style={[styles.body2]}>{I18n.t('NETWORK')}</Text>
|
||||||
|
</View>
|
||||||
|
<View style={{flex: 1, alignItems: 'flex-end'}}>
|
||||||
|
<Text
|
||||||
|
style={[Typography.caption1, Color.grayColor]}>{historyItemDetail.network.name}</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
|
||||||
|
<View style={{flexDirection: 'row', marginTop: 10}}>
|
||||||
|
<View style={{flex: 1}}>
|
||||||
|
<Text style={[styles.body2]}>{I18n.t('ACTE')}</Text>
|
||||||
|
</View>
|
||||||
|
<View style={{flex: 1, alignItems: 'flex-end'}}>
|
||||||
|
<Text
|
||||||
|
style={[Typography.caption1, Color.grayColor]}>{historyItemDetail.act_name}</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
<View style={{flexDirection: 'row', marginTop: 10}}>
|
||||||
|
<View style={{flex: 1}}>
|
||||||
|
<Text style={[styles.body2]}>{I18n.t('STATUS')}</Text>
|
||||||
|
</View>
|
||||||
|
<View style={{flex: 1, alignItems: 'flex-end'}}>
|
||||||
|
<Text
|
||||||
|
style={[Typography.caption1, Color.grayColor]}>{historyItemDetail.state.toLowerCase()}</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
<View style={{flexDirection: 'row', marginTop: 10}}>
|
||||||
|
<View style={{flex: 1}}>
|
||||||
|
<Text style={[styles.body2]}>{I18n.t('BENEFICIARY')}</Text>
|
||||||
|
</View>
|
||||||
|
<View style={{flex: 1, alignItems: 'flex-end'}}>
|
||||||
|
<Text
|
||||||
|
style={[Typography.caption1, Color.grayColor]}>{`${historyItemDetail.user_firstname !== null ? historyItemDetail.user_firstname : ''} ${historyItemDetail.user_lastname !== null ? historyItemDetail.user_lastname : ''}`}
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
|
||||||
|
<View style={{flexDirection: 'row', marginTop: 10}}>
|
||||||
|
<View style={{flex: 1}}>
|
||||||
|
<Text style={[styles.body2]}>{I18n.t('EMAIL')}</Text>
|
||||||
|
</View>
|
||||||
|
<View style={{flex: 1, alignItems: 'flex-end'}}>
|
||||||
|
<Text
|
||||||
|
style={[Typography.caption1, Color.grayColor]}>{historyItemDetail.user_email}</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
|
||||||
|
<View style={{flexDirection: 'row', marginTop: 10}}>
|
||||||
|
<View style={{flex: 1}}>
|
||||||
|
<Text style={[styles.body2]}>{I18n.t('PHONE')}</Text>
|
||||||
|
</View>
|
||||||
|
<View style={{flex: 1, alignItems: 'flex-end'}}>
|
||||||
|
<Text
|
||||||
|
style={[Typography.caption1, Color.grayColor]}>{historyItemDetail.user_phone}</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
|
||||||
|
|
||||||
|
<View style={{flexDirection: 'row', marginTop: 10}}>
|
||||||
|
<View style={{flex: 1}}>
|
||||||
|
<Text style={[styles.body2]}>{I18n.t('EMETTEUR')}</Text>
|
||||||
|
</View>
|
||||||
|
<View style={{flex: 1, alignItems: 'flex-end'}}>
|
||||||
|
<Text
|
||||||
|
style={[Typography.caption1, Color.grayColor]}>{`${historyItemDetail.issuer_agent_lastname !== null ? historyItemDetail.issuer_agent_lastname : ''} ${historyItemDetail.issuer_agent_firstname !== null ? historyItemDetail.issuer_agent_firstname : ''}`}</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
|
||||||
|
<View style={{flexDirection: 'row', marginTop: 10}}>
|
||||||
|
<View style={{flex: 1}}>
|
||||||
|
<Text style={[styles.body2]}>{I18n.t('PHONE_EMETTEUR')}</Text>
|
||||||
|
</View>
|
||||||
|
<View style={{flex: 1, alignItems: 'flex-end'}}>
|
||||||
|
<Text
|
||||||
|
style={[Typography.caption1, Color.grayColor]}>{historyItemDetail.issuer_agent_phone}</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
<View style={{flexDirection: 'row', marginTop: 10}}>
|
||||||
|
<View style={{flex: 1}}>
|
||||||
|
<Text style={[styles.body2]}>{I18n.t('AGENT_VALIDEUR')}</Text>
|
||||||
|
</View>
|
||||||
|
<View style={{flex: 1, alignItems: 'flex-end'}}>
|
||||||
|
<Text
|
||||||
|
style={[Typography.caption1, Color.grayColor]}>{`${historyItemDetail.validating_agent_lastname !== null ? historyItemDetail.validating_agent_lasstname : ''} ${historyItemDetail.validating_agent_firstname !== null ? historyItemDetail.validating_agent_firstname : ''}`}</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
<View style={{flexDirection: 'row', marginTop: 10}}>
|
||||||
|
<View style={{flex: 1}}>
|
||||||
|
<Text style={[styles.body2]}>{I18n.t('AGENT_VALIDEUR_EMAIL')}</Text>
|
||||||
|
</View>
|
||||||
|
<View style={{flex: 1, alignItems: 'flex-end'}}>
|
||||||
|
<Text
|
||||||
|
style={[Typography.caption1, Color.grayColor]}>{historyItemDetail.validating_agent_email}</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
<View style={{flexDirection: 'row', marginTop: 10}}>
|
||||||
|
<View style={{flex: 1}}>
|
||||||
|
<Text style={[styles.body2]}>{I18n.t('AGENT_VALIDEUR_PHONE')}</Text>
|
||||||
|
</View>
|
||||||
|
<View style={{flex: 1, alignItems: 'flex-end'}}>
|
||||||
|
<Text
|
||||||
|
style={[Typography.caption1, Color.grayColor]}>{historyItemDetail.validating_agent_phone}</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
|
||||||
|
</View>
|
||||||
|
</ScrollView>
|
||||||
|
|
||||||
|
:
|
||||||
|
<ScrollView persistentScrollbar={true}>
|
||||||
<View style={[styles.blockView, {borderBottomColor: Color.borderColor}]}>
|
<View style={[styles.blockView, {borderBottomColor: Color.borderColor}]}>
|
||||||
|
|
||||||
<View style={{flexDirection: 'row', marginTop: 10}}>
|
<View style={{flexDirection: 'row', marginTop: 10}}>
|
||||||
|
@ -526,6 +652,47 @@ const HistoriqueNanoSanteAgentScreen = ({
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
</TouchableOpacity>
|
</TouchableOpacity>
|
||||||
|
: 'health_care_sheet_id' in item ?
|
||||||
|
<TouchableOpacity
|
||||||
|
style={[styles.content, {backgroundColor: Color.cardBackgroundColor}]}
|
||||||
|
onPress={() => {
|
||||||
|
setDisplayModalHistory(true);
|
||||||
|
setHistoryItemDetail(item);
|
||||||
|
/*navigation.navigate('validateConsultationDetailScreen', {
|
||||||
|
item
|
||||||
|
});*/
|
||||||
|
}}>
|
||||||
|
<View style={[styles.contentTop, {borderColor: Color.borderColor}]}>
|
||||||
|
<View style={{flex: 1, alignItems: 'flex-start'}}>
|
||||||
|
<Text caption1>{`${I18n.t('ACTE')}: ${item.act_name}`}</Text>
|
||||||
|
<Text footnote light numberOfLines={1}>
|
||||||
|
{`${I18n.t('EMETTEUR')}: ${item.issuer_agent_lastname}`}
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
<View style={{flex: 1, alignItems: 'flex-end'}}>
|
||||||
|
<Text
|
||||||
|
caption1>{`${I18n.t('NETWORK')}: ${item.network.name}`}</Text>
|
||||||
|
<Text footnote light numberOfLines={1}>
|
||||||
|
{`${I18n.t('BENEFICIARY')}: ${item.user_firstname !== null ? item.user_firstname : ''} ${item.user_lastname !== null ? item.user_lastname : ''}`}
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
|
||||||
|
</View>
|
||||||
|
<View style={styles.contentBottom}>
|
||||||
|
<View style={styles.bottomLeft}>
|
||||||
|
<View style={{marginHorizontal: 5}}>
|
||||||
|
<Text caption1 semibold accentColor>
|
||||||
|
{`${I18n.t('STATUS')}: ${item.state}`}
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
<View style={{flexDirection: 'row', alignItems: 'flex-end'}}>
|
||||||
|
<Text caption1 semibold primaryColor>
|
||||||
|
{`Date: ${moment(item.created_at).format('YYYY-MM-DD')}`}
|
||||||
|
</Text>
|
||||||
|
</View>
|
||||||
|
</View>
|
||||||
|
</TouchableOpacity>
|
||||||
:
|
:
|
||||||
<TouchableOpacity
|
<TouchableOpacity
|
||||||
style={[styles.content, {backgroundColor: Color.cardBackgroundColor}]}
|
style={[styles.content, {backgroundColor: Color.cardBackgroundColor}]}
|
||||||
|
@ -589,6 +756,19 @@ const HistoriqueNanoSanteAgentScreen = ({
|
||||||
}}>
|
}}>
|
||||||
{` ${I18n.t('SOINS')}`}
|
{` ${I18n.t('SOINS')}`}
|
||||||
</Tag>
|
</Tag>
|
||||||
|
<Tag icon={<MaterialCommunityIcons name='file' size={20} color={Color.whiteColor}/>}
|
||||||
|
style={{width: 110, borderTopLeftRadius: 0, borderBottomLeftRadius: 0, borderTopRightRadius: 0, borderBottomRightRadius: 0,}}
|
||||||
|
primary
|
||||||
|
onPress={() => {
|
||||||
|
dispatch(fetchGetConsultationReset());
|
||||||
|
setPage(1);
|
||||||
|
setLoadMore(false);
|
||||||
|
setHistoryResult([]);
|
||||||
|
setHistoriqueDetailLabel(I18n.t('AUTORISATION_SOIN'));
|
||||||
|
fetchGetDemandeAutorisationSoin(`?network_id=${wallet.id_network}&network_agent_id=${wallet.network_agent_id}&page=1&perPage=20`);
|
||||||
|
}}>
|
||||||
|
{` ${I18n.t('AUTORISATION_SOIN')}`}
|
||||||
|
</Tag>
|
||||||
<Tag icon={<MaterialCommunityIcons name='file' size={20} color={Color.whiteColor}/>}
|
<Tag icon={<MaterialCommunityIcons name='file' size={20} color={Color.whiteColor}/>}
|
||||||
style={{width: 110, borderTopLeftRadius: 0, borderBottomLeftRadius: 0,}}
|
style={{width: 110, borderTopLeftRadius: 0, borderBottomLeftRadius: 0,}}
|
||||||
primary
|
primary
|
||||||
|
|
|
@ -6,7 +6,16 @@
|
||||||
* Date: 08/11/2021
|
* Date: 08/11/2021
|
||||||
*/
|
*/
|
||||||
import React, {useEffect, useState} from 'react';
|
import React, {useEffect, useState} from 'react';
|
||||||
import {Alert, Dimensions, KeyboardAvoidingView, Platform, ScrollView, StyleSheet, View,} from 'react-native';
|
import {
|
||||||
|
Alert,
|
||||||
|
Dimensions,
|
||||||
|
KeyboardAvoidingView,
|
||||||
|
Platform,
|
||||||
|
ScrollView,
|
||||||
|
StyleSheet,
|
||||||
|
TouchableOpacity,
|
||||||
|
View,
|
||||||
|
} from 'react-native';
|
||||||
import {connect, useDispatch} from 'react-redux';
|
import {connect, useDispatch} from 'react-redux';
|
||||||
import {Formik} from 'formik';
|
import {Formik} from 'formik';
|
||||||
import * as Yup from 'yup';
|
import * as Yup from 'yup';
|
||||||
|
@ -32,6 +41,9 @@ import {selectActivatePaySubscription, selectSubscriptionList} from "../../../re
|
||||||
|
|
||||||
import {Dropdown} from "react-native-material-dropdown";
|
import {Dropdown} from "react-native-material-dropdown";
|
||||||
import {store} from "../../../redux/store";
|
import {store} from "../../../redux/store";
|
||||||
|
import Modal from "react-native-modal";
|
||||||
|
import Text from "../../../components/Text";
|
||||||
|
import Icon from "react-native-vector-icons/FontAwesome5";
|
||||||
|
|
||||||
let moment = require('moment-timezone');
|
let moment = require('moment-timezone');
|
||||||
|
|
||||||
|
@ -172,6 +184,25 @@ const styles = StyleSheet.create({
|
||||||
paddingVertical: 10,
|
paddingVertical: 10,
|
||||||
borderBottomWidth: 0.5,
|
borderBottomWidth: 0.5,
|
||||||
},
|
},
|
||||||
|
containPaymentMethod: {
|
||||||
|
flex: 1,
|
||||||
|
alignItems: 'center',
|
||||||
|
paddingHorizontal: 20,
|
||||||
|
paddingVertical: 15,
|
||||||
|
},
|
||||||
|
methodItem: {
|
||||||
|
width: '100%',
|
||||||
|
flexDirection: 'row',
|
||||||
|
justifyContent: 'space-between',
|
||||||
|
alignItems: 'center',
|
||||||
|
paddingVertical: 15,
|
||||||
|
marginBottom: 5,
|
||||||
|
},
|
||||||
|
iconContent: {
|
||||||
|
width: 30,
|
||||||
|
marginRight: 10,
|
||||||
|
alignItems: 'center',
|
||||||
|
},
|
||||||
});
|
});
|
||||||
|
|
||||||
const ActivateBuySubscriptionScreen = ({
|
const ActivateBuySubscriptionScreen = ({
|
||||||
|
@ -186,6 +217,7 @@ const ActivateBuySubscriptionScreen = ({
|
||||||
const [password, setPassword] = useState(null);
|
const [password, setPassword] = useState(null);
|
||||||
const [subscriptions, setSubscriptions] = useState([]);
|
const [subscriptions, setSubscriptions] = useState([]);
|
||||||
const [subscription, setSubscription] = useState(null);
|
const [subscription, setSubscription] = useState(null);
|
||||||
|
const [modalPaymentModal, setModalPaymentModal] = useState(true);
|
||||||
|
|
||||||
const dispatch = useDispatch();
|
const dispatch = useDispatch();
|
||||||
let dropDownAlertRef: any = null;
|
let dropDownAlertRef: any = null;
|
||||||
|
@ -280,10 +312,140 @@ const ActivateBuySubscriptionScreen = ({
|
||||||
}, [activatePaySubscription]);
|
}, [activatePaySubscription]);
|
||||||
|
|
||||||
const RegisterSchema = Yup.object().shape({
|
const RegisterSchema = Yup.object().shape({
|
||||||
password: wallet.password_validation === "MAX" ? Yup.string()
|
password: wallet.password_validation === "MAX" ? Yup.string()
|
||||||
.required(I18n.t('THIS_FIELD_IS_REQUIRED')) : Yup.string()
|
.required(I18n.t('THIS_FIELD_IS_REQUIRED')) : Yup.string()
|
||||||
});
|
});
|
||||||
|
|
||||||
|
const renderPaymentMethodModal = () => (
|
||||||
|
<ScrollView style={{flex: 1}}>
|
||||||
|
<View style={[styles.containModal, {backgroundColor: Color.containerBackgroundColor}]}>
|
||||||
|
<Modal
|
||||||
|
isVisible={modalPaymentModal}
|
||||||
|
onSwipeComplete={() => {
|
||||||
|
setModalPaymentModal(false);
|
||||||
|
}}
|
||||||
|
swipeDirection={['down']}
|
||||||
|
style={styles.bottomModal}>
|
||||||
|
<View
|
||||||
|
style={[
|
||||||
|
styles.contentFilterBottom,
|
||||||
|
{backgroundColor: Color.containerBackgroundColor},
|
||||||
|
]}>
|
||||||
|
<View style={styles.contentSwipeDown}>
|
||||||
|
<View style={styles.lineSwipeDown}/>
|
||||||
|
</View>
|
||||||
|
|
||||||
|
<Text body2 style={{marginTop: 10}}>{I18n.t('PAYMENT_METHOD')}</Text>
|
||||||
|
|
||||||
|
<View>
|
||||||
|
<TouchableOpacity
|
||||||
|
style={[
|
||||||
|
styles.methodItem,
|
||||||
|
{
|
||||||
|
borderBottomColor: Color.borderColor,
|
||||||
|
borderBottomWidth: 1,
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
onPress={() => {
|
||||||
|
}}>
|
||||||
|
<View
|
||||||
|
style={{
|
||||||
|
flexDirection: 'row',
|
||||||
|
alignItems: 'center',
|
||||||
|
}}>
|
||||||
|
<View style={styles.iconContent}>
|
||||||
|
<Icon name="paypal" size={24} color={Color.textColor}/>
|
||||||
|
</View>
|
||||||
|
<Text headline>{I18n.t('PAYPAL')}</Text>
|
||||||
|
</View>
|
||||||
|
<Icon
|
||||||
|
name="angle-right"
|
||||||
|
size={18}
|
||||||
|
color={Color.primaryColor}
|
||||||
|
enableRTL
|
||||||
|
/>
|
||||||
|
</TouchableOpacity>
|
||||||
|
<TouchableOpacity
|
||||||
|
style={[
|
||||||
|
styles.methodItem,
|
||||||
|
{
|
||||||
|
borderBottomColor: Color.borderColor,
|
||||||
|
borderBottomWidth: 1,
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
onPress={() => {
|
||||||
|
|
||||||
|
}}>
|
||||||
|
<View
|
||||||
|
style={{
|
||||||
|
flexDirection: 'row',
|
||||||
|
alignItems: 'center',
|
||||||
|
}}>
|
||||||
|
<View style={styles.iconContent}>
|
||||||
|
<Icon
|
||||||
|
name="cc-visa"
|
||||||
|
size={24}
|
||||||
|
color={Color.textColor}
|
||||||
|
/>
|
||||||
|
</View>
|
||||||
|
<Text headline>{I18n.t('CREDIT_CARD')}</Text>
|
||||||
|
</View>
|
||||||
|
<Icon
|
||||||
|
name="angle-right"
|
||||||
|
size={18}
|
||||||
|
color={Color.primaryColor}
|
||||||
|
enableRTL
|
||||||
|
/>
|
||||||
|
</TouchableOpacity>
|
||||||
|
<TouchableOpacity
|
||||||
|
style={[
|
||||||
|
styles.methodItem,
|
||||||
|
{
|
||||||
|
borderBottomColor: Color.borderColor,
|
||||||
|
borderBottomWidth: 1,
|
||||||
|
},
|
||||||
|
]}
|
||||||
|
onPress={() => {
|
||||||
|
/* navigation.navigate('WebviewModalScreen', {
|
||||||
|
url: `${Config.YOOLEARN_CINET_PAY}`,
|
||||||
|
title: t('terms_of_services'),
|
||||||
|
}); */
|
||||||
|
}}>
|
||||||
|
<View
|
||||||
|
style={{
|
||||||
|
flexDirection: 'row',
|
||||||
|
alignItems: 'center',
|
||||||
|
}}>
|
||||||
|
<View style={styles.iconContent}>
|
||||||
|
<Icon
|
||||||
|
name="mobile-alt"
|
||||||
|
size={24}
|
||||||
|
color={Color.textColor}
|
||||||
|
/>
|
||||||
|
</View>
|
||||||
|
<Text headline>{I18n.t('MOBILE_MONEY')}</Text>
|
||||||
|
</View>
|
||||||
|
<Icon
|
||||||
|
name="angle-right"
|
||||||
|
size={18}
|
||||||
|
color={Color.primaryColor}
|
||||||
|
enableRTL
|
||||||
|
/>
|
||||||
|
</TouchableOpacity>
|
||||||
|
</View>
|
||||||
|
<Button
|
||||||
|
full
|
||||||
|
style={{marginTop: 10, marginBottom: 20}}
|
||||||
|
onPress={() => setModalPaymentModal(false)}>
|
||||||
|
{I18n.t('OK')}
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
</View>
|
||||||
|
</Modal>
|
||||||
|
</View>
|
||||||
|
</ScrollView>
|
||||||
|
)
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ScreenComponent>
|
<ScreenComponent>
|
||||||
<DropdownAlert ref={ref => (dropDownAlertRef = ref)}/>
|
<DropdownAlert ref={ref => (dropDownAlertRef = ref)}/>
|
||||||
|
@ -302,7 +464,8 @@ const ActivateBuySubscriptionScreen = ({
|
||||||
subscriptionRef.shake(800);
|
subscriptionRef.shake(800);
|
||||||
} else {
|
} else {
|
||||||
console.log("subscription", subscription);
|
console.log("subscription", subscription);
|
||||||
fetchActivePaySubscription(subscription.id, {password: values.password});
|
setModalPaymentModal(true);
|
||||||
|
//fetchActivePaySubscription(subscription.id, {password: values.password});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}}>
|
}}>
|
||||||
|
@ -360,7 +523,7 @@ const ActivateBuySubscriptionScreen = ({
|
||||||
return value
|
return value
|
||||||
}}
|
}}
|
||||||
labelExtractor={(value) => {
|
labelExtractor={(value) => {
|
||||||
return `${I18n.t('MNT')}: ${value.amount} | ${I18n.t('FACT')}: ${value.invoice_id.slice(0,7)} | ${I18n.t('ECH')}: ${value.deadline_number}`
|
return `${I18n.t('MNT')}: ${value.amount} | ${I18n.t('FACT')}: ${value.invoice_id.slice(0, 7)} | ${I18n.t('ECH')}: ${value.deadline_number}`
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</Animatable.View>
|
</Animatable.View>
|
||||||
|
@ -391,6 +554,7 @@ const ActivateBuySubscriptionScreen = ({
|
||||||
</View>
|
</View>
|
||||||
)}
|
)}
|
||||||
</Formik>
|
</Formik>
|
||||||
|
{modalPaymentModal && renderPaymentMethodModal()}
|
||||||
|
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
</KeyboardAvoidingView>
|
</KeyboardAvoidingView>
|
||||||
|
|
|
@ -440,8 +440,7 @@ const AddBeneficiaryScreen = ({
|
||||||
}, [uploadInsuranceImages]);
|
}, [uploadInsuranceImages]);
|
||||||
|
|
||||||
const RegisterSchema = Yup.object().shape({
|
const RegisterSchema = Yup.object().shape({
|
||||||
password: wallet.password_validation === "MAX" ? Yup.string()
|
password: Yup.string().required(I18n.t('THIS_FIELD_IS_REQUIRED'))
|
||||||
.required(I18n.t('THIS_FIELD_IS_REQUIRED')) : Yup.string()
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const AddBeneficiarySchema = Yup.object().shape({
|
const AddBeneficiarySchema = Yup.object().shape({
|
||||||
|
@ -983,8 +982,6 @@ const AddBeneficiaryScreen = ({
|
||||||
/>
|
/>
|
||||||
</Animatable.View>
|
</Animatable.View>
|
||||||
|
|
||||||
{
|
|
||||||
wallet.password_validation === "MAX" &&
|
|
||||||
<PasswordInput
|
<PasswordInput
|
||||||
style={{marginTop: 10}}
|
style={{marginTop: 10}}
|
||||||
onChangeText={handleChange('password')}
|
onChangeText={handleChange('password')}
|
||||||
|
@ -997,9 +994,6 @@ const AddBeneficiaryScreen = ({
|
||||||
touched={touched.password}
|
touched={touched.password}
|
||||||
error={errors.password}
|
error={errors.password}
|
||||||
/>
|
/>
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
<View
|
<View
|
||||||
style={{
|
style={{
|
||||||
flexDirection: 'column',
|
flexDirection: 'column',
|
||||||
|
|
|
@ -309,8 +309,7 @@ const DeleteBeneficiaryScreen = ({
|
||||||
|
|
||||||
|
|
||||||
const RegisterSchema = Yup.object().shape({
|
const RegisterSchema = Yup.object().shape({
|
||||||
password: wallet.password_validation === "MAX" ? Yup.string()
|
password:Yup.string().required(I18n.t('THIS_FIELD_IS_REQUIRED'))
|
||||||
.required(I18n.t('THIS_FIELD_IS_REQUIRED')) : Yup.string()
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const renderModalViewBeneficiaries = () => {
|
const renderModalViewBeneficiaries = () => {
|
||||||
|
@ -485,21 +484,18 @@ const DeleteBeneficiaryScreen = ({
|
||||||
/>
|
/>
|
||||||
</Animatable.View>
|
</Animatable.View>
|
||||||
|
|
||||||
{
|
<PasswordInput
|
||||||
wallet.password_validation === "MAX" &&
|
style={{marginTop: 10}}
|
||||||
<PasswordInput
|
onChangeText={handleChange('password')}
|
||||||
style={{marginTop: 10}}
|
placeholder={I18n.t('PASSWORD')}
|
||||||
onChangeText={handleChange('password')}
|
secureTextEntry
|
||||||
placeholder={I18n.t('PASSWORD')}
|
icon={<FontAwesome name="lock" size={20}/>}
|
||||||
secureTextEntry
|
value={values.password}
|
||||||
icon={<FontAwesome name="lock" size={20}/>}
|
onBlur={handleBlur('password')}
|
||||||
value={values.password}
|
success={touched.password && !errors.password}
|
||||||
onBlur={handleBlur('password')}
|
touched={touched.password}
|
||||||
success={touched.password && !errors.password}
|
error={errors.password}
|
||||||
touched={touched.password}
|
/>
|
||||||
error={errors.password}
|
|
||||||
/>
|
|
||||||
}
|
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
style={{marginTop: 20}}
|
style={{marginTop: 20}}
|
||||||
|
|
|
@ -465,8 +465,7 @@ const InsuranceSubscriptionScreen = ({
|
||||||
}, [uploadInsuranceImages]);
|
}, [uploadInsuranceImages]);
|
||||||
|
|
||||||
const RegisterSchema = Yup.object().shape({
|
const RegisterSchema = Yup.object().shape({
|
||||||
password: wallet.password_validation === "MAX" ? Yup.string()
|
password:Yup.string().required(I18n.t('THIS_FIELD_IS_REQUIRED'))
|
||||||
.required(I18n.t('THIS_FIELD_IS_REQUIRED')) : Yup.string()
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const AddBeneficiarySchema = Yup.object().shape({
|
const AddBeneficiarySchema = Yup.object().shape({
|
||||||
|
@ -1270,8 +1269,7 @@ const InsuranceSubscriptionScreen = ({
|
||||||
</View>*/
|
</View>*/
|
||||||
}
|
}
|
||||||
|
|
||||||
{
|
|
||||||
wallet.password_validation === "MAX" &&
|
|
||||||
<PasswordInput
|
<PasswordInput
|
||||||
style={{marginTop: 10}}
|
style={{marginTop: 10}}
|
||||||
onChangeText={handleChange('password')}
|
onChangeText={handleChange('password')}
|
||||||
|
@ -1284,9 +1282,6 @@ const InsuranceSubscriptionScreen = ({
|
||||||
touched={touched.password}
|
touched={touched.password}
|
||||||
error={errors.password}
|
error={errors.password}
|
||||||
/>
|
/>
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
<View
|
<View
|
||||||
style={{
|
style={{
|
||||||
flexDirection: 'column',
|
flexDirection: 'column',
|
||||||
|
|
|
@ -278,8 +278,7 @@ const RenewAssuranceScreen = ({
|
||||||
}, [stopSubscription]);
|
}, [stopSubscription]);
|
||||||
|
|
||||||
const RegisterSchema = Yup.object().shape({
|
const RegisterSchema = Yup.object().shape({
|
||||||
password: wallet.password_validation === "MAX" ? Yup.string()
|
password: Yup.string().required(I18n.t('THIS_FIELD_IS_REQUIRED'))
|
||||||
.required(I18n.t('THIS_FIELD_IS_REQUIRED')) : Yup.string()
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -363,8 +362,6 @@ const RenewAssuranceScreen = ({
|
||||||
/>
|
/>
|
||||||
</Animatable.View>
|
</Animatable.View>
|
||||||
|
|
||||||
{
|
|
||||||
wallet.password_validation === "MAX" &&
|
|
||||||
<PasswordInput
|
<PasswordInput
|
||||||
style={{marginTop: 10}}
|
style={{marginTop: 10}}
|
||||||
onChangeText={handleChange('password')}
|
onChangeText={handleChange('password')}
|
||||||
|
@ -377,8 +374,6 @@ const RenewAssuranceScreen = ({
|
||||||
touched={touched.password}
|
touched={touched.password}
|
||||||
error={errors.password}
|
error={errors.password}
|
||||||
/>
|
/>
|
||||||
}
|
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
style={{marginTop: 20}}
|
style={{marginTop: 20}}
|
||||||
full
|
full
|
||||||
|
|
|
@ -278,8 +278,7 @@ const StopSubscriptionScreen = ({
|
||||||
}, [stopSubscription]);
|
}, [stopSubscription]);
|
||||||
|
|
||||||
const RegisterSchema = Yup.object().shape({
|
const RegisterSchema = Yup.object().shape({
|
||||||
password: wallet.password_validation === "MAX" ? Yup.string()
|
password: Yup.string().required(I18n.t('THIS_FIELD_IS_REQUIRED'))
|
||||||
.required(I18n.t('THIS_FIELD_IS_REQUIRED')) : Yup.string()
|
|
||||||
});
|
});
|
||||||
|
|
||||||
return (
|
return (
|
||||||
|
@ -363,21 +362,18 @@ const StopSubscriptionScreen = ({
|
||||||
/>
|
/>
|
||||||
</Animatable.View>
|
</Animatable.View>
|
||||||
|
|
||||||
{
|
<PasswordInput
|
||||||
wallet.password_validation === "MAX" &&
|
style={{marginTop: 10}}
|
||||||
<PasswordInput
|
onChangeText={handleChange('password')}
|
||||||
style={{marginTop: 10}}
|
placeholder={I18n.t('PASSWORD')}
|
||||||
onChangeText={handleChange('password')}
|
secureTextEntry
|
||||||
placeholder={I18n.t('PASSWORD')}
|
icon={<FontAwesome name="lock" size={20}/>}
|
||||||
secureTextEntry
|
value={values.password}
|
||||||
icon={<FontAwesome name="lock" size={20}/>}
|
onBlur={handleBlur('password')}
|
||||||
value={values.password}
|
success={touched.password && !errors.password}
|
||||||
onBlur={handleBlur('password')}
|
touched={touched.password}
|
||||||
success={touched.password && !errors.password}
|
error={errors.password}
|
||||||
touched={touched.password}
|
/>
|
||||||
error={errors.password}
|
|
||||||
/>
|
|
||||||
}
|
|
||||||
|
|
||||||
<Button
|
<Button
|
||||||
style={{marginTop: 20}}
|
style={{marginTop: 20}}
|
||||||
|
|
|
@ -268,6 +268,7 @@
|
||||||
"EMETTEUR": "Emetteur",
|
"EMETTEUR": "Emetteur",
|
||||||
"FIRSTNAME_EMETTEUR": "Prénom(s) émetteur",
|
"FIRSTNAME_EMETTEUR": "Prénom(s) émetteur",
|
||||||
"EMAIL_EMETTEUR": "Email émetteur ",
|
"EMAIL_EMETTEUR": "Email émetteur ",
|
||||||
|
"PHONE_EMETTEUR": "Téléphone émetteur ",
|
||||||
"ID_DESTINATAIRE": "Identifiant destinataire ",
|
"ID_DESTINATAIRE": "Identifiant destinataire ",
|
||||||
"NUMERO_IDENTITE_EMETTEUR": "Numéro d'identité de l'émetteur",
|
"NUMERO_IDENTITE_EMETTEUR": "Numéro d'identité de l'émetteur",
|
||||||
"NAME_DESTINATAIRE": "Nom(s) destinataire",
|
"NAME_DESTINATAIRE": "Nom(s) destinataire",
|
||||||
|
@ -574,7 +575,7 @@
|
||||||
"DEMAND_AUTORIZATION_HEALTH": "Demande de prise en charge",
|
"DEMAND_AUTORIZATION_HEALTH": "Demande de prise en charge",
|
||||||
"HISTORIC_HEALTH": "Historique",
|
"HISTORIC_HEALTH": "Historique",
|
||||||
"VALID_HEALTH": "Valider un soin ",
|
"VALID_HEALTH": "Valider un soin ",
|
||||||
"ACTIVATE_INSSURANCE": "Activer son assurance",
|
"ACTIVATE_INSSURANCE": "Payer son assurance",
|
||||||
"AMOUNT_PER_DURATION": "Montant par durée",
|
"AMOUNT_PER_DURATION": "Montant par durée",
|
||||||
"AMOUNT_PRIME": "Montant de la prime",
|
"AMOUNT_PRIME": "Montant de la prime",
|
||||||
"ASSURE": "Assuré",
|
"ASSURE": "Assuré",
|
||||||
|
@ -707,6 +708,8 @@
|
||||||
"DEMANDES": "Demandes",
|
"DEMANDES": "Demandes",
|
||||||
"ACTE": "Acte",
|
"ACTE": "Acte",
|
||||||
"AGENT_VALIDEUR": "Agent valideur",
|
"AGENT_VALIDEUR": "Agent valideur",
|
||||||
|
"AGENT_VALIDEUR_EMAIL": "Email agent valideur",
|
||||||
|
"AGENT_VALIDEUR_PHONE": "Téléphone agent valideur",
|
||||||
"TEXT_SUPPRESS_CONFIRM_BENEFICIARY": "Voulez vous vraiment supprimer cet ayant droit ?",
|
"TEXT_SUPPRESS_CONFIRM_BENEFICIARY": "Voulez vous vraiment supprimer cet ayant droit ?",
|
||||||
"ENTER_PASSWORD_TO_VALID_MODIFICATION": "Renseigner votre mot de passe et valider la suppression de l'ayant pour le supprimé définitivement",
|
"ENTER_PASSWORD_TO_VALID_MODIFICATION": "Renseigner votre mot de passe et valider la suppression de l'ayant pour le supprimé définitivement",
|
||||||
"PLEASE_SELECT_AT_LEAST_ASSURE": "Veuillez sélectionner au moins un ayant droit",
|
"PLEASE_SELECT_AT_LEAST_ASSURE": "Veuillez sélectionner au moins un ayant droit",
|
||||||
|
@ -742,5 +745,9 @@
|
||||||
"EXCLUSION": "Exclusion",
|
"EXCLUSION": "Exclusion",
|
||||||
"VALIDATION_EFFECTUE": "Validation effectué",
|
"VALIDATION_EFFECTUE": "Validation effectué",
|
||||||
"USER_SUCCESSFULLY_VALIDATED": "Utilisateur validé avec succès",
|
"USER_SUCCESSFULLY_VALIDATED": "Utilisateur validé avec succès",
|
||||||
"BENEFICIARY": "Bénéficiaire"
|
"BENEFICIARY": "Bénéficiaire",
|
||||||
|
"AUTORISATION_SOIN": "Autorisation soin",
|
||||||
|
"PAYMENT_METHOD": "Méthode de paiement",
|
||||||
|
"MOBILE_MONEY": "Mobile Money",
|
||||||
|
"PAYPAL": "Paypal"
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,11 +11,8 @@ export const baseUrl = "http://test.ilink-app.com:8080/mobilebackend";
|
||||||
export const testBaseUrl = "https://test.ilink-app.com";
|
export const testBaseUrl = "https://test.ilink-app.com";
|
||||||
export const testBaseUrlWithPort = "https://test.ilink-app.com:8086";
|
export const testBaseUrlWithPort = "https://test.ilink-app.com:8086";
|
||||||
|
|
||||||
|
|
||||||
/*export const baseUrl = "https://ilink-app.com/mobilebackend";
|
/*export const baseUrl = "https://ilink-app.com/mobilebackend";
|
||||||
export const testBaseUrl = "https://ilink-app.com:8080";
|
export const testBaseUrl = "https://ilink-app.com:8080";*/
|
||||||
export const testBaseUrlWithPort = "https://ilink-app.com:8086";*/
|
|
||||||
|
|
||||||
|
|
||||||
/* export const baseUrl = "https://preprod.ilink-app.com:8080/mobilebackend";
|
/* export const baseUrl = "https://preprod.ilink-app.com:8080/mobilebackend";
|
||||||
export const testBaseUrl = "https://preprod.ilink-app.com"; */
|
export const testBaseUrl = "https://preprod.ilink-app.com"; */
|
||||||
|
@ -85,19 +82,27 @@ export const getIlinkBankListUrl = testBaseUrl + '/walletService/wallets/users/b
|
||||||
export const linkBankAccountUrl = testBaseUrl + '/walletService/wallets/users/link_bank_account';
|
export const linkBankAccountUrl = testBaseUrl + '/walletService/wallets/users/link_bank_account';
|
||||||
export const payBillUrl = testBaseUrl + '/walletService/transactions/ilink';
|
export const payBillUrl = testBaseUrl + '/walletService/transactions/ilink';
|
||||||
|
|
||||||
|
export const searchUserUrl = testBaseUrl + '/walletService/search/users';
|
||||||
|
export const searchUserHomeUrl = testBaseUrl + '/walletService/agents';
|
||||||
|
export const getQRCodeDetail = testBaseUrl + '/walletService/qrcode/read';
|
||||||
|
|
||||||
|
|
||||||
export const facturerSoinUrl = testBaseUrl + '/nanoSanteService/generate-invoice';
|
export const facturerSoinUrl = testBaseUrl + '/nanoSanteService/generate-invoice';
|
||||||
export const invoiceUrl = testBaseUrl + '/nanoSanteService/invoices';
|
export const invoiceUrl = testBaseUrl + '/nanoSanteService/invoices';
|
||||||
|
export const exclusionUrl = testBaseUrl + '/nanoSanteService/exclusions';
|
||||||
export const getInsuranceListUrl = testBaseUrl + '/nanoSanteService/insurances';
|
export const getInsuranceListUrl = testBaseUrl + '/nanoSanteService/insurances';
|
||||||
export const checkInsuranceCoverageAmountUrl = testBaseUrl + '/nanoSanteService/health-care-sheets/check-insurance-coverage-amount';
|
export const checkInsuranceCoverageAmountUrl = testBaseUrl + '/nanoSanteService/health-care-sheets/check-insurance-coverage-amount';
|
||||||
export const getUserByIdQRCodeUrl = testBaseUrl + '/walletService/qrcode/read';
|
export const getUserByIdQRCodeUrl = testBaseUrl + '/walletService/qrcode/read';
|
||||||
export const getUserByNameOrNumberUrl = testBaseUrl + '/nanoSanteService/insured';
|
export const getUserByNameOrNumberUrl = testBaseUrl + '/nanoSanteService/insured';
|
||||||
export const getDrugAndDevicesUrl = testBaseUrl + '/nanoSanteService/drugs-and-devices';
|
export const getDrugAndDevicesUrl = testBaseUrl + '/nanoSanteService/drugs-and-devices';
|
||||||
export const subscribeInsuranceUrl = testBaseUrl + '/nanoSanteService/insurances/subscriptions';
|
export const subscribeInsuranceUrl = testBaseUrl + '/nanoSanteService/insurances/subscriptions';
|
||||||
|
export const buyInsuranceUrl = testBaseUrl + '/nanoSanteService/insurances/invoices';
|
||||||
export const getProviderClassUrl = testBaseUrl + '/nanoSanteService/provider-classes';
|
export const getProviderClassUrl = testBaseUrl + '/nanoSanteService/provider-classes';
|
||||||
export const getNetworkActsUrl = testBaseUrl + '/nanoSanteService/acts';
|
export const getNetworkActsUrl = testBaseUrl + '/nanoSanteService/acts';
|
||||||
export const createConsultationUrl = testBaseUrl + '/nanoSanteService/health-care-sheets/consultation';
|
export const createConsultationUrl = testBaseUrl + '/nanoSanteService/health-care-sheets/consultation';
|
||||||
export const executionPrescriptionUrl = testBaseUrl + '/nanoSanteService/health-care-sheets/execution';
|
export const executionPrescriptionUrl = testBaseUrl + '/nanoSanteService/health-care-sheets/execution';
|
||||||
export const consultationUrl = testBaseUrl + '/nanoSanteService/health-care-sheets';
|
export const consultationUrl = testBaseUrl + '/nanoSanteService/health-care-sheets';
|
||||||
|
export const passwordValidationUrl = testBaseUrl + '/nanoSanteService/password-validation';
|
||||||
export const getAmountConsultationUrl = testBaseUrl + '/nanoSanteService/health-care-sheets/performances-amount';
|
export const getAmountConsultationUrl = testBaseUrl + '/nanoSanteService/health-care-sheets/performances-amount';
|
||||||
export const getInsurancePrimeAmountUrl = testBaseUrl + '/nanoSanteService/insurances/subscriptions/bonus-amount';
|
export const getInsurancePrimeAmountUrl = testBaseUrl + '/nanoSanteService/insurances/subscriptions/bonus-amount';
|
||||||
export const autorisationCareRequestUrl = testBaseUrl + '/nanoSanteService/authorizations-care-requests';
|
export const autorisationCareRequestUrl = testBaseUrl + '/nanoSanteService/authorizations-care-requests';
|
||||||
|
@ -112,4 +117,4 @@ export const authKeyData = {
|
||||||
"grant_type": "password",
|
"grant_type": "password",
|
||||||
"client_id": "2",
|
"client_id": "2",
|
||||||
"client_secret": "rrbvxACJPBOG4cqjDNlstSljlmjydLon3P55JMav",
|
"client_secret": "rrbvxACJPBOG4cqjDNlstSljlmjydLon3P55JMav",
|
||||||
};
|
};
|
Loading…
Reference in New Issue