Validation identification
This commit is contained in:
parent
f130efa5f2
commit
2d027283b9
2
App.js
2
App.js
|
@ -50,6 +50,7 @@ import WalletRetrait from './screens/wallet/WalletRetrait';
|
||||||
import CreateIdentification from './screens/identification/createIdentification';
|
import CreateIdentification from './screens/identification/createIdentification';
|
||||||
import WalletDetailUser from './screens/wallet/WalletDetailUser';
|
import WalletDetailUser from './screens/wallet/WalletDetailUser';
|
||||||
import WalletOptionSelect from './screens/wallet/WalletOptionSelect';
|
import WalletOptionSelect from './screens/wallet/WalletOptionSelect';
|
||||||
|
import ValidateIdentification from './screens/identification/validateIdentification';
|
||||||
|
|
||||||
const instructions = Platform.select({
|
const instructions = Platform.select({
|
||||||
ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu',
|
ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu',
|
||||||
|
@ -99,6 +100,7 @@ const AppAgentStack = createDrawerNavigator({
|
||||||
useraccount: UserAccount,
|
useraccount: UserAccount,
|
||||||
walletSelect: WalletSelect,
|
walletSelect: WalletSelect,
|
||||||
createIdentification: CreateIdentification,
|
createIdentification: CreateIdentification,
|
||||||
|
validateIdentification: ValidateIdentification,
|
||||||
Historique:
|
Historique:
|
||||||
{
|
{
|
||||||
screen: createBottomTabNavigator({ myDemand: MyHistory }, {
|
screen: createBottomTabNavigator({ myDemand: MyHistory }, {
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -32,5 +32,7 @@
|
||||||
"walletDepot": "walletDepot",
|
"walletDepot": "walletDepot",
|
||||||
"walletRetrait": "walletRetrait",
|
"walletRetrait": "walletRetrait",
|
||||||
"walletSelect": "walletSelect",
|
"walletSelect": "walletSelect",
|
||||||
"walletOptionSelect": "walletOptionSelect"
|
"walletOptionSelect": "walletOptionSelect",
|
||||||
|
"createIdentification": "createIdentification",
|
||||||
|
"validateIdentification": "validateIdentification"
|
||||||
}
|
}
|
||||||
|
|
|
@ -71,11 +71,13 @@
|
||||||
"DEPOSIT_CASH_TO_VISA": "Cash to visa card",
|
"DEPOSIT_CASH_TO_VISA": "Cash to visa card",
|
||||||
"DEPOSIT_CASH_TO_BANK": "Cash to bank",
|
"DEPOSIT_CASH_TO_BANK": "Cash to bank",
|
||||||
"DEPOSIT_WALLET_TO_WALLET": "Wallet to wallet",
|
"DEPOSIT_WALLET_TO_WALLET": "Wallet to wallet",
|
||||||
"DEPOSIT_TO_CASH": "Deposit to cash",
|
"DEPOSIT_TO_CASH": "Wallet to cash",
|
||||||
"DEPOSIT_TO_CARD": "Deposit to card",
|
"DEPOSIT_TO_CARD": "Wallet to card",
|
||||||
"DEPOSIT_TO_BANK": "Deposit to bank",
|
"DEPOSIT_TO_BANK": "Wallet to bank",
|
||||||
"NANO_CREDIT": "Nano credit",
|
"NANO_CREDIT": "Nano credit",
|
||||||
|
"NANO_CREDIT_DESCRIPTION": "Nano credit description",
|
||||||
"NANO_SANTE": "Nano health",
|
"NANO_SANTE": "Nano health",
|
||||||
|
"NANO_SANTE_DESCRIPTION": "Nano health description",
|
||||||
"PAIEMENT_FACTURE": "Bill payment",
|
"PAIEMENT_FACTURE": "Bill payment",
|
||||||
"DEMAND_SEND": "Demand send",
|
"DEMAND_SEND": "Demand send",
|
||||||
"WITHDRAWAL_DESCRIPTION": "Make a withdrawal",
|
"WITHDRAWAL_DESCRIPTION": "Make a withdrawal",
|
||||||
|
@ -94,6 +96,7 @@
|
||||||
"SELECT_YOUR_WALLET": "Select your wallet",
|
"SELECT_YOUR_WALLET": "Select your wallet",
|
||||||
"TRANSACTIONS": "Transactions",
|
"TRANSACTIONS": "Transactions",
|
||||||
"TRANSACTION_HISTORY": "Transactions history",
|
"TRANSACTION_HISTORY": "Transactions history",
|
||||||
|
"HISTORY": "History",
|
||||||
"DEPOSIT_TRANSACTION_HISTORY_DESCRIPTION": "Deposit of",
|
"DEPOSIT_TRANSACTION_HISTORY_DESCRIPTION": "Deposit of",
|
||||||
"NO_WALLET_HISTORY": "No transaction",
|
"NO_WALLET_HISTORY": "No transaction",
|
||||||
"WITHDRAWAL_TRANSACTION_HISTORY_DESCRIPTION": "Withdrawal of",
|
"WITHDRAWAL_TRANSACTION_HISTORY_DESCRIPTION": "Withdrawal of",
|
||||||
|
@ -141,6 +144,7 @@
|
||||||
"CHOICE_TOWN": "Choose a town",
|
"CHOICE_TOWN": "Choose a town",
|
||||||
"PIECE_IDENTITE": "Identity piece",
|
"PIECE_IDENTITE": "Identity piece",
|
||||||
"IDENTITY_CARD": "Identity card",
|
"IDENTITY_CARD": "Identity card",
|
||||||
|
"NUMERO_IDENTITE": "Identity number",
|
||||||
"PASSEPORT": "Passeport",
|
"PASSEPORT": "Passeport",
|
||||||
"OTHER_IDENTITY_PIECE": "Other",
|
"OTHER_IDENTITY_PIECE": "Other",
|
||||||
"IDENTITY_NUMBER": "N° of piece",
|
"IDENTITY_NUMBER": "N° of piece",
|
||||||
|
|
|
@ -76,11 +76,13 @@
|
||||||
"DEPOSIT_CASH_TO_VISA": "Cash vers carte visa",
|
"DEPOSIT_CASH_TO_VISA": "Cash vers carte visa",
|
||||||
"DEPOSIT_CASH_TO_BANK": "Cash vers banque",
|
"DEPOSIT_CASH_TO_BANK": "Cash vers banque",
|
||||||
"DEPOSIT_WALLET_TO_WALLET": "Wallet vers wallet",
|
"DEPOSIT_WALLET_TO_WALLET": "Wallet vers wallet",
|
||||||
"DEPOSIT_TO_CASH": "Dépôt vers cash",
|
"DEPOSIT_TO_CASH": "Wallet vers cash",
|
||||||
"DEPOSIT_TO_CARD": "Dépôt vers carte",
|
"DEPOSIT_TO_CARD": "Wallet vers carte",
|
||||||
"DEPOSIT_TO_BANK": "Dépôt vers banque",
|
"DEPOSIT_TO_BANK": "Wallet vers banque",
|
||||||
"NANO_CREDIT": "Nano crédit",
|
"NANO_CREDIT": "Nano crédit",
|
||||||
|
"NANO_CREDIT_DESCRIPTION": "Nano crédit iLink",
|
||||||
"NANO_SANTE": "Nano santé",
|
"NANO_SANTE": "Nano santé",
|
||||||
|
"NANO_SANTE_DESCRIPTION": "Nano santé iLink",
|
||||||
"PAIEMENT_FACTURE": "Paiement de facture",
|
"PAIEMENT_FACTURE": "Paiement de facture",
|
||||||
"WITHDRAWAL_DESCRIPTION": "Effectuer un retrait",
|
"WITHDRAWAL_DESCRIPTION": "Effectuer un retrait",
|
||||||
"COMMISSION_ACCOUNT_TITLE": "Cpt. commission",
|
"COMMISSION_ACCOUNT_TITLE": "Cpt. commission",
|
||||||
|
@ -92,12 +94,13 @@
|
||||||
"COMMISSION_TRANSFER_ERROR_EMPTY": "Le solde commission est vide",
|
"COMMISSION_TRANSFER_ERROR_EMPTY": "Le solde commission est vide",
|
||||||
"TRANSACTIONS": "Transactions",
|
"TRANSACTIONS": "Transactions",
|
||||||
"TRANSACTION_HISTORY": "Historique des transactions",
|
"TRANSACTION_HISTORY": "Historique des transactions",
|
||||||
|
"HISTORY": "Historique",
|
||||||
"WITHDRAWAL_TRANSACTION_HISTORY_DESCRIPTION": "Retrait de",
|
"WITHDRAWAL_TRANSACTION_HISTORY_DESCRIPTION": "Retrait de",
|
||||||
"DEPOSIT_TRANSACTION_HISTORY_DESCRIPTION": "Dépôt de",
|
"DEPOSIT_TRANSACTION_HISTORY_DESCRIPTION": "Dépôt de",
|
||||||
"NO_WALLET_HISTORY": "Aucune transaction à ce jour",
|
"NO_WALLET_HISTORY": "Aucune transaction à ce jour",
|
||||||
"DEMAND_SEND": "Demande envoyé",
|
"DEMAND_SEND": "Demande envoyé",
|
||||||
"NO_WALLET_ACTIVED": "Aucun wallet n'est activé pour votre compte",
|
"NO_WALLET_ACTIVED": "Aucun wallet n'est activé pour votre compte",
|
||||||
"TRANSFER_TO_PRINCIPAL_ACCOUNT": "Transférer les commissions",
|
"TRANSFER_TO_PRINCIPAL_ACCOUNT": "Transférer commissions",
|
||||||
"PRINCIPAL": "Principal",
|
"PRINCIPAL": "Principal",
|
||||||
"CREATION_DATE": "Date de création",
|
"CREATION_DATE": "Date de création",
|
||||||
"ENTER_YOUR_CARD_ID": "Entrer vos identifiants bancaires",
|
"ENTER_YOUR_CARD_ID": "Entrer vos identifiants bancaires",
|
||||||
|
@ -146,6 +149,7 @@
|
||||||
"CHOICE_TOWN": "Choisissez une ville",
|
"CHOICE_TOWN": "Choisissez une ville",
|
||||||
"PIECE_IDENTITE": "Pièce d'identité",
|
"PIECE_IDENTITE": "Pièce d'identité",
|
||||||
"IDENTITY_CARD": "Carte d'identité",
|
"IDENTITY_CARD": "Carte d'identité",
|
||||||
|
"NUMERO_IDENTITE": "Numéro d'identité",
|
||||||
"PASSEPORT": "Passeport",
|
"PASSEPORT": "Passeport",
|
||||||
"OTHER_IDENTITY_PIECE": "Autre",
|
"OTHER_IDENTITY_PIECE": "Autre",
|
||||||
"IDENTITY_NUMBER": "N° de la pièce",
|
"IDENTITY_NUMBER": "N° de la pièce",
|
||||||
|
@ -295,7 +299,7 @@
|
||||||
"CREATION_IDENTIFICATION_CLIENT": "M'identifier",
|
"CREATION_IDENTIFICATION_CLIENT": "M'identifier",
|
||||||
"CREATION_IDENTIFICATION_DESCRIPTION": "Identifier un client",
|
"CREATION_IDENTIFICATION_DESCRIPTION": "Identifier un client",
|
||||||
"VALIDATE_IDENTIFICATION": "Validation",
|
"VALIDATE_IDENTIFICATION": "Validation",
|
||||||
"VALIDATE_IDENTIFICATION_DESCRIPTION": "Valider une identi...",
|
"VALIDATE_IDENTIFICATION_DESCRIPTION": "Valider une identification",
|
||||||
"CREATE_IDENTIFICATION_TITLE": "Veuillez renseigner les informations du client",
|
"CREATE_IDENTIFICATION_TITLE": "Veuillez renseigner les informations du client",
|
||||||
"DATE_NAISSANCE": "Date de naissance",
|
"DATE_NAISSANCE": "Date de naissance",
|
||||||
"REGISTER_YOURSELF": "Enregistrez-vous",
|
"REGISTER_YOURSELF": "Enregistrez-vous",
|
||||||
|
|
|
@ -85,7 +85,7 @@ export default function Tag(props) {
|
||||||
textStyle,
|
textStyle,
|
||||||
])}
|
])}
|
||||||
numberOfLines={1}>
|
numberOfLines={1}>
|
||||||
{children || 'Tag'}
|
{children || ''}
|
||||||
</CustomText>
|
</CustomText>
|
||||||
</TouchableOpacity>
|
</TouchableOpacity>
|
||||||
);
|
);
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -15,6 +15,7 @@
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@react-native-community/async-storage": "^1.9.0",
|
"@react-native-community/async-storage": "^1.9.0",
|
||||||
|
"@react-native-community/datetimepicker": "^2.4.0",
|
||||||
"@react-native-community/viewpager": "^3.3.0",
|
"@react-native-community/viewpager": "^3.3.0",
|
||||||
"apsl-react-native-button": "^3.1.1",
|
"apsl-react-native-button": "^3.1.1",
|
||||||
"axios": "^0.19.2",
|
"axios": "^0.19.2",
|
||||||
|
@ -79,7 +80,8 @@
|
||||||
"redux": "^4.0.5",
|
"redux": "^4.0.5",
|
||||||
"redux-persist": "^6.0.0",
|
"redux-persist": "^6.0.0",
|
||||||
"redux-thunk": "^2.3.0",
|
"redux-thunk": "^2.3.0",
|
||||||
"slugify": "^1.4.0"
|
"slugify": "^1.4.0",
|
||||||
|
"thousands": "^1.0.1"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@babel/core": "^7.4.5",
|
"@babel/core": "^7.4.5",
|
||||||
|
|
|
@ -32,5 +32,7 @@
|
||||||
"walletDepot": "walletDepot",
|
"walletDepot": "walletDepot",
|
||||||
"walletRetrait": "walletRetrait",
|
"walletRetrait": "walletRetrait",
|
||||||
"walletSelect": "walletSelect",
|
"walletSelect": "walletSelect",
|
||||||
"walletOptionSelect": "walletOptionSelect"
|
"walletOptionSelect": "walletOptionSelect",
|
||||||
|
"createIdentification": "createIdentification",
|
||||||
|
"validateIdentification": "validateIdentification"
|
||||||
}
|
}
|
||||||
|
|
|
@ -34,7 +34,7 @@ import DeviceInfo from 'react-native-device-info'
|
||||||
import { Color } from '../../config/Color'
|
import { Color } from '../../config/Color'
|
||||||
import { Typography, FontWeight } from '../../config/typography'
|
import { Typography, FontWeight } from '../../config/typography'
|
||||||
import { thousandsSeparators } from '../../utils/UtilsFunction'
|
import { thousandsSeparators } from '../../utils/UtilsFunction'
|
||||||
|
const thousands = require('thousands');
|
||||||
|
|
||||||
var users = null;
|
var users = null;
|
||||||
var chart = null;
|
var chart = null;
|
||||||
|
@ -326,7 +326,7 @@ export default class SuperViseurGroupeHome extends BaseScreen {
|
||||||
<Text style={[Typography.title3, Color.primaryColor], { marginBottom: 1 }}>
|
<Text style={[Typography.title3, Color.primaryColor], { marginBottom: 1 }}>
|
||||||
{I18n.t('PRINCIPAL_ACCOUNT_TITLE')}
|
{I18n.t('PRINCIPAL_ACCOUNT_TITLE')}
|
||||||
</Text>
|
</Text>
|
||||||
<Text style={[Typography.body2]}>{item.balance_princ === null ? 0 : thousandsSeparators(item.balance_princ)}</Text>
|
<Text style={[Typography.body2]}>{item.balance_princ === null ? 0 : thousands(item.balance_princ, ' ')}</Text>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
|
@ -350,7 +350,7 @@ export default class SuperViseurGroupeHome extends BaseScreen {
|
||||||
<Text style={[Typography.title3, Color.primaryColor], { marginBottom: 1 }}>
|
<Text style={[Typography.title3, Color.primaryColor], { marginBottom: 1 }}>
|
||||||
{I18n.t('COMMISSION_ACCOUNT_TITLE')}
|
{I18n.t('COMMISSION_ACCOUNT_TITLE')}
|
||||||
</Text>
|
</Text>
|
||||||
<Text style={Typography.body2}>{item.balance_com === null ? 0 : thousandsSeparators(item.balance_com)}</Text>
|
<Text style={Typography.body2}>{item.balance_com === null ? 0 : thousands(item.balance_com, ' ')}</Text>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
|
|
|
@ -1389,6 +1389,7 @@ class Home extends BaseScreen {
|
||||||
barStyle="light-content"
|
barStyle="light-content"
|
||||||
translucent={true}
|
translucent={true}
|
||||||
/>
|
/>
|
||||||
|
{/* Start here to comment */}
|
||||||
{
|
{
|
||||||
(this.state.loadingDialog || this.props.loading) ?
|
(this.state.loadingDialog || this.props.loading) ?
|
||||||
<View
|
<View
|
||||||
|
|
|
@ -54,8 +54,10 @@ export default class CreateIdentification extends Component {
|
||||||
this.state = {
|
this.state = {
|
||||||
password: null,
|
password: null,
|
||||||
enterPhone: null,
|
enterPhone: null,
|
||||||
|
numeroIdentite: null,
|
||||||
nameanim: null,
|
nameanim: null,
|
||||||
dateNaissance: new Date(),
|
dateNaissance: new Date(),
|
||||||
|
dateExpiration: new Date(),
|
||||||
networksinglePickerVisible: false,
|
networksinglePickerVisible: false,
|
||||||
passwordanim: null,
|
passwordanim: null,
|
||||||
confirmpassanim: null,
|
confirmpassanim: null,
|
||||||
|
@ -69,6 +71,7 @@ export default class CreateIdentification extends Component {
|
||||||
disableNetwork: false,
|
disableNetwork: false,
|
||||||
networks: [],
|
networks: [],
|
||||||
showPickerDateNaissance: false,
|
showPickerDateNaissance: false,
|
||||||
|
showPickerDateExpiration: false,
|
||||||
modalVisible: true,
|
modalVisible: true,
|
||||||
select_network: I18n.t("SELECT_NETWORK"),
|
select_network: I18n.t("SELECT_NETWORK"),
|
||||||
user: null
|
user: null
|
||||||
|
@ -76,6 +79,7 @@ export default class CreateIdentification extends Component {
|
||||||
this.dateNaissanceRef = null;
|
this.dateNaissanceRef = null;
|
||||||
this.surnameanim = null;
|
this.surnameanim = null;
|
||||||
this.dateNaissanceFumiProps = {};
|
this.dateNaissanceFumiProps = {};
|
||||||
|
this.dateExpirationFumiProps = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
|
@ -96,6 +100,8 @@ export default class CreateIdentification extends Component {
|
||||||
componentWillUpdate(nextProps, nextState) {
|
componentWillUpdate(nextProps, nextState) {
|
||||||
if (this.state.showPickerDateNaissance)
|
if (this.state.showPickerDateNaissance)
|
||||||
this.dateNaissanceFumiProps.value = moment(nextState.dateNaissance).format('DD-MM-YYYY');
|
this.dateNaissanceFumiProps.value = moment(nextState.dateNaissance).format('DD-MM-YYYY');
|
||||||
|
if (this.state.showPickerDateExpiration)
|
||||||
|
this.dateExpirationFumiProps.value = moment(nextState.dateExpiration).format('DD-MM-YYYY');
|
||||||
}
|
}
|
||||||
|
|
||||||
componentWillUnmount() {
|
componentWillUnmount() {
|
||||||
|
@ -235,7 +241,7 @@ export default class CreateIdentification extends Component {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
onChange = (event, selectedDate) => {
|
onChangeDateNaissance = (event, selectedDate) => {
|
||||||
const currentDate = selectedDate || this.state.dateNaissance;
|
const currentDate = selectedDate || this.state.dateNaissance;
|
||||||
this.setState({
|
this.setState({
|
||||||
showPickerDateNaissance: Platform.OS === 'ios' || false,
|
showPickerDateNaissance: Platform.OS === 'ios' || false,
|
||||||
|
@ -243,6 +249,14 @@ export default class CreateIdentification extends Component {
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
onChangeDateExpiration = (event, selectedDate) => {
|
||||||
|
const currentDate = selectedDate || this.state.dateExpiration;
|
||||||
|
this.setState({
|
||||||
|
showPickerDateExpiration: Platform.OS === 'ios' || false,
|
||||||
|
dateExpiration: currentDate,
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
renderLoaderModal() {
|
renderLoaderModal() {
|
||||||
return (<MaterialDialog
|
return (<MaterialDialog
|
||||||
visible={this.state.modalVisible}
|
visible={this.state.modalVisible}
|
||||||
|
@ -264,8 +278,23 @@ export default class CreateIdentification extends Component {
|
||||||
value={this.state.dateNaissance}
|
value={this.state.dateNaissance}
|
||||||
mode='date'
|
mode='date'
|
||||||
maximumDate={new Date()}
|
maximumDate={new Date()}
|
||||||
display="calendar"
|
display="spinner"
|
||||||
onChange={this.onChange}
|
onChange={this.onChangeDateNaissance}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
renderDateExpirationPicker = () => {
|
||||||
|
return (
|
||||||
|
<DateTimePicker
|
||||||
|
testID="dateTimePicker"
|
||||||
|
timeZoneOffsetInMinutes={0}
|
||||||
|
is24Hour={true}
|
||||||
|
value={this.state.dateExpiration}
|
||||||
|
mode='date'
|
||||||
|
maximumDate={new Date(2300, 10, 20)}
|
||||||
|
display="spinner"
|
||||||
|
onChange={this.onChangeDateExpiration}
|
||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -276,12 +305,12 @@ export default class CreateIdentification extends Component {
|
||||||
return (
|
return (
|
||||||
<>
|
<>
|
||||||
{this.state.showPickerDateNaissance && this.renderDateNaissancePicker()}
|
{this.state.showPickerDateNaissance && this.renderDateNaissancePicker()}
|
||||||
|
{this.state.showPickerDateExpiration && this.renderDateExpirationPicker()}
|
||||||
{this.state.modalVisible && this.renderLoaderModal()}
|
{this.state.modalVisible && this.renderLoaderModal()}
|
||||||
<ScrollView style={styles.container}>
|
<ScrollView style={styles.container}>
|
||||||
<Text style={styles.subbigtitle}>{I18n.t('CREATE_IDENTIFICATION_TITLE')}</Text>
|
<Text style={styles.subbigtitle}>{I18n.t('CREATE_IDENTIFICATION_TITLE')}</Text>
|
||||||
<Animatable.View ref={(comp) => { this.nameanim = comp }}>
|
<Animatable.View ref={(comp) => { this.nameanim = comp }}>
|
||||||
<Fumi ref={(ref) => { this.dateNaissance = ref }}
|
<Fumi iconClass={FontAwesomeIcon} iconName={'user'}
|
||||||
iconClass={FontAwesomeIcon} iconName={'user'}
|
|
||||||
label={`${I18n.t('NAME')} ${I18n.t('AND')} ${I18n.t('FIRSTNAME')}`}
|
label={`${I18n.t('NAME')} ${I18n.t('AND')} ${I18n.t('FIRSTNAME')}`}
|
||||||
iconColor={'#f95a25'}
|
iconColor={'#f95a25'}
|
||||||
iconSize={20}
|
iconSize={20}
|
||||||
|
@ -378,6 +407,18 @@ export default class CreateIdentification extends Component {
|
||||||
labelExtractor={(value) => { return value.name }}
|
labelExtractor={(value) => { return value.name }}
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
|
<Animatable.View ref={(comp) => { this.nameanim = comp }}>
|
||||||
|
<Fumi iconClass={FontAwesomeIcon} iconName={'address-card'}
|
||||||
|
label={`${I18n.t('NUMERO_IDENTITE')}`}
|
||||||
|
iconColor={'#f95a25'}
|
||||||
|
iconSize={20}
|
||||||
|
onChangeText={(numeroIdentite) => {
|
||||||
|
this.setState({ numeroIdentite })
|
||||||
|
}}
|
||||||
|
style={styles.input}
|
||||||
|
>
|
||||||
|
</Fumi>
|
||||||
|
</Animatable.View>
|
||||||
<Animatable.View ref={(comp) => { this.surnameanim = comp }}>
|
<Animatable.View ref={(comp) => { this.surnameanim = comp }}>
|
||||||
<Fumi iconClass={FontAwesomeIcon} iconName={'calendar-times-o'}
|
<Fumi iconClass={FontAwesomeIcon} iconName={'calendar-times-o'}
|
||||||
label={I18n.t('IDENTITY_PIECE_EXPIRY_DATE')}
|
label={I18n.t('IDENTITY_PIECE_EXPIRY_DATE')}
|
||||||
|
@ -386,17 +427,17 @@ export default class CreateIdentification extends Component {
|
||||||
style={styles.input}
|
style={styles.input}
|
||||||
onFocus={() => {
|
onFocus={() => {
|
||||||
Keyboard.dismiss();
|
Keyboard.dismiss();
|
||||||
this.setState({ showPickerDateNaissance: true })
|
this.setState({ showPickerDateExpiration: true })
|
||||||
}}
|
}}
|
||||||
{...this.dateNaissanceFumiProps}>
|
{...this.dateExpirationFumiProps}>
|
||||||
</Fumi>
|
</Fumi>
|
||||||
</Animatable.View>
|
</Animatable.View>
|
||||||
|
|
||||||
<Button style={styles.btnvalide}
|
<Button style={styles.btnvalide}
|
||||||
textStyle={styles.textbtnvalide}
|
textStyle={styles.textbtnvalide}
|
||||||
isLoading={this.state.isLoging}
|
isLoading={this.state.isLoging}
|
||||||
onPress={() => { this.checkUserGeolocated() }}>
|
onPress={() => { }}>
|
||||||
{I18n.t('NEXT')}</Button>
|
{I18n.t('SUBMIT_LABEL')}</Button>
|
||||||
|
|
||||||
</ScrollView>
|
</ScrollView>
|
||||||
</>
|
</>
|
||||||
|
|
|
@ -0,0 +1,206 @@
|
||||||
|
import React, { Component } from 'react';
|
||||||
|
import { Alert, StyleSheet, Text, View, Image, ScrollView, Platform, ProgressBarAndroid, PermissionsAndroid, Keyboard } from 'react-native';
|
||||||
|
import PropTypes from 'prop-types';
|
||||||
|
import FontAwesomeIcon from 'react-native-vector-icons/FontAwesome';
|
||||||
|
import Ionicons from 'react-native-vector-icons/Ionicons';
|
||||||
|
import Icon from 'react-native-vector-icons/MaterialIcons';
|
||||||
|
import { responsiveHeight, responsiveWidth, responsiveFontSize } from 'react-native-responsive-dimensions';
|
||||||
|
import { Fumi, Kaede } from 'react-native-textinput-effects'
|
||||||
|
import * as Animatable from 'react-native-animatable';
|
||||||
|
import Button from 'apsl-react-native-button';
|
||||||
|
let theme = require('./../../utils/theme.json');
|
||||||
|
let route = require('./../../route.json');
|
||||||
|
import I18n from 'react-native-i18n';
|
||||||
|
import isEqual from 'lodash/isEqual';
|
||||||
|
import { Color } from '../../config/Color';
|
||||||
|
import DateTimePicker from '@react-native-community/datetimepicker';
|
||||||
|
import { Dropdown } from 'react-native-material-dropdown';
|
||||||
|
import { getPositionInformation } from './../../webservice/MapService';
|
||||||
|
import { getCountryNetwork, createGeolocatedAccount, createUserAccount, getTownInformationName, getListCountriesActive, getCodeInformation, readUser } from './../../webservice/AuthApi';
|
||||||
|
import { SinglePickerMaterialDialog, MultiPickerMaterialDialog, MaterialDialog } from "react-native-material-dialog";
|
||||||
|
import Geolocation from 'react-native-geolocation-service';
|
||||||
|
import { identityPieces } from '../../utils/UtilsFunction';
|
||||||
|
const GEOLOCATION_OPTIONS = { enableHighAccuracy: true, timeout: 20000, maximumAge: 1000, useSignificantChanges: true };
|
||||||
|
const moment = require('moment');
|
||||||
|
import LottieView from 'lottie-react-native';
|
||||||
|
|
||||||
|
|
||||||
|
export default class ValidateIdentification extends Component {
|
||||||
|
static navigatorStyle = {
|
||||||
|
navBarBackgroundColor: Color.primaryColor,
|
||||||
|
statusBarColor: Color.primaryDarkColor,
|
||||||
|
navBarTextColor: '#FFFFFF',
|
||||||
|
navBarButtonColor: '#FFFFFF'
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
static navigationOptions = () => {
|
||||||
|
return {
|
||||||
|
drawerLabel: () => null,
|
||||||
|
headerTitle: I18n.t('VALIDATE_IDENTIFICATION_DESCRIPTION'),
|
||||||
|
headerTintColor: 'white',
|
||||||
|
headerStyle: {
|
||||||
|
backgroundColor: Color.primaryColor,
|
||||||
|
marginTop: 0,
|
||||||
|
color: 'white'
|
||||||
|
},
|
||||||
|
headerTitleStyle: {
|
||||||
|
color: "white"
|
||||||
|
},
|
||||||
|
title: I18n.t('VALIDATE_IDENTIFICATION_DESCRIPTION')
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
constructor(props) {
|
||||||
|
super(props);
|
||||||
|
this.state = {
|
||||||
|
memberCode: null
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
componentDidMount() {
|
||||||
|
readUser().then((user) => {
|
||||||
|
if (user) {
|
||||||
|
if (user !== undefined) {
|
||||||
|
this.setState({ user });
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
componentWillUnmount() {
|
||||||
|
}
|
||||||
|
|
||||||
|
showErrorDialog() {
|
||||||
|
this.setState({ modalDialog: false })
|
||||||
|
Aler.alert("Une erreur est survenue", "Impossible de récuperer des informations du pays verifier que votre gps est activé," +
|
||||||
|
"et que vous êtes connecté à internet puis ressayer", [{
|
||||||
|
text: "Recommencer", onPress: () => {
|
||||||
|
this.watchLocation()
|
||||||
|
}
|
||||||
|
}, { text: "Annuler", onPress: () => { this.props.navigation.popToTop() } }])
|
||||||
|
}
|
||||||
|
|
||||||
|
async requestCameraPermission() {
|
||||||
|
try {
|
||||||
|
const granted = await PermissionsAndroid.request(
|
||||||
|
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
|
||||||
|
{
|
||||||
|
'title': 'Cool Photo App Camera Permission',
|
||||||
|
'message': 'Cool Photo App needs access to your camera ' +
|
||||||
|
'so you can take awesome pictures.'
|
||||||
|
}
|
||||||
|
)
|
||||||
|
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
|
||||||
|
this.watchLocation();
|
||||||
|
} else {
|
||||||
|
this.setState({ modalDialog: false })
|
||||||
|
Alert.alert("Echec à l'autorisation",
|
||||||
|
"L'application n'est pas autorisé à acceder à votre position veuillez verifier que votre GPS est activé et configurer en mode Haute Precision",
|
||||||
|
[{
|
||||||
|
text: "Ok", onPress: () => {
|
||||||
|
this.props.navigation.popToTop()
|
||||||
|
}
|
||||||
|
}])
|
||||||
|
}
|
||||||
|
} catch (err) {
|
||||||
|
this.setState({ modalDialog: false })
|
||||||
|
Alert.alert("Une erreur est Survenue",
|
||||||
|
"Une erreur est survenu lors du demarrage de l'application veuillez relancer l'application",
|
||||||
|
[{
|
||||||
|
text: "Ok", onPress: () => {
|
||||||
|
BackHandler.exitApp()
|
||||||
|
}
|
||||||
|
}])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
render() {
|
||||||
|
console.log("STATE", this.state);
|
||||||
|
const { showPickerDateNaissance } = this.state;
|
||||||
|
return (
|
||||||
|
<>
|
||||||
|
<ScrollView style={styles.container}>
|
||||||
|
|
||||||
|
<Text style={styles.subbigtitle}>{I18n.t('CREATE_IDENTIFICATION_TITLE')}</Text>
|
||||||
|
|
||||||
|
<Animatable.View style={{
|
||||||
|
justifyContent: 'center',
|
||||||
|
alignItems: 'center'
|
||||||
|
}} ref={(comp) => { this.nameanim = comp }}>
|
||||||
|
<LottieView
|
||||||
|
style={styles.lottie}
|
||||||
|
source={require('../../datas/json/identity_scan.json')}
|
||||||
|
autoPlay
|
||||||
|
loop={true}
|
||||||
|
/>
|
||||||
|
</Animatable.View>
|
||||||
|
|
||||||
|
<Animatable.View ref={(comp) => { this.nameanim = comp }}>
|
||||||
|
<Fumi iconClass={FontAwesomeIcon} iconName={'lock'}
|
||||||
|
label={`${I18n.t('MEMBER_CODE')}`}
|
||||||
|
iconColor={'#f95a25'}
|
||||||
|
iconSize={20}
|
||||||
|
onChangeText={(memberCode) => {
|
||||||
|
this.setState({ memberCode })
|
||||||
|
}}
|
||||||
|
style={styles.input}
|
||||||
|
>
|
||||||
|
</Fumi>
|
||||||
|
</Animatable.View>
|
||||||
|
|
||||||
|
<Button style={styles.btnvalide}
|
||||||
|
textStyle={styles.textbtnvalide}
|
||||||
|
isLoading={this.state.isLoging}
|
||||||
|
onPress={() => { }}>
|
||||||
|
{I18n.t('SUBMIT_LABEL')}</Button>
|
||||||
|
|
||||||
|
</ScrollView>
|
||||||
|
</>
|
||||||
|
)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const styles = StyleSheet.create({
|
||||||
|
container: {
|
||||||
|
flex: 1,
|
||||||
|
backgroundColor: Color.primaryDarkColor,
|
||||||
|
},
|
||||||
|
textbtnvalide: {
|
||||||
|
color: 'white',
|
||||||
|
fontWeight: 'bold'
|
||||||
|
},
|
||||||
|
bigtitle: {
|
||||||
|
color: 'white',
|
||||||
|
fontSize: 20,
|
||||||
|
flex: 1,
|
||||||
|
fontWeight: 'bold',
|
||||||
|
textAlign: 'center',
|
||||||
|
margin: 20,
|
||||||
|
},
|
||||||
|
subbigtitle: {
|
||||||
|
color: 'white',
|
||||||
|
fontSize: 17,
|
||||||
|
textAlign: 'center',
|
||||||
|
margin: 5,
|
||||||
|
},
|
||||||
|
btnvalide: {
|
||||||
|
marginTop: 20,
|
||||||
|
marginLeft: 20,
|
||||||
|
marginRight: 20,
|
||||||
|
borderColor: 'transparent',
|
||||||
|
backgroundColor: Color.accentLightColor,
|
||||||
|
height: 52
|
||||||
|
},
|
||||||
|
input: {
|
||||||
|
height: 60,
|
||||||
|
marginTop: responsiveHeight(2),
|
||||||
|
marginLeft: responsiveWidth(5),
|
||||||
|
marginRight: responsiveWidth(5),
|
||||||
|
borderRadius: 5,
|
||||||
|
},
|
||||||
|
lottie: {
|
||||||
|
width: 540,
|
||||||
|
height: 300
|
||||||
|
},
|
||||||
|
});
|
|
@ -252,7 +252,7 @@ export default class OptionsMenu extends Component {
|
||||||
}
|
}
|
||||||
_renderItem = (item) => {
|
_renderItem = (item) => {
|
||||||
if (item === "creditrequest" || item === 'historyItemDetails' || item === 'filter' || item === 'networks' || item === 'walletDetail' || item === 'walletDetailUser'
|
if (item === "creditrequest" || item === 'historyItemDetails' || item === 'filter' || item === 'networks' || item === 'walletDetail' || item === 'walletDetailUser'
|
||||||
|| item === 'walletDepot' || item === 'walletRetrait' || item === 'createIdentification' || item === 'walletOptionSelect') {
|
|| item === 'walletDepot' || item === 'walletRetrait' || item === 'createIdentification' || item === 'walletOptionSelect' || item === 'validateIdentification') {
|
||||||
return null
|
return null
|
||||||
} else {
|
} else {
|
||||||
const color = this.state.currentId === item.id ? theme.accent : "grey"
|
const color = this.state.currentId === item.id ? theme.accent : "grey"
|
||||||
|
|
|
@ -31,8 +31,9 @@ import 'moment/locale/en-nz'
|
||||||
import 'moment/locale/en-gb'
|
import 'moment/locale/en-gb'
|
||||||
import { connect } from 'react-redux';
|
import { connect } from 'react-redux';
|
||||||
import { bindActionCreators } from 'redux';
|
import { bindActionCreators } from 'redux';
|
||||||
import { thousandsSeparators, isEmptyObject, transactionHistoryUser, optionDepotUserScreen, optionDepotScreen, optionRetraitScreen, optionRetraitUserScreen, transactionHistoryLabel, isIlinkWorldWallet, cutString } from '../../utils/UtilsFunction';
|
import { thousandsSeparators, isEmptyObject, transactionHistoryUser, optionDepotUserScreen, optionDepotScreen, optionRetraitScreen, optionRetraitUserScreen, transactionHistoryLabel, isIlinkWorldWallet, cutString, optionIdentificationScreen } from '../../utils/UtilsFunction';
|
||||||
import DeviceInfo from 'react-native-device-info';
|
import DeviceInfo from 'react-native-device-info';
|
||||||
|
const thousands = require('thousands');
|
||||||
|
|
||||||
let route = require('./../../route.json');
|
let route = require('./../../route.json');
|
||||||
let slugify = require('slugify');
|
let slugify = require('slugify');
|
||||||
|
@ -333,7 +334,11 @@ class WalletDetail extends Component {
|
||||||
justifyContent: 'flex-end'
|
justifyContent: 'flex-end'
|
||||||
}}>
|
}}>
|
||||||
<Text style={[Typography.headline, Typography.semibold]} numberOfLines={1}>{wallet.network}</Text>
|
<Text style={[Typography.headline, Typography.semibold]} numberOfLines={1}>{wallet.network}</Text>
|
||||||
<Tag primary style={styles.tagFollow}
|
<View style={{ flexDirection: 'row' }}>
|
||||||
|
|
||||||
|
<Tag primary
|
||||||
|
icon={<Icon name='swap-horizontal' size={20} color={Color.whiteColor} style={{ marginLeft: 15 }} />}
|
||||||
|
style={{ paddingRight: 10, width: 120, borderTopRightRadius: 0, borderBottomRightRadius: 0, borderRightWidth: 1, borderRightColor: Color.whiteColor }}
|
||||||
onPress={() => {
|
onPress={() => {
|
||||||
const { result } = this.props;
|
const { result } = this.props;
|
||||||
|
|
||||||
|
@ -381,6 +386,16 @@ class WalletDetail extends Component {
|
||||||
}}>
|
}}>
|
||||||
{I18n.t('TRANSFER_TO_PRINCIPAL_ACCOUNT')}
|
{I18n.t('TRANSFER_TO_PRINCIPAL_ACCOUNT')}
|
||||||
</Tag>
|
</Tag>
|
||||||
|
<Tag icon={<Icon name='update' size={20} color={Color.whiteColor} style={{ marginLeft: -15 }} />}
|
||||||
|
style={{ width: 110, borderTopLeftRadius: 0, borderBottomLeftRadius: 0, }}
|
||||||
|
primary
|
||||||
|
onPress={() => {
|
||||||
|
this._scrollView.scrollToEnd();
|
||||||
|
}}>
|
||||||
|
{I18n.t('HISTORY')}
|
||||||
|
|
||||||
|
</Tag>
|
||||||
|
</View>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
<View style={styles.contentLeftItem}>
|
<View style={styles.contentLeftItem}>
|
||||||
|
@ -433,7 +448,7 @@ class WalletDetail extends Component {
|
||||||
<Text style={[Typography.title3, Color.primaryColor], { marginBottom: 3 }}>
|
<Text style={[Typography.title3, Color.primaryColor], { marginBottom: 3 }}>
|
||||||
{I18n.t('PRINCIPAL_ACCOUNT_TITLE')}
|
{I18n.t('PRINCIPAL_ACCOUNT_TITLE')}
|
||||||
</Text>
|
</Text>
|
||||||
<Text style={[Typography.body2]}>{thousandsSeparators(wallet.balance_princ)}</Text>
|
<Text style={[Typography.body2]}>{thousands(wallet.balance_princ, ' ')}</Text>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
|
@ -456,7 +471,7 @@ class WalletDetail extends Component {
|
||||||
<Text style={[Typography.title3, Color.primaryColor], { marginBottom: 3 }}>
|
<Text style={[Typography.title3, Color.primaryColor], { marginBottom: 3 }}>
|
||||||
{I18n.t('COMMISSION_ACCOUNT_TITLE')}
|
{I18n.t('COMMISSION_ACCOUNT_TITLE')}
|
||||||
</Text>
|
</Text>
|
||||||
<Text style={Typography.body2}>{thousandsSeparators(wallet.balance_com)}</Text>
|
<Text style={Typography.body2}>{thousands(wallet.balance_com, ' ')}</Text>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
|
@ -488,7 +503,8 @@ class WalletDetail extends Component {
|
||||||
height: 140 - this.state.scrollHeaderY,
|
height: 140 - this.state.scrollHeaderY,
|
||||||
}} />
|
}} />
|
||||||
|
|
||||||
<ScrollView style={{
|
<ScrollView ref={component => this._scrollView = component}
|
||||||
|
style={{
|
||||||
paddingHorizontal: 20, position: 'absolute',
|
paddingHorizontal: 20, position: 'absolute',
|
||||||
width: '100%',
|
width: '100%',
|
||||||
height: '100%',
|
height: '100%',
|
||||||
|
@ -532,6 +548,10 @@ class WalletDetail extends Component {
|
||||||
optionSelect: optionDepotScreen,
|
optionSelect: optionDepotScreen,
|
||||||
wallet,
|
wallet,
|
||||||
onGoBack: () => this.refresh(),
|
onGoBack: () => this.refresh(),
|
||||||
|
lottie: {
|
||||||
|
source: require("./../../datas/json/wallet_with_cash.json"),
|
||||||
|
loop: false
|
||||||
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
this.props.navigation.push(route.walletDepot, {
|
this.props.navigation.push(route.walletDepot, {
|
||||||
|
@ -573,6 +593,10 @@ class WalletDetail extends Component {
|
||||||
optionSelect: optionRetraitScreen,
|
optionSelect: optionRetraitScreen,
|
||||||
wallet,
|
wallet,
|
||||||
onGoBack: () => this.refresh(),
|
onGoBack: () => this.refresh(),
|
||||||
|
lottie: {
|
||||||
|
source: require("./../../datas/json/wallet_with_cash.json"),
|
||||||
|
loop: true
|
||||||
|
}
|
||||||
})
|
})
|
||||||
} else {
|
} else {
|
||||||
this.props.navigation.push(route.walletRetrait, {
|
this.props.navigation.push(route.walletRetrait, {
|
||||||
|
@ -632,7 +656,7 @@ class WalletDetail extends Component {
|
||||||
|
|
||||||
<View style={{ flex: 1 }}>
|
<View style={{ flex: 1 }}>
|
||||||
<Text style={[Typography.overline, Color.grayColor], { paddingVertical: 5 }} numberOfLines={5}>
|
<Text style={[Typography.overline, Color.grayColor], { paddingVertical: 5 }} numberOfLines={5}>
|
||||||
{I18n.t('WITHDRAWAL_DESCRIPTION')}
|
{I18n.t('NANO_CREDIT_DESCRIPTION')}
|
||||||
</Text>
|
</Text>
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
|
@ -659,7 +683,7 @@ class WalletDetail extends Component {
|
||||||
|
|
||||||
<View style={{ flex: 1 }}>
|
<View style={{ flex: 1 }}>
|
||||||
<Text numberOfLines={1} style={[Typography.overline, Color.grayColor], { paddingVertical: 5 }} numberOfLines={5}>
|
<Text numberOfLines={1} style={[Typography.overline, Color.grayColor], { paddingVertical: 5 }} numberOfLines={5}>
|
||||||
{I18n.t('VALIDATE_IDENTIFICATION_DESCRIPTION')}
|
{I18n.t('NANO_SANTE_DESCRIPTION')}
|
||||||
</Text>
|
</Text>
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
|
@ -698,50 +722,18 @@ class WalletDetail extends Component {
|
||||||
</TouchableOpacity>
|
</TouchableOpacity>
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
<View style={{ flex: 1 }}>
|
|
||||||
|
|
||||||
{/* <TouchableOpacity style={styles.contain}
|
|
||||||
onPress={() => { this.props.navigation.push(route.createIdentification) }}
|
|
||||||
activeOpacity={0.9}>
|
|
||||||
|
|
||||||
<Icon name='md-outline'
|
|
||||||
color={Color.primaryColor}
|
|
||||||
size={30}
|
|
||||||
style={styles.imageBanner} />
|
|
||||||
|
|
||||||
<View style={[styles.content]}>
|
|
||||||
|
|
||||||
<View style={styles.contentTitle}>
|
|
||||||
<Text style={[Typography.headline, Typography.semibold]}>
|
|
||||||
{I18n.t('NANO_CREDIT')}
|
|
||||||
</Text>
|
|
||||||
</View>
|
|
||||||
|
|
||||||
<View style={{ flex: 1 }}>
|
|
||||||
<Text style={[Typography.overline, Color.grayColor], { paddingVertical: 5 }} numberOfLines={5}>
|
|
||||||
{I18n.t('WITHDRAWAL_DESCRIPTION')}
|
|
||||||
</Text>
|
|
||||||
</View>
|
|
||||||
|
|
||||||
</View>
|
|
||||||
</TouchableOpacity> */}
|
|
||||||
</View>
|
|
||||||
</View>
|
|
||||||
|
|
||||||
|
|
||||||
<View style={[styles.checkDefault, { borderBottomColor: Color.borderColor }]}>
|
|
||||||
<Text
|
|
||||||
style={[Typography.title3, Typography.semibold]}>
|
|
||||||
{I18n.t('IDENTIFICATION')}
|
|
||||||
</Text>
|
|
||||||
</View>
|
|
||||||
|
|
||||||
<View style={styles.transactionContainer}>
|
|
||||||
|
|
||||||
<View style={[styles.containerTouch]}>
|
<View style={[styles.containerTouch]}>
|
||||||
|
|
||||||
<TouchableOpacity style={styles.contain}
|
<TouchableOpacity style={styles.contain}
|
||||||
onPress={() => { this.props.navigation.push(route.createIdentification) }}
|
onPress={() => {
|
||||||
|
this.props.navigation.push(route.walletOptionSelect, {
|
||||||
|
optionSelect: optionIdentificationScreen,
|
||||||
|
lottie: {
|
||||||
|
source: require("./../../datas/json/identification.json"),
|
||||||
|
loop: true
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}}
|
||||||
activeOpacity={0.9}>
|
activeOpacity={0.9}>
|
||||||
|
|
||||||
<Icon name='pencil-plus'
|
<Icon name='pencil-plus'
|
||||||
|
@ -753,13 +745,12 @@ class WalletDetail extends Component {
|
||||||
|
|
||||||
<View style={styles.contentTitle}>
|
<View style={styles.contentTitle}>
|
||||||
<Text style={[Typography.headline, Typography.semibold]}>
|
<Text style={[Typography.headline, Typography.semibold]}>
|
||||||
{I18n.t('CREATION_IDENTIFICATION')}
|
{I18n.t('CREATION_IDENTIFICATION_DESCRIPTION')}
|
||||||
</Text>
|
</Text>
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
<View style={{ flex: 1 }}>
|
<View style={{ flex: 1 }}>
|
||||||
<Text style={[Typography.overline, Color.grayColor], { paddingVertical: 5 }} numberOfLines={5}>
|
<Text style={[Typography.overline, Color.grayColor], { paddingVertical: 5 }} numberOfLines={5}>
|
||||||
{I18n.t('CREATION_IDENTIFICATION_DESCRIPTION')}
|
|
||||||
</Text>
|
</Text>
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
|
@ -767,33 +758,9 @@ class WalletDetail extends Component {
|
||||||
</TouchableOpacity>
|
</TouchableOpacity>
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
<View style={[styles.containerTouch]}>
|
|
||||||
<TouchableOpacity style={styles.contain}
|
|
||||||
onPress={() => { }}
|
|
||||||
activeOpacity={0.9}>
|
|
||||||
<Icon name='check-circle'
|
|
||||||
color={Color.primaryColor}
|
|
||||||
size={30}
|
|
||||||
style={styles.imageBanner} />
|
|
||||||
|
|
||||||
<View style={[styles.content]}>
|
|
||||||
|
|
||||||
<View style={styles.contentTitle}>
|
|
||||||
<Text style={[Typography.headline, Typography.semibold]}>
|
|
||||||
{I18n.t('VALIDATE_IDENTIFICATION')}
|
|
||||||
</Text>
|
|
||||||
</View>
|
|
||||||
|
|
||||||
<View style={{ flex: 1 }}>
|
|
||||||
<Text numberOfLines={1} style={[Typography.overline, Color.grayColor], { paddingVertical: 5 }} numberOfLines={5}>
|
|
||||||
{I18n.t('VALIDATE_IDENTIFICATION_DESCRIPTION')}
|
|
||||||
</Text>
|
|
||||||
</View>
|
|
||||||
|
|
||||||
</View>
|
</View>
|
||||||
</TouchableOpacity>
|
|
||||||
</View>
|
|
||||||
</View>
|
|
||||||
</>
|
</>
|
||||||
}
|
}
|
||||||
</>
|
</>
|
||||||
|
|
|
@ -33,7 +33,8 @@ import 'moment/locale/en-gb'
|
||||||
import { connect } from 'react-redux';
|
import { connect } from 'react-redux';
|
||||||
import { bindActionCreators } from 'redux';
|
import { bindActionCreators } from 'redux';
|
||||||
import { thousandsSeparators, isEmptyObject, transactionHistoryUser, optionDepotUserScreen, optionRetraitUserScreen, transactionHistoryLabel } from '../../utils/UtilsFunction';
|
import { thousandsSeparators, isEmptyObject, transactionHistoryUser, optionDepotUserScreen, optionRetraitUserScreen, transactionHistoryLabel } from '../../utils/UtilsFunction';
|
||||||
import DeviceInfo from 'react-native-device-info'
|
import DeviceInfo from 'react-native-device-info';
|
||||||
|
const thousands = require('thousands');
|
||||||
|
|
||||||
let route = require('./../../route.json');
|
let route = require('./../../route.json');
|
||||||
let slugify = require('slugify');
|
let slugify = require('slugify');
|
||||||
|
@ -218,8 +219,11 @@ class WalletDetailUser extends Component {
|
||||||
justifyContent: 'flex-end'
|
justifyContent: 'flex-end'
|
||||||
}}>
|
}}>
|
||||||
<Text style={[Typography.headline, Typography.semibold]} numberOfLines={1}>{wallet.network}</Text>
|
<Text style={[Typography.headline, Typography.semibold]} numberOfLines={1}>{wallet.network}</Text>
|
||||||
<Tag primary style={styles.tagFollow}>
|
<Tag icon={<Icon name='update' size={20} color={Color.whiteColor} />} primary style={styles.tagFollow}
|
||||||
{I18n.t('CREATION_IDENTIFICATION_CLIENT')}
|
onPress={() => {
|
||||||
|
this._scrollView.scrollToEnd();
|
||||||
|
}}>
|
||||||
|
{I18n.t('TRANSACTION_HISTORY')}
|
||||||
</Tag>
|
</Tag>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
|
@ -273,7 +277,7 @@ class WalletDetailUser extends Component {
|
||||||
<Text style={[Typography.title3, Color.primaryColor], { marginBottom: 3 }}>
|
<Text style={[Typography.title3, Color.primaryColor], { marginBottom: 3 }}>
|
||||||
{I18n.t('PRINCIPAL_ACCOUNT_TITLE')}
|
{I18n.t('PRINCIPAL_ACCOUNT_TITLE')}
|
||||||
</Text>
|
</Text>
|
||||||
<Text style={[Typography.body2]}>{thousandsSeparators(wallet.balance)}</Text>
|
<Text style={[Typography.body2]}>{thousands(wallet.balance, ' ')}</Text>
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
|
@ -320,7 +324,8 @@ class WalletDetailUser extends Component {
|
||||||
height: 140 - this.state.scrollHeaderY,
|
height: 140 - this.state.scrollHeaderY,
|
||||||
}} />
|
}} />
|
||||||
|
|
||||||
<ScrollView style={{
|
<ScrollView ref={component => this._scrollView = component}
|
||||||
|
style={{
|
||||||
paddingHorizontal: 20, position: 'absolute',
|
paddingHorizontal: 20, position: 'absolute',
|
||||||
width: '100%',
|
width: '100%',
|
||||||
height: '100%',
|
height: '100%',
|
||||||
|
@ -358,7 +363,11 @@ class WalletDetailUser extends Component {
|
||||||
<TouchableOpacity style={styles.contain}
|
<TouchableOpacity style={styles.contain}
|
||||||
onPress={() => {
|
onPress={() => {
|
||||||
this.props.navigation.push(route.walletOptionSelect, {
|
this.props.navigation.push(route.walletOptionSelect, {
|
||||||
optionSelect: optionDepotUserScreen
|
optionSelect: optionDepotUserScreen,
|
||||||
|
lottie: {
|
||||||
|
source: require("./../../datas/json/wallet_with_cash.json"),
|
||||||
|
loop: false
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}}
|
}}
|
||||||
activeOpacity={0.9}>
|
activeOpacity={0.9}>
|
||||||
|
@ -390,7 +399,11 @@ class WalletDetailUser extends Component {
|
||||||
<TouchableOpacity style={styles.contain}
|
<TouchableOpacity style={styles.contain}
|
||||||
onPress={() => {
|
onPress={() => {
|
||||||
this.props.navigation.push(route.walletOptionSelect, {
|
this.props.navigation.push(route.walletOptionSelect, {
|
||||||
optionSelect: optionRetraitUserScreen
|
optionSelect: optionRetraitUserScreen,
|
||||||
|
lottie: {
|
||||||
|
source: require("./../../datas/json/wallet_with_cash.json"),
|
||||||
|
loop: true
|
||||||
|
}
|
||||||
})
|
})
|
||||||
}}
|
}}
|
||||||
activeOpacity={0.9}>
|
activeOpacity={0.9}>
|
||||||
|
@ -442,7 +455,7 @@ class WalletDetailUser extends Component {
|
||||||
|
|
||||||
<View style={{ flex: 1 }}>
|
<View style={{ flex: 1 }}>
|
||||||
<Text style={[Typography.overline, Color.grayColor], { paddingVertical: 5 }} numberOfLines={5}>
|
<Text style={[Typography.overline, Color.grayColor], { paddingVertical: 5 }} numberOfLines={5}>
|
||||||
{I18n.t('WITHDRAWAL_DESCRIPTION')}
|
|
||||||
</Text>
|
</Text>
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
|
@ -469,7 +482,7 @@ class WalletDetailUser extends Component {
|
||||||
|
|
||||||
<View style={{ flex: 1 }}>
|
<View style={{ flex: 1 }}>
|
||||||
<Text numberOfLines={1} style={[Typography.overline, Color.grayColor], { paddingVertical: 5 }} numberOfLines={5}>
|
<Text numberOfLines={1} style={[Typography.overline, Color.grayColor], { paddingVertical: 5 }} numberOfLines={5}>
|
||||||
{I18n.t('VALIDATE_IDENTIFICATION_DESCRIPTION')}
|
{I18n.t('NANO_SANTE_DESCRIPTION')}
|
||||||
</Text>
|
</Text>
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
|
@ -508,13 +521,16 @@ class WalletDetailUser extends Component {
|
||||||
</TouchableOpacity>
|
</TouchableOpacity>
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
<View style={{ flex: 1 }}>
|
|
||||||
|
|
||||||
{/* <TouchableOpacity style={styles.contain}
|
<View style={[styles.containerTouch]}>
|
||||||
onPress={() => { this.props.navigation.push(route.createIdentification) }}
|
|
||||||
|
<TouchableOpacity style={styles.contain}
|
||||||
|
onPress={() => {
|
||||||
|
this.props.navigation.push(route.createIdentification)
|
||||||
|
}}
|
||||||
activeOpacity={0.9}>
|
activeOpacity={0.9}>
|
||||||
|
|
||||||
<Icon name='md-outline'
|
<Icon name='pencil-plus'
|
||||||
color={Color.primaryColor}
|
color={Color.primaryColor}
|
||||||
size={30}
|
size={30}
|
||||||
style={styles.imageBanner} />
|
style={styles.imageBanner} />
|
||||||
|
@ -523,19 +539,17 @@ class WalletDetailUser extends Component {
|
||||||
|
|
||||||
<View style={styles.contentTitle}>
|
<View style={styles.contentTitle}>
|
||||||
<Text style={[Typography.headline, Typography.semibold]}>
|
<Text style={[Typography.headline, Typography.semibold]}>
|
||||||
{I18n.t('NANO_CREDIT')}
|
{I18n.t('CREATION_IDENTIFICATION_DESCRIPTION')}
|
||||||
</Text>
|
</Text>
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
<View style={{ flex: 1 }}>
|
<View style={{ flex: 1 }}>
|
||||||
<Text style={[Typography.overline, Color.grayColor], { paddingVertical: 5 }} numberOfLines={5}>
|
<Text style={[Typography.overline, Color.grayColor], { paddingVertical: 5 }} numberOfLines={5}>
|
||||||
{I18n.t('WITHDRAWAL_DESCRIPTION')}
|
|
||||||
</Text>
|
</Text>
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
</View>
|
</View>
|
||||||
</TouchableOpacity>
|
</TouchableOpacity>
|
||||||
*/}
|
|
||||||
</View>
|
</View>
|
||||||
</View>
|
</View>
|
||||||
</>
|
</>
|
||||||
|
|
|
@ -25,7 +25,8 @@ export default class WalletOptionSelect extends Component {
|
||||||
options: this.props.navigation.state.params.optionSelect.options,
|
options: this.props.navigation.state.params.optionSelect.options,
|
||||||
title: this.props.navigation.state.params.optionSelect.title,
|
title: this.props.navigation.state.params.optionSelect.title,
|
||||||
subTitle: this.props.navigation.state.params.optionSelect.subTitle,
|
subTitle: this.props.navigation.state.params.optionSelect.subTitle,
|
||||||
hasWallet: this.props.navigation.state.params.hasOwnProperty('wallet')
|
hasWallet: this.props.navigation.state.params.hasOwnProperty('wallet'),
|
||||||
|
lottie: this.props.navigation.state.params.lottie
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -53,7 +54,7 @@ export default class WalletOptionSelect extends Component {
|
||||||
|
|
||||||
<TouchableOpacity style={styles.contain}
|
<TouchableOpacity style={styles.contain}
|
||||||
onPress={() => {
|
onPress={() => {
|
||||||
/* this.props.navigation.push(options.screen) */
|
this.props.navigation.push(options.screen)
|
||||||
}}
|
}}
|
||||||
activeOpacity={0.9}>
|
activeOpacity={0.9}>
|
||||||
|
|
||||||
|
@ -80,7 +81,7 @@ export default class WalletOptionSelect extends Component {
|
||||||
|
|
||||||
<TouchableOpacity style={styles.contain}
|
<TouchableOpacity style={styles.contain}
|
||||||
onPress={() => {
|
onPress={() => {
|
||||||
/* this.props.navigation.push(options.screen) */
|
this.props.navigation.push(options.screen)
|
||||||
}}
|
}}
|
||||||
activeOpacity={0.9}>
|
activeOpacity={0.9}>
|
||||||
|
|
||||||
|
@ -140,9 +141,9 @@ export default class WalletOptionSelect extends Component {
|
||||||
}}>
|
}}>
|
||||||
<LottieView
|
<LottieView
|
||||||
style={styles.lottie}
|
style={styles.lottie}
|
||||||
source={require("./../../datas/json/wallet_with_cash.json")}
|
source={this.state.lottie.source}
|
||||||
autoPlay
|
autoPlay
|
||||||
loop={false}
|
loop={this.state.lottie.loop}
|
||||||
/>
|
/>
|
||||||
</View>
|
</View>
|
||||||
|
|
||||||
|
|
|
@ -190,3 +190,20 @@ export const optionDepotUserScreen = {
|
||||||
},
|
},
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const optionIdentificationScreen = {
|
||||||
|
title: I18n.t('IDENTIFICATION'),
|
||||||
|
subTitle: I18n.t('CHOOSE_OPTION'),
|
||||||
|
options: [
|
||||||
|
{
|
||||||
|
screen: route.createIdentification,
|
||||||
|
icon: 'pencil-plus',
|
||||||
|
title: I18n.t('CREATION_IDENTIFICATION_DESCRIPTION'),
|
||||||
|
},
|
||||||
|
{
|
||||||
|
screen: route.validateIdentification,
|
||||||
|
icon: 'check-circle',
|
||||||
|
title: I18n.t('VALIDATE_IDENTIFICATION'),
|
||||||
|
},
|
||||||
|
]
|
||||||
|
}
|
|
@ -71,11 +71,13 @@
|
||||||
"DEPOSIT_CASH_TO_VISA": "Cash to visa card",
|
"DEPOSIT_CASH_TO_VISA": "Cash to visa card",
|
||||||
"DEPOSIT_CASH_TO_BANK": "Cash to bank",
|
"DEPOSIT_CASH_TO_BANK": "Cash to bank",
|
||||||
"DEPOSIT_WALLET_TO_WALLET": "Wallet to wallet",
|
"DEPOSIT_WALLET_TO_WALLET": "Wallet to wallet",
|
||||||
"DEPOSIT_TO_CASH": "Deposit to cash",
|
"DEPOSIT_TO_CASH": "Wallet to cash",
|
||||||
"DEPOSIT_TO_CARD": "Deposit to card",
|
"DEPOSIT_TO_CARD": "Wallet to card",
|
||||||
"DEPOSIT_TO_BANK": "Deposit to bank",
|
"DEPOSIT_TO_BANK": "Wallet to bank",
|
||||||
"NANO_CREDIT": "Nano credit",
|
"NANO_CREDIT": "Nano credit",
|
||||||
|
"NANO_CREDIT_DESCRIPTION": "Nano credit description",
|
||||||
"NANO_SANTE": "Nano health",
|
"NANO_SANTE": "Nano health",
|
||||||
|
"NANO_SANTE_DESCRIPTION": "Nano health description",
|
||||||
"PAIEMENT_FACTURE": "Bill payment",
|
"PAIEMENT_FACTURE": "Bill payment",
|
||||||
"DEMAND_SEND": "Demand send",
|
"DEMAND_SEND": "Demand send",
|
||||||
"WITHDRAWAL_DESCRIPTION": "Make a withdrawal",
|
"WITHDRAWAL_DESCRIPTION": "Make a withdrawal",
|
||||||
|
@ -94,6 +96,7 @@
|
||||||
"SELECT_YOUR_WALLET": "Select your wallet",
|
"SELECT_YOUR_WALLET": "Select your wallet",
|
||||||
"TRANSACTIONS": "Transactions",
|
"TRANSACTIONS": "Transactions",
|
||||||
"TRANSACTION_HISTORY": "Transactions history",
|
"TRANSACTION_HISTORY": "Transactions history",
|
||||||
|
"HISTORY": "History",
|
||||||
"DEPOSIT_TRANSACTION_HISTORY_DESCRIPTION": "Deposit of",
|
"DEPOSIT_TRANSACTION_HISTORY_DESCRIPTION": "Deposit of",
|
||||||
"NO_WALLET_HISTORY": "No transaction",
|
"NO_WALLET_HISTORY": "No transaction",
|
||||||
"WITHDRAWAL_TRANSACTION_HISTORY_DESCRIPTION": "Withdrawal of",
|
"WITHDRAWAL_TRANSACTION_HISTORY_DESCRIPTION": "Withdrawal of",
|
||||||
|
@ -141,6 +144,7 @@
|
||||||
"CHOICE_TOWN": "Choose a town",
|
"CHOICE_TOWN": "Choose a town",
|
||||||
"PIECE_IDENTITE": "Identity piece",
|
"PIECE_IDENTITE": "Identity piece",
|
||||||
"IDENTITY_CARD": "Identity card",
|
"IDENTITY_CARD": "Identity card",
|
||||||
|
"NUMERO_IDENTITE": "Identity number",
|
||||||
"PASSEPORT": "Passeport",
|
"PASSEPORT": "Passeport",
|
||||||
"OTHER_IDENTITY_PIECE": "Other",
|
"OTHER_IDENTITY_PIECE": "Other",
|
||||||
"IDENTITY_NUMBER": "N° of piece",
|
"IDENTITY_NUMBER": "N° of piece",
|
||||||
|
|
|
@ -76,11 +76,13 @@
|
||||||
"DEPOSIT_CASH_TO_VISA": "Cash vers carte visa",
|
"DEPOSIT_CASH_TO_VISA": "Cash vers carte visa",
|
||||||
"DEPOSIT_CASH_TO_BANK": "Cash vers banque",
|
"DEPOSIT_CASH_TO_BANK": "Cash vers banque",
|
||||||
"DEPOSIT_WALLET_TO_WALLET": "Wallet vers wallet",
|
"DEPOSIT_WALLET_TO_WALLET": "Wallet vers wallet",
|
||||||
"DEPOSIT_TO_CASH": "Dépôt vers cash",
|
"DEPOSIT_TO_CASH": "Wallet vers cash",
|
||||||
"DEPOSIT_TO_CARD": "Dépôt vers carte",
|
"DEPOSIT_TO_CARD": "Wallet vers carte",
|
||||||
"DEPOSIT_TO_BANK": "Dépôt vers banque",
|
"DEPOSIT_TO_BANK": "Wallet vers banque",
|
||||||
"NANO_CREDIT": "Nano crédit",
|
"NANO_CREDIT": "Nano crédit",
|
||||||
|
"NANO_CREDIT_DESCRIPTION": "Nano crédit iLink",
|
||||||
"NANO_SANTE": "Nano santé",
|
"NANO_SANTE": "Nano santé",
|
||||||
|
"NANO_SANTE_DESCRIPTION": "Nano santé iLink",
|
||||||
"PAIEMENT_FACTURE": "Paiement de facture",
|
"PAIEMENT_FACTURE": "Paiement de facture",
|
||||||
"WITHDRAWAL_DESCRIPTION": "Effectuer un retrait",
|
"WITHDRAWAL_DESCRIPTION": "Effectuer un retrait",
|
||||||
"COMMISSION_ACCOUNT_TITLE": "Cpt. commission",
|
"COMMISSION_ACCOUNT_TITLE": "Cpt. commission",
|
||||||
|
@ -92,12 +94,13 @@
|
||||||
"COMMISSION_TRANSFER_ERROR_EMPTY": "Le solde commission est vide",
|
"COMMISSION_TRANSFER_ERROR_EMPTY": "Le solde commission est vide",
|
||||||
"TRANSACTIONS": "Transactions",
|
"TRANSACTIONS": "Transactions",
|
||||||
"TRANSACTION_HISTORY": "Historique des transactions",
|
"TRANSACTION_HISTORY": "Historique des transactions",
|
||||||
|
"HISTORY": "Historique",
|
||||||
"WITHDRAWAL_TRANSACTION_HISTORY_DESCRIPTION": "Retrait de",
|
"WITHDRAWAL_TRANSACTION_HISTORY_DESCRIPTION": "Retrait de",
|
||||||
"DEPOSIT_TRANSACTION_HISTORY_DESCRIPTION": "Dépôt de",
|
"DEPOSIT_TRANSACTION_HISTORY_DESCRIPTION": "Dépôt de",
|
||||||
"NO_WALLET_HISTORY": "Aucune transaction à ce jour",
|
"NO_WALLET_HISTORY": "Aucune transaction à ce jour",
|
||||||
"DEMAND_SEND": "Demande envoyé",
|
"DEMAND_SEND": "Demande envoyé",
|
||||||
"NO_WALLET_ACTIVED": "Aucun wallet n'est activé pour votre compte",
|
"NO_WALLET_ACTIVED": "Aucun wallet n'est activé pour votre compte",
|
||||||
"TRANSFER_TO_PRINCIPAL_ACCOUNT": "Transférer les commissions",
|
"TRANSFER_TO_PRINCIPAL_ACCOUNT": "Transférer commissions",
|
||||||
"PRINCIPAL": "Principal",
|
"PRINCIPAL": "Principal",
|
||||||
"CREATION_DATE": "Date de création",
|
"CREATION_DATE": "Date de création",
|
||||||
"ENTER_YOUR_CARD_ID": "Entrer vos identifiants bancaires",
|
"ENTER_YOUR_CARD_ID": "Entrer vos identifiants bancaires",
|
||||||
|
@ -146,6 +149,7 @@
|
||||||
"CHOICE_TOWN": "Choisissez une ville",
|
"CHOICE_TOWN": "Choisissez une ville",
|
||||||
"PIECE_IDENTITE": "Pièce d'identité",
|
"PIECE_IDENTITE": "Pièce d'identité",
|
||||||
"IDENTITY_CARD": "Carte d'identité",
|
"IDENTITY_CARD": "Carte d'identité",
|
||||||
|
"NUMERO_IDENTITE": "Numéro d'identité",
|
||||||
"PASSEPORT": "Passeport",
|
"PASSEPORT": "Passeport",
|
||||||
"OTHER_IDENTITY_PIECE": "Autre",
|
"OTHER_IDENTITY_PIECE": "Autre",
|
||||||
"IDENTITY_NUMBER": "N° de la pièce",
|
"IDENTITY_NUMBER": "N° de la pièce",
|
||||||
|
@ -295,7 +299,7 @@
|
||||||
"CREATION_IDENTIFICATION_CLIENT": "M'identifier",
|
"CREATION_IDENTIFICATION_CLIENT": "M'identifier",
|
||||||
"CREATION_IDENTIFICATION_DESCRIPTION": "Identifier un client",
|
"CREATION_IDENTIFICATION_DESCRIPTION": "Identifier un client",
|
||||||
"VALIDATE_IDENTIFICATION": "Validation",
|
"VALIDATE_IDENTIFICATION": "Validation",
|
||||||
"VALIDATE_IDENTIFICATION_DESCRIPTION": "Valider une identi...",
|
"VALIDATE_IDENTIFICATION_DESCRIPTION": "Valider une identification",
|
||||||
"CREATE_IDENTIFICATION_TITLE": "Veuillez renseigner les informations du client",
|
"CREATE_IDENTIFICATION_TITLE": "Veuillez renseigner les informations du client",
|
||||||
"DATE_NAISSANCE": "Date de naissance",
|
"DATE_NAISSANCE": "Date de naissance",
|
||||||
"REGISTER_YOURSELF": "Enregistrez-vous",
|
"REGISTER_YOURSELF": "Enregistrez-vous",
|
||||||
|
|
12
yarn.lock
12
yarn.lock
|
@ -978,6 +978,13 @@
|
||||||
wcwidth "^1.0.1"
|
wcwidth "^1.0.1"
|
||||||
ws "^1.1.0"
|
ws "^1.1.0"
|
||||||
|
|
||||||
|
"@react-native-community/datetimepicker@^2.4.0":
|
||||||
|
version "2.4.0"
|
||||||
|
resolved "https://registry.yarnpkg.com/@react-native-community/datetimepicker/-/datetimepicker-2.4.0.tgz#6b3cf050f507f9b70d31d5a572e1153bb5bd50c9"
|
||||||
|
integrity sha512-ZXPwNAQt4T66PTL20l2nSEbtsn6vtsvFqdYWBfx8aaNKBoCPDygR6SsYzWcIoexKH5wmX0zctSzIsryl+Gtngg==
|
||||||
|
dependencies:
|
||||||
|
invariant "^2.2.4"
|
||||||
|
|
||||||
"@react-native-community/geolocation@^1.4.2":
|
"@react-native-community/geolocation@^1.4.2":
|
||||||
version "1.4.2"
|
version "1.4.2"
|
||||||
resolved "https://registry.yarnpkg.com/@react-native-community/geolocation/-/geolocation-1.4.2.tgz#7228c6d37c2f55017af9c49c2b9ad586d9bcb9f8"
|
resolved "https://registry.yarnpkg.com/@react-native-community/geolocation/-/geolocation-1.4.2.tgz#7228c6d37c2f55017af9c49c2b9ad586d9bcb9f8"
|
||||||
|
@ -7922,6 +7929,11 @@ then-request@^2.0.1:
|
||||||
promise "^7.1.1"
|
promise "^7.1.1"
|
||||||
qs "^6.1.0"
|
qs "^6.1.0"
|
||||||
|
|
||||||
|
thousands@^1.0.1:
|
||||||
|
version "1.0.1"
|
||||||
|
resolved "https://registry.yarnpkg.com/thousands/-/thousands-1.0.1.tgz#59eb5b6d179ab20a42d9d1bdd05c2ca07fbc2d94"
|
||||||
|
integrity sha1-WetbbReasgpC2dG90FwsoH+8LZQ=
|
||||||
|
|
||||||
throat@^4.0.0, throat@^4.1.0:
|
throat@^4.0.0, throat@^4.1.0:
|
||||||
version "4.1.0"
|
version "4.1.0"
|
||||||
resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a"
|
resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a"
|
||||||
|
|
Loading…
Reference in New Issue