587 lines
18 KiB
JavaScript
587 lines
18 KiB
JavaScript
import I18n from 'react-native-i18n';
|
|
import isEqual from 'lodash/isEqual';
|
|
import Toast from 'react-native-root-toast';
|
|
import { Color } from '../config/Color';
|
|
let slugify = require('slugify');
|
|
let route = require('./../route.json');
|
|
|
|
export const thousandsSeparators = (num) => {
|
|
var num_parts = num.toString().split(".");
|
|
num_parts[0] = num_parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, " ");
|
|
return num_parts.join(".");
|
|
}
|
|
|
|
export const cutString = (word, max) => {
|
|
|
|
return word === null ? ' ' : `${word.slice(0, max)}...`;
|
|
}
|
|
export const cutStringWithoutDot = (word, max) => {
|
|
|
|
return word === null ? ' ' : `${word.slice(0, max)}`;
|
|
}
|
|
|
|
export const isNormalInteger = (str) => {
|
|
if (/[ `!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?~]/.test(str))
|
|
return false;
|
|
else
|
|
return true;
|
|
}
|
|
|
|
export const displayToast = (message) => {
|
|
Toast.show(message, {
|
|
duration: Toast.durations.SHORT,
|
|
position: Toast.positions.BOTTOM,
|
|
backgroundColor: Color.primaryColor,
|
|
shadow: true,
|
|
animation: true,
|
|
hideOnPress: true,
|
|
delay: 0,
|
|
onShow: () => {
|
|
// calls on toast\`s appear animation start
|
|
},
|
|
onShown: () => {
|
|
// calls on toast\`s appear animation end.
|
|
},
|
|
onHide: () => {
|
|
// calls on toast\`s hide animation start.
|
|
},
|
|
onHidden: () => {
|
|
// calls on toast\`s hide animation end.
|
|
}
|
|
});
|
|
}
|
|
|
|
export const isIlinkWorldWallet = (walletName) => {
|
|
return isEqual(walletName, 'ilink');
|
|
}
|
|
|
|
|
|
export const isEmptyObject = (obj) => {
|
|
for (let prop in obj) {
|
|
if (obj.hasOwnProperty(prop)) {
|
|
return false;
|
|
}
|
|
}
|
|
|
|
return JSON.stringify(obj) === JSON.stringify({});
|
|
}
|
|
|
|
export const identityPieces = () => {
|
|
return [
|
|
{
|
|
name: I18n.t('IDENTITY_CARD')
|
|
},
|
|
{
|
|
name: I18n.t('PASSEPORT')
|
|
},
|
|
{
|
|
name: I18n.t('OTHER_IDENTITY_PIECE')
|
|
},
|
|
]
|
|
}
|
|
|
|
export const typeIdIDestinataire = () => {
|
|
return [
|
|
{
|
|
name: I18n.t('PHONE')
|
|
},
|
|
{
|
|
name: I18n.t('CODE_WALLET')
|
|
}
|
|
]
|
|
}
|
|
|
|
export const paysDestinationData = () => {
|
|
return [
|
|
{
|
|
name: 'Cameroun'
|
|
},
|
|
{
|
|
name: 'Gabon'
|
|
},
|
|
{
|
|
name: 'Congo'
|
|
},
|
|
{
|
|
name: 'Sénégal'
|
|
},
|
|
{
|
|
name: 'Côte d\'Ivoire'
|
|
},
|
|
]
|
|
}
|
|
|
|
export const walletActifData = () => {
|
|
return [
|
|
{
|
|
name: 'UBA'
|
|
},
|
|
{
|
|
name: 'SOGO'
|
|
},
|
|
{
|
|
name: 'Small World'
|
|
},
|
|
{
|
|
name: 'UBA fs iLink'
|
|
},
|
|
{
|
|
name: 'iLink World'
|
|
},
|
|
]
|
|
}
|
|
|
|
export const inputCardSource = () => [
|
|
{
|
|
name: I18n.t('NUMERO_DE_SERIE'),
|
|
value: 'serial-number'
|
|
},
|
|
{
|
|
name: I18n.t('CREDIT_CARD'),
|
|
value: 'credit-card'
|
|
},
|
|
]
|
|
|
|
export const transactionHistoryLabel = () => {
|
|
return [
|
|
/* {
|
|
icon: 'arrow-expand',
|
|
label: 'Type'
|
|
}, */
|
|
{
|
|
icon: 'inbox-arrow-up',
|
|
label: 'Source'
|
|
},
|
|
{
|
|
icon: 'cash',
|
|
label: I18n.t('AMOUNT_LABEL')
|
|
},
|
|
{
|
|
icon: 'account-arrow-right',
|
|
label: I18n.t('DESTINATAIRE')
|
|
},
|
|
{
|
|
icon: 'calendar-clock',
|
|
label: 'Date'
|
|
},
|
|
]
|
|
}
|
|
export const transactionHistoryIlinkLabel = () => {
|
|
return [
|
|
/*{
|
|
icon: 'arrow-expand',
|
|
label: 'Type'
|
|
},
|
|
{
|
|
icon: 'inbox-arrow-up',
|
|
label: 'Source'
|
|
}, */
|
|
{
|
|
icon: 'cash',
|
|
label: I18n.t('AMOUNT_LABEL')
|
|
},
|
|
{
|
|
icon: 'account-arrow-right',
|
|
label: I18n.t('DESTINATAIRE')
|
|
},
|
|
{
|
|
icon: 'calendar-clock',
|
|
label: 'Date'
|
|
},
|
|
]
|
|
}
|
|
|
|
export const transactionHistoryUser = () => {
|
|
return [
|
|
{
|
|
type: 'depot',
|
|
source: 'wallet',
|
|
montant: 10000,
|
|
destinataire: 'John Doe',
|
|
date: '2020-05-15',
|
|
},
|
|
{
|
|
type: 'retrait',
|
|
source: 'wallet',
|
|
montant: 10000,
|
|
destinataire: 'John Doe',
|
|
date: '2020-05-15',
|
|
},
|
|
];
|
|
}
|
|
|
|
export const optionWalletToBank = {
|
|
title: I18n.t('DEPOSIT_TO_BANK'),
|
|
subTitle: I18n.t('CHOOSE_OPERATOR'),
|
|
options: [
|
|
{
|
|
type: 'WALLET_TO_BANK_USER',
|
|
screen: route.envoieWalletToBankUser,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Banque numéro 1',
|
|
},
|
|
{
|
|
type: 'WALLET_TO_BANK_USER',
|
|
screen: route.envoieWalletToBankUser,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Banque numéro 2',
|
|
},
|
|
{
|
|
type: 'WALLET_TO_BANK_USER',
|
|
screen: route.envoieWalletToBankUser,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Banque numéro 3',
|
|
},
|
|
{
|
|
type: 'WALLET_TO_BANK_USER',
|
|
screen: route.envoieWalletToBankUser,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Banque numéro 4',
|
|
},
|
|
{
|
|
type: 'WALLET_TO_BANK_USER',
|
|
screen: route.envoieWalletToBankUser,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Banque numéro 5',
|
|
},
|
|
{
|
|
type: 'WALLET_TO_BANK_USER',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Banque numéro 6',
|
|
},
|
|
]
|
|
}
|
|
|
|
export const optionDepotScreen = {
|
|
type: 'DEPOT',
|
|
title: I18n.t('ENVOIE_ARGENT'),
|
|
subTitle: I18n.t('CHOOSE_OPTION'),
|
|
options: [
|
|
{
|
|
screen: route.envoieCashVersWalletAgent,
|
|
icon: 'wallet',
|
|
title: I18n.t('DEPOSIT_CASH_TO_WALLET'),
|
|
},
|
|
{
|
|
screen: route.envoieCashVersAutreWalletAgent,
|
|
icon: 'cash-refund',
|
|
title: I18n.t('DEPOSIT_CASH_TO_OTHER_WALLET'),
|
|
},
|
|
{
|
|
screen: route.envoieCashVersCarteAgent,
|
|
icon: 'credit-card',
|
|
title: I18n.t('DEPOSIT_CASH_TO_VISA'),
|
|
},
|
|
{
|
|
screen: route.envoiCashVersCashAgent,
|
|
icon: 'cash-multiple',
|
|
title: I18n.t('DEPOSIT_CASH_TO_CASH'),
|
|
},
|
|
{
|
|
screen: route.operateurOptionSelect,
|
|
icon: 'bank-transfer-in',
|
|
title: I18n.t('DEPOSIT_CASH_TO_BANK'),
|
|
subScreenOption: optionWalletToBank,
|
|
type: 'WALLET_TO_BANK',
|
|
},
|
|
]
|
|
}
|
|
|
|
export const optionRetraitScreen = {
|
|
type: 'RETRAIT',
|
|
title: I18n.t('RETRAIT_ARGENT'),
|
|
subTitle: I18n.t('CHOOSE_OPTION'),
|
|
options: [
|
|
{
|
|
screen: route.retraitEnCashAgent,
|
|
icon: 'cash',
|
|
title: I18n.t('WITHDRAWAL_IN_CASH'),
|
|
},
|
|
{
|
|
screen: route.retraitCarteVersCashAgent,
|
|
icon: 'credit-card',
|
|
title: I18n.t('WITHDRAWAL_CARD_TO_CASH_AGENT'),
|
|
},
|
|
]
|
|
}
|
|
|
|
export const optionRetraitUserScreen = {
|
|
type: 'RETRAIT_USER',
|
|
title: I18n.t('RETRAIT_ARGENT'),
|
|
subTitle: I18n.t('CHOOSE_OPTION'),
|
|
options: [
|
|
{
|
|
screen: route.retraitWalletVersCashUser,
|
|
icon: 'wallet',
|
|
title: I18n.t('WITHDRAWAL_WALLET_TO_CASH'),
|
|
},
|
|
{
|
|
screen: route.retraitCarteVersCashUser,
|
|
icon: 'credit-card-refund',
|
|
title: I18n.t('WITHDRAWAL_CARD_TO_CASH'),
|
|
},
|
|
{
|
|
screen: route.retraitCarteVersWalletUser,
|
|
icon: 'credit-card',
|
|
title: I18n.t('WITHDRAWAL_CARD_TO_WALLET'),
|
|
},
|
|
]
|
|
}
|
|
|
|
export const optionDepotUserScreen = {
|
|
type: 'DEPOT_USER',
|
|
title: I18n.t('ENVOIE_ARGENT'),
|
|
subTitle: I18n.t('CHOOSE_OPTION'),
|
|
options: [
|
|
{
|
|
screen: route.envoieWalletToWalletUser,
|
|
icon: 'wallet',
|
|
title: I18n.t('DEPOSIT_WALLET_TO_WALLET'),
|
|
},
|
|
{
|
|
screen: route.envoieWalletToCashUser,
|
|
icon: 'cash-refund',
|
|
title: I18n.t('DEPOSIT_TO_CASH'),
|
|
},
|
|
{
|
|
screen: route.envoieWalletToCardUser,
|
|
icon: 'credit-card',
|
|
title: I18n.t('DEPOSIT_TO_CARD'),
|
|
},
|
|
{
|
|
type: 'WALLET_TO_BANK',
|
|
screen: route.operateurOptionSelect,
|
|
icon: 'bank-transfer-in',
|
|
title: I18n.t('DEPOSIT_TO_BANK'),
|
|
subScreenOption: optionWalletToBank
|
|
},
|
|
]
|
|
}
|
|
|
|
export const optionIdentificationScreen = {
|
|
type: 'IDENTIFICATION',
|
|
title: I18n.t('IDENTIFICATION'),
|
|
subTitle: I18n.t('CHOOSE_OPTION'),
|
|
options: [
|
|
{
|
|
screen: route.createIdentification,
|
|
icon: 'pencil-plus',
|
|
title: I18n.t('CREATION_IDENTIFICATION_DESCRIPTION_SUBSCREEN'),
|
|
},
|
|
{
|
|
screen: route.validateIdentification,
|
|
icon: 'check-circle',
|
|
title: I18n.t('VALIDATE_IDENTIFICATION_DESCRIPTION'),
|
|
},
|
|
]
|
|
}
|
|
|
|
export const optionPaiementEauElectricite = {
|
|
title: I18n.t('PAIEMENT_FACTURE'),
|
|
subTitle: I18n.t('CHOOSE_OPERATOR'),
|
|
options: [
|
|
{
|
|
type: 'PAIEMENT_EAU_ELECTRICITE',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur eau-électricité 1',
|
|
},
|
|
{
|
|
type: 'PAIEMENT_EAU_ELECTRICITE',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur eau-électricité 2',
|
|
},
|
|
{
|
|
type: 'PAIEMENT_EAU_ELECTRICITE',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur eau-électricité 3',
|
|
},
|
|
{
|
|
type: 'PAIEMENT_EAU_ELECTRICITE',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur eau-électricité 4',
|
|
},
|
|
{
|
|
type: 'PAIEMENT_EAU_ELECTRICITE',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur eau-électricité 5',
|
|
},
|
|
{
|
|
type: 'PAIEMENT_EAU_ELECTRICITE',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur eau-électricité 6',
|
|
},
|
|
]
|
|
}
|
|
|
|
export const optionPaiementCreditTelephonique = {
|
|
title: I18n.t('PAIEMENT_FACTURE'),
|
|
subTitle: I18n.t('CHOOSE_OPERATOR'),
|
|
options: [
|
|
{
|
|
type: 'PAIEMENT_CREDIT_TELEPHONE',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur téléphonique 1',
|
|
},
|
|
{
|
|
type: 'PAIEMENT_CREDIT_TELEPHONE',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur téléphonique 2',
|
|
},
|
|
{
|
|
type: 'PAIEMENT_CREDIT_TELEPHONE',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur téléphonique 3',
|
|
},
|
|
{
|
|
type: 'PAIEMENT_CREDIT_TELEPHONE',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur téléphonique 4',
|
|
},
|
|
{
|
|
type: 'PAIEMENT_CREDIT_TELEPHONE',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur téléphonique 5',
|
|
},
|
|
{
|
|
type: 'PAIEMENT_CREDIT_TELEPHONE',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur téléphonique 6',
|
|
},
|
|
]
|
|
}
|
|
|
|
export const optionPaiementAbonnementTV = {
|
|
title: I18n.t('PAIEMENT_FACTURE'),
|
|
subTitle: I18n.t('CHOOSE_OPERATOR'),
|
|
options: [
|
|
{
|
|
type: 'PAIEMENT_ABONNEMENT_TV',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur abonnement TV 1',
|
|
},
|
|
{
|
|
type: 'PAIEMENT_ABONNEMENT_TV',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur abonnement TV 2',
|
|
},
|
|
{
|
|
type: 'PAIEMENT_ABONNEMENT_TV',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur abonnement TV 3',
|
|
},
|
|
{
|
|
type: 'PAIEMENT_ABONNEMENT_TV',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur abonnement TV 4',
|
|
},
|
|
{
|
|
type: 'PAIEMENT_ABONNEMENT_TV',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur abonnement TV 5',
|
|
},
|
|
{
|
|
type: 'PAIEMENT_ABONNEMENT_TV',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur abonnement TV 6',
|
|
},
|
|
]
|
|
}
|
|
|
|
export const optionPaiementEcole = {
|
|
title: I18n.t('PAIEMENT_FACTURE'),
|
|
subTitle: I18n.t('CHOOSE_OPERATOR'),
|
|
options: [
|
|
{
|
|
type: 'PAIEMENT_ECOLE',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur école 1',
|
|
},
|
|
{
|
|
type: 'PAIEMENT_ECOLE',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur école 2',
|
|
},
|
|
{
|
|
type: 'PAIEMENT_ECOLE',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur école 3',
|
|
},
|
|
{
|
|
type: 'PAIEMENT_ECOLE',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur école 4',
|
|
},
|
|
{
|
|
type: 'PAIEMENT_ECOLE',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur école 5',
|
|
},
|
|
{
|
|
type: 'PAIEMENT_ECOLE',
|
|
screen: route.paiementFacture,
|
|
icon: 'http://test.ilink-app.com:8080/mobilebackend/datas/img/network/ilink-world-logo.png',
|
|
title: 'Opérateur école 6',
|
|
},
|
|
]
|
|
}
|
|
|
|
export const optionPaiementFacture = {
|
|
type: 'FACTURE',
|
|
title: I18n.t('PAIEMENT_FACTURE'),
|
|
subTitle: I18n.t('CHOOSE_OPTION'),
|
|
options: [
|
|
{
|
|
type: 'FACTURE_WATER_ELECTRICITY',
|
|
icon: 'water',
|
|
title: 'Paiement eau/électricité',
|
|
screen: route.operateurOptionSelect,
|
|
subScreenOption: optionPaiementEauElectricite
|
|
},
|
|
{
|
|
type: 'FACTURE_SCHOOL',
|
|
icon: 'school',
|
|
title: 'Paiement école',
|
|
screen: route.operateurOptionSelect,
|
|
subScreenOption: optionPaiementEcole
|
|
},
|
|
{
|
|
type: 'FACTURE_PHONE',
|
|
icon: 'phone-classic',
|
|
title: 'Paiement crédit téléphonique',
|
|
screen: route.operateurOptionSelect,
|
|
subScreenOption: optionPaiementCreditTelephonique
|
|
},
|
|
{
|
|
type: 'FACTURE_TV',
|
|
icon: 'television-classic',
|
|
title: 'Paiement abonnement TV',
|
|
screen: route.operateurOptionSelect,
|
|
subScreenOption: optionPaiementAbonnementTV
|
|
},
|
|
]
|
|
}
|